网站文章不收录怎么办齐齐哈尔做网站公司

bicheng/2026/1/23 13:04:46/文章来源:
网站文章不收录怎么办,齐齐哈尔做网站公司,网站建设的整个过程,免费的百度网站怎么做Java进阶16 一、单元测试 单元测试就是针对最小的功能单元编写测试代码#xff0c;Java程序最小的功能单元是方法#xff0c;因此#xff0c;单原测试就是针对Java方法的测试#xff0c;进而检查方法的正确性。简单理解就是测试代码的工具。 1、Junit 1.1 Junit引入 目…Java进阶16 一、单元测试 单元测试就是针对最小的功能单元编写测试代码Java程序最小的功能单元是方法因此单原测试就是针对Java方法的测试进而检查方法的正确性。简单理解就是测试代码的工具。 1、Junit 1.1 Junit引入 目前测试代码只能在main方法中测试如果某个方法的测试失败其他方法测试会受到影响而Junit解决了这个问题。 1.2 Junit优点 JUnit可以灵活的选择执行哪些测试方法可以一键执行全部测试方法 单元测试中的某个方法测试失败了不影响其他方法的测试 运行成功是绿色运行失败是红色 1.3 Junit基本使用 步骤 ①手动导入jar包或在外部网络的情况下根据提示敲回车add Junit4 to classpath ②在需要测试的方法上加入Test注解 ③运行绿色正确)红色错误 注意 Junit测试的方法必须是public的且没有参数没有返回值 二、XML 1、XML引入 XML全称EXtensible Markup Language是一种可扩展的标记语言。【标记语言通过标签来描述数据的一门语言】【可扩展标签名可以自定义】xml文件可以为计算机程序配置参数和初始设置使用xml文件的好处是可以让项目中使用的数据灵活的加载和多变实现解耦。 2、分类 2.1 Properties文件 用于一对一的存储 键值对 usernameroot password123456 2.1 xml文件 常用于一对多存储 ?xml version1.0 encodingutf-8 ? students!--第一个学生信息--studentname张三/nameage23/age/student!--第二个学生信息--studentname李四/nameage24/age/student /students 3、优点 作为软件的配置文件 用于进行存储数据和传输数据其内部格式更便于传输数据 4、XML语法 4.1 语法规则 创建 创建一个XML类型的文件要求文件的后缀必须使用xml。如hello_world.xml 文档声明 文档声明必须是第一行第一列 ?xml version1.0 encodingUTF-8 ? version版本该属性是必须存在 encoding该属性不是必须的指定打开当前的xml文件应该用什么字符编码表一般都是UTF-8 standalone该属性不是必须的描述XML文件是否依赖其他的XML文件取值为yes/no 标签规则 必须存在一个根标签有且只能有一个 标签由一对尖括号和合法标识组成 标签必须成对出现 student/student 特殊的标签可以不成对但是必须有结束标记 address/ 标签中可以定义属性属性和标签名空格隔开属性值必须用引号引起来 studnet id1/studnet 标签需要正确的嵌套 !--这是正确的嵌套-- student id1 name张三/name /student!--这是错误的嵌套-- student id1name张三/student /name 细节 XML文件中可以定义注释信息 !--这是一条注释信息-- XML文件中可以存在以下特殊字符 lt       小于 gt       大于 amp     和号 apos   单引号 quot   引号 XML文件中可以存在CDATA区 ![CDATA[...内容...]] 4.2 Demo 需求编写一个城市对应区的xml文件【城市city区域area】 ?xml version1.0 encodingutf-8 ? cityscity name北京市area东城区/areaarea西城区/areaarea朝阳区/areaarea海淀区/areaarea昌平区/area/city /citys 5、XML约束了解 XML约束用来限定xml文件中可使用的标签以及属性约束文件以后不需要我们自己写了解即可。有DTD约束和Schema约束 5.1 DTD约束 ① 编写DTD约束 步骤 1.创建一个后缀名为.dtd的文件 2.看xml文件中使用了哪些元素!ELEMENT可以定义元素 3.判断元素是简单元素还是复杂元素 【简单元素】没有子元素 【复杂元素】有子元素的元素 代码实现 !--这是一个dtd文件 persondtd.dtd-- !ELEMENT persons (person) !ELEMENT person (name,age) !ELEMENT name (#PCDATA) !ELEMENT age (#PCDATA) ② 引入DTD约束 在xml文件内部直接引入 !DOCTYPE 根元素名称 [ dtd文件内容 ] ?xml version1.0 encodingUTF-8 ? !DOCTYPE persons [!ELEMENT persons (person)!ELEMENT person (name,age)!ELEMENT name (#PCDATA)!ELEMENT age (#PCDATA)] ​ personspersonname张三/nameage23/age/person ​ /persons 引入本地dtd !DOCTYPE 根元素名称 SYSTEM DTD文件的路径 !--在person1.xml文件中引入persondtd.dtd约束-- ?xml version1.0 encodingUTF-8 ? !DOCTYPE persons SYSTEM persondtd.dtd ​ personspersonname张三/nameage23/age/person ​ /persons 引入网络dtd !DOCTYPE 根元素的名称 PUBLIC DTD文件名称 DTD文档的URL ?xml version1.0 encodingUTF-8 ? !DOCTYPE persons PUBLIC dtd文件的名称 dtd文档的URL ​ personspersonname张三/nameage23/age/person ​ /persons 5.2 Schema约束 ①编写schema约束 步骤 1.创建一个文件这个文件的后缀名为.xsd 2.定义文档声明 3.schema文件的根标签为schema 4.在scheam中定义如下属性 xmlnshttp://www.w3.org/2001/XMLSchema targetNamespace 唯一的url地址指定当前这个schema文件的名称空间理解起个名字顺便打广告 elementFormDefaultqualified“表示当前schema文件是一个质量良好的文件 5.通过element定义元素 6.判断当前元素是简单元素还是复杂元素 代码实现 ?xml version1.0 encodingUTF-8 ? ​ schema xmlnshttp://www.w3.org/2001/XMLSchematargetNamespacehttp://www.itheima.comelementFormDefaultqualifiedelement namestudentscomplexTypesequenceelement namestudent maxOccursunboundedcomplexTypesequenceelement namename typestring/elementelement nameage typeint/element/sequenceattribute nameid userequired//complexType/element/sequence/complexType/element /schema ②引入schema约束 ?xml version1.0 encodingUTF-8 ? ​ !--这里xsi只是因为需要引入多个约束怕属性重名所以取的别名-- ​ ​ students xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlnshttp://www.itheima.comxsi:schemaLocationhttp://www.itheima.com students.xsdstudent id1name张三/nameage23/age/student ​student id2name李四/nameage24/age/student ​ /students 5.3 Schema和dtd的区别 schema约束文件也是一个xml文件符合xml的语法这个文件的后缀名.xsd。Schema文件用来约束一个xml文件同时它自己也被其他文件约束着 一个xml中可以引用多个schema约束文件多个schema使用名称空间区分名称空间类似于java包名 dtd里面元素类型的取值比较单一常见的是PCDATA类型但是在schema里面可以支持很多个数据类型 schema 语法更加的复杂 6、XML解析 解析方式有两种SAX解析和DOM解析 SAX解析DOM解析解析方式不会把整体的xml文件都加载到内存中而是从上往下逐行进行扫描会把整体的xml文件都加载到内存优点因为逐行解析无需将整体的xml文件都加载到内存所以可以解析较大的xml文件可以读取可以添加可以删除可以做任何事情缺点只能读取不能添加不能删除需要xml文件全部加载到内存所以不能解析非常大的xml文件 6.1 DOM解析 6.1.1 解析文档对象模型 6.1.2 常见解析工具 名称说明JAXPSUN公司提供的一套XML解析的APIJDOMJDOM是一个开源项目它基于树型结构利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作Dom4j是JDOM的升级品用来读写XML文件的。具有性能优异功能强大和极其易使用的特点它的性能超过sun公司官方的dom技术同时它也是一个开放源代码的软件Hibernate也用它来读写配置文件jsoup功能强大DOM方式的XML解析开发包尤其对HTML解析更加方便 6.1.3 准备动作 ①导入jar包 ②获取Document对象 SAXReader reader new SAXReader(); Document document reader.read(url); System.out.println(document); 6.1.4 方法 方法说明Element getRootElement()获取根元素对象 方法说明ListElement elements()得到当前元素下所有子元素ListElement elements(String name)得到当前元素下指定名字的子元素返回集合Element element(String name)得到当前元素下指定名字的子元素如果有很多名字相同的返回第一个String getName()得到元素名字String attributeValue(String name)通过属性名直接得到属性值String elementText(子元素名)得到指定名称的子元素的文本String getText()得到文本 6.1.5 Demo解析xml信息存入集合 public class ParseXml {public static void main(String[] args) throws DocumentException {//准备集合ArrayListStudent list new ArrayList();SAXReader reader new SAXReader();Document document reader.read(day16\\src\\com\\itheima\\xml\\students.xml);//1、获取根标签Element rootElement document.getRootElement();//2、获取根标签下的所有子标签ListElement elements rootElement.elements();//3、遍历集合for (Element element : elements) {//4、获取标签属性String id element.attributeValue(id);//5、获取name标签的值String name element.element(name).getText();//6、获取age标签的值String age element.element(age).getText();//7、封装为Student学生对象Student stu new Student(id,name,Integer.parseInt(age));//8、添加到集合list.add(stu);}list.forEach(System.out::println);} } 三、注解 Annotation标识注解是JDK1.5的新特性作用是对程序进行标注。其实可以对照注释理解注释是给人看的而注解是给编译器或虚拟机看的通过注解可以给类增加一些额外的信息让编译器或jvm可以根据注解来完成对应的功能 1、JDK常见注解 Override表示方法的重写 Deprecated表示修饰的方法已过时 SuppressWarinings(all)压制警告 除此之外还需要掌握第三方框架中提供的注解比如Junit中 Test表示运行测试方法 Before表示在Test之前运行进行初始化 After表示在Test之后运行进行收尾 2、自定义注解了解 自定义注解单独存在没有意义一般会跟反射结合起来使用 2.1 格式 public interface 注解名称 {public 属性类型 属性名 () default 默认值 ; } ​ public interface Anno {String show() default show... ; } 属性类型可以是基本数据类型、String、Class、注解、枚举、以及上述类型的一维数组 public interface MyAnno {public static final int num1 100;public static final String num2 abc;public static final MyAnno num3 null;public static final Class num4 String.class;public static final int[] num5 {}; ​public abstract String show1() default show1;public abstract int show2() default 132;public abstract MyAnno2 show3() default MyAnno2;public abstract Class show4() default String.class;public abstract int[] show5() default {1, 2, 3}; } public interface MyAnno {int num1 100;String num2 abc;MyAnno num3 null;Class num4 String.class;int[] num5 {}; ​String show1() default 123;int show2() default 132;MyAnno2 show3() default MyAnno2;Class show4() default String.class;int[] show5() default {1, 2, 3}; } 注意事项 在使用注解时如果注解的属性没有给出默认值需要手动给出如Anno(name张三) 如果数组中只有一个属性值在使用时{}是可以省略的 定义注解中如果有多个属性没有赋值使用时需要全部赋值 定义注解中如果只有一个属性名称为value没有赋值使用时直接给出值不需要写属性名。如Anno(要给value赋的值) 3、元注解了解 元注解就是描述注解的注解 元注解名说明Target指定了注解能在哪里使用Retention可以理解为保留时间生命周期 3.1 Target注解 用来标识注解使用的位置如果没有使用该注解标识则自定义的注解可以使用在任意位置可使用的值定义在ElementType枚举类中常用值如下 TYPE类接口 FIELD成员变量很少用 METHOD成员方法 PARAMETER方法参数 CONSTRUCTOR构造方法 LOCAL_VARIABLE局部变量 3.2 Retention注解 用来标识注解的生命周期有效范围可使用的值定义在RetentionPolicy枚举类中常用值如下 SOURCE注解只作用在源码阶段生成的字节码文件中不存在 CLASS注解作用在源码阶段字节码文件阶段运行阶段不存在默认值 RUNTIME注解作用在源码阶段字节码文件阶段运行阶段 4、案例自定义注解) 需求自定义一个注解MyAnno,用于指定类的方法上,如果某一个类的方法上使用了该注解,就执行该方法 实现步骤 1.自定义一个注解MyAnno并在类中的某几个方法上加注解 2.在测试类中获取注解所在的类的Class对象 3.获取类中所有的方法对象 4.遍历每一个方法对象判断是否有对应的注解 //自定义注解 Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface MyAnno { } //Test类 public class MethodTest {MyAnnopublic void show1(){System.out.println(show1...);} ​MyAnnopublic void show2(){System.out.println(show2...);} ​public void show3(){System.out.println(show3...);} } public class ReflectTest {/*简易的测试框架通过反射操作字节码对象执行需求的逻辑*/public static void main(String[] args) throws Exception{//1、通过反射获取字节码文件对象ClassMethodTest methodTestClass MethodTest.class;//2、创建对象MethodTest mt methodTestClass.getConstructor().newInstance(); ​//3、通过反射获取这个类里面所有的方法对象Method[] methods methodTestClass.getMethods();//4、遍历数组得到每一个方法对象for (Method method : methods) {//核心判断这个方法头上有没有注解if(method.isAnnotationPresent(MyAnno.class)){//执行方法method.invoke(mt);}}} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87495.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商网站后台怎么做温州市建设工程质量安全管理总站

