填空题
a) Java可以通过____参数来查看java虚拟机版本,可以通过____参数来查看最大内存。
b) 线程的四个状态_____,_____,_____,_____。
c) 可以通过_____接口来实现序列化。
d) 序列化的关键字是_________
e) Java查看版本的参数_ _,查看最大内存的参数_ _
f) 线程有哪四种状态?
解答题
g) Arraylist,vector,linkedlist三个的特性和区别。
h) Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
i) Switch可否用作用于byte,可否用作用于long,可否作用于string。
j) Short s1=1, s1=s1+1,是否正确;short s1=1,s1+=1,是否正确。为什么?
k) 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
对于垃圾回收器GC而言,当程序员创建对象的时候GC就开始监控这个对象在内存的地址,大小以及使用情况。GC采用有向图的方法记录和管理堆中的所有对象,通过这种方式来确定哪些对象是“可达的“,哪些对象是”不可达的“。当确定了”不可达的“对象以后,就将该对象所占有的空间回收。
l) 序列化要继承哪个接口
m) 如何编写一个高质量的equal方法?
---------------------------------------------------------------------------------------
面试官出的考题:
Public synchronized void test(){ //… }
Public void test(){
Synchronized(this){
//…..
}
}
有什么不同?
public void test(String a,String b){
//a 与 b 互换
Int l;
l = m;
m = n;
n = l;
}
Public static void main(String[] args){
String a=”a”;
String b=”b”;
test(a,b);
System.out.println(a,b);
}
输出的结果:
可以马上回收内存。
可以手动执行System.gc(),通知java虚拟机进行垃圾回收。