Java笔试题解答_第1页
Java笔试题解答_第2页
Java笔试题解答_第3页
Java笔试题解答_第4页
Java笔试题解答_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、以下是我自己的答案是非正式的,只能作为参考,如果有疑问和错误的话请务必提交。 大家都进步了Thread类的方法()请参见at start () blun () cbx it () DD get priority ()回答: ABD解析:看看Java API docs:http:/docs.O/Java se/7/docs/API /,exit ()是System类的方法,例如System.exit(0)。2 .以下java.lang.Exception类的说法是正确的()a不记得是从可串行光盘继承的。 无论如何都不正确回答: a解析: Java异常的基类是java.lang.

2、Throwable,java.lang.Error和java.lang.Exception继承Throwable,运行时Exception和其他Exception等扩展:错误和例外的差异(Error vs Exception )1 )在1)java.lang.error:throwable的子类中标记严重错误。 合理的应用程序不要出现名为try/catch的错误。 大部分错误都不正常,决不可能发生。Java.lang.exception : throwable的子类用于指示要去catch的适当程序条件。 也就是说,建议用户捕获程序,而不是仅仅是程序的运行条件,而是严重的错误。2)Error和R

3、untimeException及其子类是未被检查的异常(unchecked Exceptions ),而其他exception类都是被检查的异常(checked exceptions )。checked exceptions:通常从可恢复的程序慢出,并期望可以使用程序从这种异常中恢复。 例如,文件不基础执行、完整执行等。unchecked exceptions:通常都是正常时不应该发生的异常,但实际上发生了。 例如,ArrayIndexOutOfBoundException、ClassCastException等。 从语言本身的观点来看,程序不应该去除catch之类的异常,可以从Runtime

4、Exception之类的异常中catch恢复,但不推荐给终端程序员。 因为这样的错误本身是错误的,所以应该修正,如果发生这样的错误,程序必须马上停止执行。 因此,应该面对Errors和unchecked exceptions自动中止程序的执行,程序员不应该像try/catch那样做,应该找出原因,修改代码逻辑。运行时执行:运行时执行系统包括错误的类型转换、数组越境访问、对空指针的访问等。处理RuntimeException的原则,在发生RuntimeException时,一定是程序员的错误。 例如,可以通过检查数组的下标和边界来避免数组的越境访问异常。 其他(如IOException )检查异

5、常通常是从文件末尾读取数据等外部错误,而不是程序本身的错误,而是应用程序环境中发生的外部错误。3 .下一个程序的执行结果是()1 .字符串str1= hello ;2.stringstr2= he new string ( llo );3.system.err.println (str1=str2)复制代码答案:假分析: str2中的llo是新申请的内存块,但是=确定是目标地址,而不是值。 如果String str2=str1,则为true。4 .以下说法是正确的()a .类的构造器不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor

6、在对象变为new时执行class只能定义一个constructor的答案: c分析:虽然这里可能有误会,但实际的类方法与类名相同,与结构方法唯一的区别在于结构方法没有返回值。5 .我不记得具体的选项,但String a=new String10; a 0a 9=nulla.length=10 int a=new int 10 ; a0a9=0a.length=10 6.以下程序的执行结果:()1 .输入publicstaticvoidmain (字符串args )2.3.threadt=newthread (); 请参见。4.5 .公共语音vun (); 请参见。6. pong ();7. 8

7、. 9.10. t.run ();11. System.out.print(ping );12.十三. 14.15 .请参见staticvoidpong () () 1。 216.17.system.out.print(pong );18.十九. 复制代码。apingpongpongpongpingpong和pongping都有可能d不输出答案: b分析:我对静态对象的引用仍为b,我不知道为什么要执行Thread。 欢迎大家的补充。7 .以下是属于关系数据库的()a.oraclebmymysqlcsimdsmongodb答案: PS回答:信息管理系统(IMS )数据库是IBM公司开发的两种数据

8、库类型之一,一种是关系数据库,典型的产品: DB2另一种是分层数据库,表示产品在非关系数据库中有MongoDB和Nosql。8. GC线程是守护程序线程吗? ()回答:是分析:线程分为守护程序线程和非守护程序线程(用户线程)。 只要当前的JVM实例中还有除守护程序以外的线程,所有守护程序都将工作。只有在最后一个非守护程序线程结束时,守护程序线程才会与JVM一起终止工作。守护线程最典型的应用是垃圾收集器(GC )9. volatile关键字能保证线程的安全性吗? ()答案:不可分析: volatile关键字用于多线程同步,以确保读取的可见性。 JVM确保从主内存加载到线程工作内存中的值是最新的读