今天,SuperSocket的作者发布了2.0版本的第一个预览版。SuperSocket 2.0 是一个经过全新设计的,第一个完全基于.NET Core的版本。作者正在积极尝试提供更简单易用的API的同时,尽量保证与老版本相似的原汁原味的开发体验。新的版本中亦删除了一…

官方网站域名备案自己免费做网站

今天(5月12日,西雅图)的Build大会上,Microsoft的Amanda Silver和Tim Sneath针对Visual Studio 2017未来将会提供的特性做了演讲。Microsoft所聚焦的一个领域是改进IDE对所有用户的无障碍访问,包括视力障碍者。 事实上…

富阳做兼职的网站朔州网站建设收费多少

Web组件概述 Web组件用于在应用程序中显示Web页面内容,为开发者提供页面加载、页面交互、页面调试等能力。 页面加载:Web组件提供基础的前端页面加载的能力,包括加载网络页面、本地页面、Html格式文本数据。页面交互:Web组件提供…

台州市城乡建设规划局网站高密 网站建设

前言 在历史课本上,对尧、舜、禹三代君王的描述是,他们在去世之前通过禅让制的方式把自己的王位禅让给了其他有贤明的能臣。 禅让制也是中国古代时期被无数的文人志士追捧的一个制度,因为他们觉得那个时代是公天下的时代。 可实际上自从人…

