欢迎来到天天文库
浏览记录
ID:48043668
大小:779.69 KB
页数:11页
时间:2019-09-14
《面试题—2018Java开发工程师.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.JAVA中的几种基本数据类型是什么,各自占用多少字节。类型位数字节数范围==================================================2.String类能被继承吗,为什么。一,在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的。二,final是java中的一个关键字,可以用来修饰变量、方法和类。用关键词final修饰的域成为最终域。用关键词final修饰的变量一旦赋值,就不能改变,也称为修饰的标识为常量。如果一个类的域被关键字final所修饰,它的取值在程序的整个执行过程中将不会改变。三,假
2、如说整个类都是final,就表明自己不希望从这个类继承,或者不答应其他任何人采取这种操作。换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变;或者出于安全方面的理由,我们不希望进行子类化(子类处理)。==================================================3.String,Stringbuffer,StringBuilder的区别。1.String类型,是java内的对象,是不可改变的对象,当每次对String进行改变时,都需要生成一个新的String对象,然后将指针指向一个新的对象,如果在一个循环里,不断的改变一个对象
3、,就要不断的生成新的对象,如果对象多了,java的垃圾自动回收机制会开始工作了,所以效率很低,建议在不断更改String对象的地方不要使用String类型。2.StringBuffer是个可变的对象,就是每次操作都是对对象本身进行操作,而不用生成新的对象,这样效率就会有很大的提高,在大部分情况下StringBuffer的效率要比String类型更高。3.StringBuilder与StringBuffer一样是个可变的字符序列,提供与StringBuffer兼容的API,但是不能保证同步,在用在字符串缓冲区被当作线程的情况使用,在单机非多线程的情况下使用StringBuil
4、der会有比较好的效率,因为StringBuilder没有处理同步(Synchronized)问题。StringBuffer则会处理同步问题,StringBuild会在多线程下被操作,要改用Stringbuffer,让对象自行管理同步问题。==================================================4.ArrayList和LinkedList有什么区别。1、ArrayList是基于索引的数据接口,它的底层是数组。它可以以O(1)时间复杂度对元素进行随机访问。与此对应,LinkedList是以元素列表的形式存储它的数据,每一个元素都和它
5、的前一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是O(n)。2、相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组那样重新计算大小或者是更新索引。3、LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素==================================================5.讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当
6、new的时候,他们的执行顺序。父类静态代变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量(父类实例成员变量)、父类构造函数、子类非静态变量(子类实例成员变量)、子类构造函数。==================================================6.用过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如存储方式,hashcode,扩容,默认容量等。hashMap是线程不安全的,HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的,采用哈希表来存储的
7、,参照该链接:https://zhuanlan.zhihu.com/p/21673805JAVA8的ConcurrentHashMap为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何设计。参照:https://yq.aliyun.com/articles/36781有没有顺序的Map实现类,如果有,他们是怎么保证有序的。TreeMap和LinkedHashMap是有序的(TreeMap默认升序,LinkedHashMap则记录了插入顺序)。参照:http://uule.iteye.com/blog/15222
此文档下载收益归作者所有