淺談JVM

1:JVM 總體組成java

  --》@1.類加載器(ClassLoader)spa

        @2.運行時數據區(Runtime Data Area)操作系統

        @3.執行引擎(Exection Engine)線程

        @4.本地庫接口(Native Interface)翻譯

 

2:各個組成部分的用途接口

  --》程序在執行以前先要把java代碼轉換成字節碼(class文件),JVM首先須要把字節碼經過必定的方式 類加載器(ClassLoader) 把文件加載到內存中  運行時數據區 (Runtime Data Area),而字節碼文件時JVM的一套指令集規範,並不能直接交給底層操做系統去執行,所以須要特定的命令解析器 執行引擎 (Execution Engine)將字節碼翻譯成底層系統指令再交由CPU去執行,而這個過程須要調用其它的語言接口 本地庫接口(Native Interface)來實現整個程序的功能,內存

 

 

3:運行數據區組成虛擬機

  --》咱們一般所說的JVM組成指的是運行數據區io

     運行數據區又有5部分組成class

         1:程序計數器   2:java虛擬機棧 3:本地方法棧 4:Java堆 5:方法區

 

程序計數器和Java虛擬機棧是內存私有

Java堆是虛擬機中內存最大的一塊 被全部線程共享 (內存共享)

方法區不等於永生代(內存共享)

4:擴展 運行時常量池 直接內存

相關文章
相關標籤/搜索