Jvm知識點1

1、JVM運行時數據區

在這裏插入圖片描述
程序計時器:是一塊較小的內存空間,可以看成是當前所執行的字節碼的行號指示器。是線程私有的。

Java虛擬機棧:是線程私有的,他的生命週期和線程一致,他描述着Java方法所執行的內模型,每執行一個方法就創建一個棧楨,用來存方法,局部變量表、操作數楨,動態鏈接、方法出口等信息。局部變量表用來存放編譯器可知的各種數據類型,對象的引用類型·。

本地方法區:本地方法區的功能和虛擬機棧類似,不同的是,虛擬機棧爲了Java方法(字節碼)服務,而本地方是爲了虛擬機使用到的native方法服務。是線程私有的。

java堆:是線程共享的,是Java虛擬機管理的內存的最大的一塊,是所有線程共享的一塊內存區域,在虛擬機啓動的時候創建的,此區域的目的是爲了存放對象的實例,幾乎所有的對象的實例都是存放在這裏,也是垃圾回收的主要區域,

方法區:是線程共享的,是用來使用存放虛擬機加載的類信息,常量,靜態常量,及時編譯器編譯的後的代碼等數據,

運行時常量池:是方法區的一部分,class文件中除了有類的版本、字段、方法接口等信息,還有常量池,用來存放編譯期生成的各種字面量和符號引用。這部分的內容就是存放在運行時常量區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章