网站手机模板的特点科创纵横 网站建设

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

百度最容易收录的网站音乐资源网站开发

简介:对于大多数玩家来说,云游戏已经不是一个陌生的概念,它经常和秒玩、不吃设备、大屏临场感、上手门槛低、真香等字眼一起出现在评论留言区。的确,对于既想尝试高品质游戏大作又不想一直卷装备的玩家来说,云游戏做到…

宁夏建设厅网站首页小程序制作简单教程

前言 Dirty PageTable 是一种针对堆相关漏洞的利用手法,主要就是针对 PTE 进行攻击。 参考文章: Dirty Pagetable: A Novel Exploitation Technique To Rule Linux Kernel – 该利用方式提出原文 上述文章已经讲的非常清楚了,就是实操写 e…

做淘宝客网站一定要备案吗wordpress 获取分类id

Nmap 文章目录 Nmap端口扫描及其原理端口扫描用法Zenmap配置说明 Nmap 是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具官网为:www.nmap.org。 一般情况下,Nmap用于列举网…

网站设计好不好wordpress首页地址

ulimit命令 ulimit 命令用于查看和设置 shell 运行时的资源限制。它可以控制各种资源,如文件打开数量、堆栈大小、CPU 时间等。ulimit 命令通常用于限制 shell 启动的进程的资源使用量,以防止系统资源被耗尽。ulimit命令的主要作用是提高系统的性能和稳…

