11 jvm 問題

1,說下jvm 運行時數據區?

不同虛擬機的運行時數據區可能略微有所不同,但都會遵從java 虛擬機規範,java 虛擬機規範規定的區域分爲以下5個部分:
程序計數器: 當前線程所執行的字節碼的行號指示器,字節碼解析器的工作是通過改變這個計數器的值,來選取下一條需要執行的字節碼指令,分支,循環,跳轉,異常處理,線程恢復等基礎功能,都需要這個計數器來完成;

Java 虛擬機棧: 用於存儲局部變量表,操作數棧,動態鏈接,方法出口等信息;

本地方法棧:與虛擬機棧的作用一樣的,只不過虛擬機棧是服務Java 方法的,而本地方法棧是爲虛擬機調用Native 方法服務的:

  java 堆: Java 虛擬機中內存最大的一塊,是被所有線程共享的,幾乎所有的對象實例都在這裏分配內存:

方法區:用於存儲已被虛擬機加載的類信息,常量,靜態變量,即時編譯後的代碼數據。

2,說下堆棧的區別?

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