9、取值,而不是cache。 但是,通过多个线程向volatile的写入不能保证线程的安全性。 例如,在线程1、线程2进行read、load操作的同时,如果发现主存储器的count的值都是5,则加载此最新的值,线程1堆count被修正后,被写入主存储器中, 主内存的count变量为6线程2进行了read、load操作,因此在进行运算后,主内存count的变量值也会更新为6 .即使两个线程马上用volatile关键字变更,也可以同时执行。10 .以下说法正确: () A LinkedList从ListB AbstractSet从SetC HashSet从AbstractSetD WeakMap从Ha

10、shMap继承: AC分析:以下是下载的Java的集合有使用i1i的数量吗?答案:存在分析:如果I是int型,I是int能表现的最大整数时,i 1溢出成为负数,此时,j | i=j不是不成立的数吗()答案:分析不存在:这不太清楚。 我找不到反例,欢迎大家的意见。12. 0.6332的数据类型为()a浮b双面c浮d双面答案: b分析:默认为双精度型,浮点型的话,需要追加f显示的说明。 也就是说0.6332f13 .以下哪种流类属于面向字符的输入流() abufferedwriterbfileinputstreamcobjectinputstreamdinputstreamreader答案: d分

11、析: Java的IO操作有两种方式:面向字节和面向角色。面向字节的操作是InputStream和OutputStream的子类,它以8位为单位处理二进制数据,而不转换数据。面向字符的操作以字符为单位来操作数据,读取时将二进制数据转换为字符,写入时将字符转换为二进制数据,这些类是Reader和Writer的子类。 总结:把InputStream (输入)/OutputStream (输出)作为后缀的是字节流Reader (输入)/Writer (输出)的后缀是字符流。 扩展: Java流类图的结构一目了然,可以解决许多选择问题14. Java接口的修饰符可以是() aprivatebprotec

12、tedcfinalabstract答案:光盘分析:界面很重要,为了说明情况,这里有点吵。(1)因为接口用于描述系统提供给外部的所有服务,所以接口内的成员常数和方法必须是公共类型,以便外部用户可以访问(2)接口中的方法是抽象的,因为它只描述了系统能做什么,并不表示如何做(3)因为接口与任何具体的实例都无关,所以接口没有构建方法,不能实现实例化,没有实例变量,只有静态变量(4)因为接口中的变量被所有实现类共享,但是既然被共享了,就一定是不变的,变化的东西也没有被共享。 变量是不变(final )型,也就是常数。(5)不能在接口上定义变量吗? 接口可以定义变量,但接口中的方法是抽象的,不能通过接口中

13、的行为修改属性。 有人说,可以通过实现接口的对象行为来修改接口的属性。 当然没有问题,但是请考虑一下这种情况。 接口a具有公共访问权限的静态变量a时。 在Java的意义上,可以在不实现接口的对象的情况下访问变量a,A.a=xxx; 现在可以更改接口中变量a的值。 为了能在抽象类中这样做,实现接口a的所有对象都自动具有这个变化的a值,也就是说,在一个地方改变了a,在所有这些对象上a的值都改变了。 它和抽象类有什么区别,如何表示接口的更高的抽象级别,如何表示接口提供的统一协议,以及接口这种抽象的东西会做什么? 所以界面上不会出现变量。 如果有变量,则与接口提供的统一抽象思想相矛盾。 因此,因为接口

14、的属性始终是常数,不能更改,所以可以为实现接口的对象提供统一的属性。 一般来说,觉得会变化的东西,应该放在自己的实现中,不要放在界面中。 接口只是对某些事物的属性和行为的更高级别的抽象。 对修改关闭,对扩张开放,接口是开关的原则之一。 因此,缺省情况下,接口的方法为public abstract。只有常数不能在接口中定义变量(如果添加final修饰,则为常数)。 因此,缺省情况下,接口属性必须是公共静态最终常数,并指定初始值。 注意: final和abstract不能同时出现。15 .不使用构造函数也能创建对象吗()a是b是否答案: a分析:用Java创建对象的几种方法(重要):(1)用new

15、语句创建对象是最常见的对象创建方法。(2)使用反射工具调用java.lang.Class或java.lang.reflect.Constructor类的newInstance ()实例方法。(3)调用对象的clone ()方法。(4)使用反序列化方法,调用java.io.ObjectInputStream对象的readObject ()方法。 (1)和(2)都明确的调用结构函数(3)为了将现有的对象复制到存储器上,不调用结构函数(4)是从文件中复原类的对象,构造函数也不调用。16.arraylist=newarraylist(20 )的list已被扩展了几次()A 0 B 1 C 2 D 3答案: a分析:因为这里有点迷惑人,所以我知道默认的ArrayList长度是10个,所以在list中添加20个元素一定会一次扩展(扩展到原来的1.5倍),但这里表示需要多少空间17 .对称加密算法() aeDESBAESDSADSARSA的回答: AB分析:共同的对称加密算法是des、3DES、RC2、RC4、AES共同的非对称加密算法: RSA、DSA、ECC使用单向散列函数的加密算法(a ) newbuffereddwriter (new filewriter (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论