郑州网站建设行情加强信息管理 维护网站建设

说明 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把…

久久建筑网如何注销廊坊优化软件

【C】郭老二博文之:C目录 1、Poco::Process 进程 1.1 说明 Poco::Process的功能: 获取有关当前进程的一些信息开始一个新的进程终止另一个进程 1.2 用法 头文件:#include “Poco/Process.h” Poco::Process中的所有方法都是静态的。 常…

淘宝网站的论坛做的怎么样丹东抖音seo精英

Android下SF合成流程重学习之onMessageInvalidate 引言 虽然看了很多关于Android Graphics图形栈的文章和博客,但是都没有形成自己的知识点。每次学习了,仅仅是学习了而已,没有形成自己的知识体系,这次趁着有时间,这次…

技术网站源码wordpress网站制作的原因

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】。最近,我的个人站上线啦,大家可以直接在浏览器的地址栏中输入:穆雄雄.com,轻轻敲击回车,即可直接进入……

站长工具精华创建网站投资多少

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

珠海市网站建设制作设计平台建站之星app

仍然担心看不到sm841中的温度吗?您是否仍对Toshiba Q pro看不见写入量和使用寿命值感到不安?为了查看M4 / 00的写入量,您是否仍在使用C300固件升级程序重新启动到纯DOS并麻烦地运行命令?想知道在协议级别上SSD出了什么问题吗&…

