首頁  >  文章  >  Java  >  Java面試題與解答(四)

Java面試題與解答(四)

PHP中文网
PHP中文网原創
2017-07-12 18:12:571403瀏覽

1、JVM什麼情況下會GC,GC策略有哪些

當應用程式分配新的對象,GC的代的預算大小已經達到閾值,例如GC的第0代已滿;程式碼主動明確呼叫System.GC.Collect();其他特殊情況,例如,系統報告記憶體不足、CLR卸載AppDomain、CLR關閉,甚至在某些極端情況下系統參數設定改變也可能導致GC回收

2、什麼是OutOfMemoryError和StackOverflow

如果虛擬機器在擴充堆疊時無法申請到足夠的記憶體空間,則拋出OutOfMemoryError異常,一般是因為申請的陣列或ArrayList、HashMap之類的資料量太大所導致的。

如果執行緒請求的堆疊深度大於虛擬機器所允許的最大深度,將拋出StackOverflowError異常,一般是由於大量的遞歸運算而導致棧記憶體不夠。

一般在單執行緒程式情況下無法產生OutOfMemoryError異常,使用多執行緒方式也會出現OutOfMemeoryError,因為堆疊是執行緒私有的,而執行緒多也會方法區溢出

3、JVM堆疊空間被指派過大會導致什麼問題

4、JVM中#怎麼偵測死迴圈與死鎖

#死鎖:

死循環:

5、解釋一下#BIO,NIO,NIO2,AIO

6、NIO套件下的Poll和Select區別?

7HTTP/1.1基礎

8、TCP協定中的三次握手和四次揮手

以上是Java面試題與解答(四)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn