Java面試題和解答(四)
1、JVM什麽情況下會GC,GC策略有哪些
當應用程序分配新的對象,GC的代的預算大小已經達到閾值,比如GC的第0代已滿;代碼主動顯式調用System.GC.Collect();其他特殊情況,比如,系統報告內存不足、CLR卸載AppDomain、CLR關閉,甚至某些極端情況下系統參數設置改變也可能導致GC回收
http://www.cnblogs.com/jeffwongishandsome/p/talk-about-GC-and-how-to-use-GC-better.html
http://www.cnblogs.com/tang9139/p/4519415.html
2、什麽是OutOfMemoryError和StackOverflow
如果虛擬機在擴展棧時無法申請到足夠的內存空間,則拋出OutOfMemoryError異常,一般是因為申請的數組或者ArrayList、HashMap之類的數據量太大所導致的。
如果線程請求的棧深度大於虛擬機所允許的最大深度,將拋出StackOverflowError異常,一般是由於大量的遞歸運算而導致棧內存不夠。
一般在單線程程序情況下無法產生OutOfMemoryError異常,使用多線程方式也會出現OutOfMemeoryError,因為棧是線程私有的,線程多也會方法區溢出
3、JVM棧空間分配過大會導致什麽問題
http://blog.csdn.net/qq_30739519/article/details/51042584
4、JVM中怎麽檢測死循環和死鎖
死鎖:http://www.cnblogs.com/ilahsa/archive/2013/06/03/3115410.html
死循環:http://blog.csdn.net/sinat_36246371/article/details/53036544
5、解釋一下BIO,NIO,NIO2,AIO
http://blog.csdn.net/zhangzeyuaaa/article/details/50520458
http://www.cnblogs.com/handsome1013/p/4882862.html
6、NIO包下的Poll和Select區別?
http://www.cnblogs.com/Anker/p/3265058.html
7、HTTP/1.1基礎
http://www.cnblogs.com/cxd4321/p/3504632.html
http://blog.csdn.net/macrossdzh/article/details/5256565
8、TCP協議中的三次握手和四次揮手
http://blog.csdn.net/whuslei/article/details/6667471/
Java面試題和解答(四)