天津网站建设制作方案甘肃网站建设哪家好

第十一章 事件 事件是在类中定义的一种成员,定义了事件成员的类型可以: 方法能登记对事件的关注方法能注销对事件的关注事件发生时,登记了的方法会收到通知 设计要公开事件的类型 定义类型(容纳要发给事件接收者的附加信息&#…

企业手机网站建设市场分析企业官网和小程序的区别

建议大家写在Linux上搭建好Hadoop的完全分布式集群环境和Spark集群环境,以下在IDEA中搭建的环境仅仅是在window系统上进行spark程序的开发学习,在window系统上可以不用安装hadoop和spark,spark程序可以通过pom.xml的文件配置,添加…

东莞做外贸网站网站模板 可做采集站

VB/VBA存储的端序 1、要想制造高性能的VB/VBA代码,离了指针是很难办到的。 2、因为VB/VBA里,用Long来表示指针,而32位(包括64位兼容的)计算机里4字节整数的处理,是最快的方式! 3、要想用指针来处理数据,…

电脑网站兼职在哪里做建设网站语言选择

大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1. 二叉树的前序遍历2. 二叉树的中序遍历3. 二叉树的后序遍历 1. 二叉树的前序遍历 点击查看题目 根…

黄江东莞网站建设公司网站建设都需要什么内容

目录 一、适配器模式 一句话概括结构式模式 1.1、适配器模式概述 1.2、案例 1.2.1、类适配器模式实现案例 1.2.2、对象适配器 1.2.3、接口适配器 1.3、优缺点(对象适配器模式) 1.4、应用场景 一、适配器模式 一句话概括结构式模式 教你将类和对…