java面试题1(2)

2019-01-19 16:14

非关系型数据库有MongoDB、memcachedb、Redis等。

8. GC线程是否为守护线程?() 答案:是

解析:线程分为守护线程和非守护线程(即用户线程)。

只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。 守护线程最典型的应用就是 GC (垃圾回收器)

9. volatile关键字是否能保证线程安全?() 答案:不能

解析:volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中。但多个线程对

volatile的写操作,无法保证线程安全。例如假如线程1,线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加载这个最新的值,在线程1堆count进行修改之后,会write到主内存中,主内存中的count变量就会变为6;线程2由于已经进行read,load操作,在进行运算之后,也会更新主内存count的变量值为6;导致两个线程及时用volatile关键字修改之后,还是会存在并发的情况。

10. 下列说法正确的是()

A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 答案:AC

解析:下面是一张下载的Java中的集合类型的继承关系图,一目了然。

11. 存在使i + 1 < i的数吗() 答案:存在

解析:如果i为int型,那么当i为int能表示的最大整数时,i+1就溢出变成负数了,此时不就

扩展:存在使i > j || i <= j不成立的数吗() 答案:存在

解析:比如Double.NaN或Float.NaN,感谢@BuilderQiu网友指出。

12. 0.6332的数据类型是()

A float B double C Float D Double 答案:B

解析:默认为double型,如果为float型需要加上f显示说明,即0.6332f

13. 下面哪个流类属于面向字符的输入流( )

A BufferedWriter B FileInputStream C ObjectInputStream D InputStreamReader 答案:D

解析:Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式。

面向字节的操作为以8位为单位对二进制的数据进行操作,对数据不进行转换,这些类都是InputStream和OutputStream的子类。

面向字符的操作为以字符为单位对数据进行操作,在读的时候将二进制数据转为字符,在写的时候将字符转为二进制数据,这些类都是Reader和Writer的子类。 总结:以InputStream(输入)/OutputStream(输出)为后缀的是字节流; 以Reader(输入)/Writer(输出)为后缀的是字符流。 扩展:Java流类图结构,一目了然,解决大部分选择题:

14. Java接口的修饰符可以为()

A private B protected C final D abstract 答案:CD


java面试题1(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公路工程内业资料整理填写及归档范例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: