【笔试题】Java笔试题知识点 (3)

【知识点】目录在Java中作为一种特殊文件,即文件名的列表,通过File所提供的的方法,可得到文件的目录和面熟的信息(包括名字,路径,长度,可读,可写等),也可以生成新的文件,目录,修改文件和目录,查询文件属性,重命名文件或删除文件

【知识点】文件操作中,经常需要的是随机访问,Java中的RandomAccessFile类中提供了随意访问文件的功能

它继承了Object类,用DataInput和DataOutput接口来实现,接口中定义了从流中读/写基本类型的数据方法

因此可以随意读/写数据文件的记录。

【知识点】流最早从C语言中引入的,其可以看成是一个流的数据缓冲区,数据从数据源方向经过缓冲区流向数据的目的地,在传送的过程中,其传送方式是串行的,在Java中的java.io包中定义了Java中最常见的接口与类,其中包括两个最基本的流的抽象类,它们分别是OutputStream 与 inputStream,其余的流分别从这两个基本类中继承而来。

【知识点】一个程序在编译和运行时出现的错误我们统一称之为异常

一个合理的应用程序不能截获的严重的问题属于错误(Error)。

【知识点】Java语言中,错误类的基类是java.lang.Error,异常的基类是java.lang.Exception

两者都是java.lang.Throwable的子类,因此Error和Exception自身及其子类都可以作为throw的使用对象。

【知识点】final,finally,finalize的区别?

Fianl:

修饰符(关键字)如果一个类被声明为final,意味着它不能再派生新的子类,不能作为父类被继承,

因此一个类不能被声明为abstract,又被声明为final。

将变量或方法声明为final,可以保证他们使用中不被更改,被声明为final的不变阿玲必须在声明时给定处置,而以后的引用中只能读取,不可修改,被声明为fianl的方法也同样只能使用,不能重载。

Finally:

在异常处理是,提供finally块来执行清除操作,如果抛出一个异常,那么相匹配的catch语句就会执行,然后控制就会进入finally块(如果有的话)

Finalize:

是方法名,Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除以前做必要的清理工作,这个方法是在垃圾收集器在确定了,被清理对象没有被引用的情况下调用的。

Finalize是Object类中定义的,因此,所有的类都继承了它,子类可以覆盖finalize()方法,来整理系统资源或者其他清理工作。

【知识点】run()方法是线程的执行体

【知识点】在执行start();之前所执行的两个run();知识单纯的通过虚拟机进行调用该方法,

Start()执行后会将该线程至于就绪状态,等待系统分配时间片段给该线程去执行线程任务。

【知识点】suspend可以挂起一个线程,就是把这个线程暂停了,它占着资源,但不运行

用resume()是恢复挂起来的线程,让这个线程继续执行下去。

【知识点】java Thread中,run方法和start方法的区别?

Start方法:用start来启动线程,是真正实现了多线程,通过调用Thread类的start()方法来启动一个线程

这时此线程处于就绪(可运行)并没有运行,一旦得到CPU时间片,就开始执行run()方法,但要注意的是

此时无需等待run()方法执行完毕,即可继续执行下面的代码。所以run()方法并没有实现多线程,

Run方法:run()方法只是类的一个普通方法而已,如果直接调用run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行还是要等待run方法执行完毕后才可以继续执行下面的代码。

【知识点】wait方法和sleep方法很类似,都是出于等待状态,但是不同的是,wait方法执行后hi释放锁对象,

所以此段代码中的wait方法后面的语句不会被执行,而是一直处于等待状态中。

【知识点】线程生命周期:新建状态,可运行状态,运行状态,阻塞状态,终止状态。

【知识点】在主线程中启动新线程后,新线程处于就绪状态,那么新线程对象中的run()方法被系统执行是,视为已经即进入执行新线程的内容。

【知识点】线程的睡眠要调用Thread的sleep方法,传入参数为一个long类型的毫秒值,

打断睡眠程序会抛出InterrupedExceprion异常

【知识点】start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程,劲儿调用run()方法来执行。

单纯的调用run()方法就跟调用普通方法是一样的,已经失去线程的特性了

因此,在启动一个线程的时候,一定要使用start() 而不是run()。

 

【知识点】线程被创建后不可能立即开始运行,不同优先级的线程间是抢先式的.

即使线程因为抢先而停止也不一定就进入可运行队列的前面

而同级别的线程是轮换式的,它的运行可能就是因为轮换

而它因抢占而停止后只能在轮换队列中排队而不能排在前面。

【知识点】sleep:导致此线程暂停执行指定时间

Stop:这个方法将中航智所有未结束的方法,包括run方法

Wait:当前正在被服务的线程需要睡一会,醒来后即系被服务。

XML规则

【知识点】XMl命名规则:可以包含字母,数字,以及其他字符

名称不能以数字或者标点符号开始,名字不能以字符“XML”开始,名称不能包含空格

可以使用任何名称,没有保留的字词

【知识点】EMPTY表示元素不能包含文本,也不能包含子元素

#IMPLIED属性可以没有值

#REQUIRED 属性必须有值

【知识点】DTD不遵循XML语法 DTD不支持命名空间 DTD不可拓展

【知识点】定义XMl文档时,通过encoding属性来指定字符集

【知识点】定义xml文件是通过命名空间来避免重复的命名。

【知识点】Java解析xml文件四种方式:SAX,DOM,JDOM,DOM4J

【知识点】xml文档注释符号是:<!--    --!>

【知识点】DOM是独立于开发语言和平台的,因此使用Visnal Basic ,java,C++等开发工具使用的DOM编程API是一样。

XML文档通过load方法被装在进内存后,在内存中形成一个DOM文档对象模型树

通过DOM API,软件开发人员可以控制XML文档的结构和内容

SAX解析文档需要按照顺序,DOM可以随意

【知识点】XML语法规则:

必须有XML声明语句

是否有DTD文件

注意大小写

给属性值加引号

所有标识符必须有相应的结束标识

所有的空标识符也被关闭

【知识点】在XML中,单引号和双引号都可以使用在属性上

【知识点】二进制数左移一位相当于数为上的数值乘2右移一位相当于位数上的数值除以2.

 

【知识点】&位运算的规则是都为1则是1,只要有一个数的当前为是0,则结果为0

【知识点】每位16进制数是需要四位二进制数来表示。

【知识点】Oracle中连接字符串使用“||”符号

【知识点】Oracle中使用concat连接字符串

【知识点】删除表中的所有数据,DELETE FORM 表名

【知识点】属于Java接口的有Statement,Collection,ResulSet

【知识点】DriverManager是一个关于JDBC的数据库驱动类

【知识点】数据库连接池可以提高系统性能,与查询语句的速度没有关系

Sevlet

【知识点】ServletConfig接口默认是从GenericServlet实现的

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxypp.html