JVM+GC(2)

4.總結

  1. java中堆和棧有什麼區別?
  2. 屬於不同的內存區域使用目的不同
  3. 棧常用於保存方法幀和局部變量,通常比堆小,不會在多線程間共享
  4. 對象總是在堆上分配,被整個jvm所有線程共享
  5. 彈夾(棧)  子彈(方法)稱爲棧幀

Public static void main(stirng[]
args  形參列表(相當於子彈殼)){
}
image.png

  1. jvm加載class文件的原理機制
  2. 類的裝載是由ClassLoader和它的子類來實現的,Java ClassLoader是一個重要的Java運行時系統組件,負責運行時查找和裝入類文件的類
  3. jvm怎麼判斷對象可以回收了
  4. 對象沒有引用(可達性分析法)
  5. 作用於發生未捕獲異常
  6. 程序在作用域正常執行完畢
  7. 程序執行了System。exit()
  8. 程序發生意外終止,被殺進程
  9. heap和stack有什麼區別
java的內存分爲兩類,一類是棧內存,一類是堆內存。棧內存是指程序進入一個方法時,會爲這個方法單獨分        
配一塊私屬存儲空間,用於存儲這個方法內部的局部變量,當這個方法結束時,分配給這個方法的棧會釋放,這         
個棧中的變量也將隨之釋放。
        堆是與棧作用不同的內存,一般用於存放不在當前方法棧中的那些數據,例如,使用new創建的對象        
都放在堆裏,所以,它不會隨方法的結束而消失。方法中的局部變量使用final修飾後,放在堆中,而不是棧       
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章