1.JAVA中的几种基本数据类型是什么,各自占用多少字节。

JAVA的基本数据类型有short int float double long char boolean btye
需要明白字节和位之间的关系,8bit = 1B
类型位=字节
short16bit = 2Bit
int32bit = 4Bit
float32bit = 4Bit
double32bit = 4Bit
long64bit = 8Bit
char16bit = 2Bit
btye8bit = 1B
boolean1bit

2.String类能被继承吗,为什么?

不能被继承,因为String类被final修饰,而final修饰符是不允许被继承的
使用final原因有,将方法锁定,让继承的类无法修改它的含义。第二个原因是效率。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率

3.String,Stringbuffer,StringBuilder的区别。

String与Stringbuffer和StringBuilder的区别是在于:String 类型和StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象。 
而如果是使用 StringBuffer 类则结果就不一样了,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。
StringBuilder和Stringbuffer的区别是不是线程安全的(不能同步访问)。StringBuffer线程安全的可变字符序列。

4.ArrayList和LinkedList有什么区别。

arrylist是基于数组实现,在查找和修改上的效率更加高效,而LinkedList是基于链表实现的,在删除,插入上的效率高于arryalist,而在查找和删除上是低于arraylist。

5.讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字
段,当new的时候,他们的执行顺序。
6.用过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们
内部原理分别是什么,比如存储方式,hashcode,扩容,默认容量等。
7.有没有有顺序的Map实现类,如果有,他们是怎么保证有序的。
8.抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多个接口
么。
类只能继承一个类,类可以实现多个接口,接口是不能继承多个接口的
继承和聚合的区别在哪。
IO模型有哪些,讲讲你理解的nio ,他和bio,aio的区别是啥,谈谈reactor模型。
反射的原理,反射创建类实例的三种方式是什么。
反射中,Class.forName和ClassLoader区别 。
描述动态代理的几种实现方式,分别说出相应的优缺点。
动态代理与cglib实现的区别。
为什么CGlib方式可以对接口实现代理。
final的用途。
写出三种单例模式实现 。
如何在父类中为子类自动完成所有的hashcode和equals实现?这么做有何优劣。
请结合OO设计理念,谈谈访问修饰符public、private、protected、default在应用设


锦凌
0 声望0 粉丝

学生