一、Object有哪些公共方法?html
答:clone(),equals(),hashCode(),wait(), getClass(),finalize(),notify(),notifyAll(),toString()java
二、Object中finalize()的做用?数组
答:用于清理。finalize()方法不须要显示地调用, 在垃圾回收(GC)时会被自动先行调用的。安全
三、Java中四种引用方式?jsp
答:http://my.oschina.net/eager/blog/726428性能
四、hashCode()的做用?ui
答:hashcode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值。spa
在 Java 应用程序执行期间,在对同一对象屡次调用 hashCode()时,必须一致地返回相同的整数,前提是将对象进行hashCode()比较时所用的信息没有被修改。.net
详见:http://www.cnblogs.com/dolphin0520/p/3681042.html线程
五、ArrayList、LinkedList、Vector的区别?
线程安全性:
实现方式:
扩容方式:
Stack继承自Vector,故不分开解释。
其余详见:http://blog.csdn.net/a19881029/article/details/45533733
六、String、StringBuffer与StringBuilder的区别?
详见:http://blog.csdn.net/kingzone_2008/article/details/9220691
七、java.io 与 java.nio的区别?
主要区别以下表:
IO | NIO |
面向流 | 面向缓冲 |
阻塞IO | 非阻塞IO |
无 | 选择器 |
详见:http://my.oschina.net/eager/blog/729320
八、HashMap和Hashtable(注意 t 是小写的)的区别?
九、HashMap和ConcurrentHashMap的区别?
ConcurrentHashMap详见:http://www.cnblogs.com/dolphin0520/p/3932905.html
ConcurrentHashMap实现同步分析:http://blog.csdn.net/xuefeng0707/article/details/40834595
十、Hashtable和ConcurrentHashMap的区别?
更多关于Map的详见:http://my.oschina.net/eager/blog/729795
十一、try{}里有一个return语句,finally{}里的代码还会执行吗?
会执行,在return以前执行。
public class Test { public static void main(String[] args) { int a = 1; System.out.println("a:"+a); System.out.println("result:"+getNum(a)); } public static int getNum(int a) { try { a = 2; System.out.println("try-a:"+a); return a; } finally { a = 3; System.out.println("finally-a:"+a); } } }
结果展现:
可能会以为很疑惑,从输出能够看出是执行了finally中的语句,但为何最终返回值是2。由于若是存在finally代码块,try中的return语句不会立马返回调用者,而是记录下返回值待finally代码块执行完毕以后再向调用者返回其值,因此在finally块中调用return,则会修改返回值,可是不建议这样作。
十二、Excption与Error包结构?
1三、OOM你遇到过哪些状况?SOF你遇到过哪些状况?
OOM(Out Of Memory):当JVM由于没有足够的内存来为对象分配空间而且垃圾回收器也已经没有空间可回收时,就会抛出这个Error(注:非Exception,由于这个问题已经严重到不足以被应用处理)。
常见内存溢出状况:
SOF(Stack Over Flow):JAVA虚拟机栈溢出,通常是因为程序中存在死循环或者深度递归调用形成的,栈大小设置过小也会出现此种溢出。能够经过虚拟机参数-Xss来设置栈的大小。
详见:http://www.cnblogs.com/gaojing/archive/2012/10/30/2844938.html
未完待续,该博客会每一天进行更新。