對JVM的一個基礎瞭解

一、JVM範圍3d

 

 

二、JVM和class文件blog

  (1)、JVM和Java語言無關,JVM是一種規範,任何語言只要能編譯成class文件格式都能在JVM上運行索引

 

三、class文件格式接口

  (1)、class文件就是一個二進制流,用十六進制表示爲:虛擬機

      

圖中一個矩形表明一個字節io

  (2)class文件中的內容編譯

      

  一、魔術:每一個Class文件的頭4個字節成爲魔數(Magic Number),它的惟一做用是肯定這個文件是否爲一個能被虛擬機接收的Class文件。class

        全部Class文件,魔數均爲0xCAFEBABE。引用

  二、大小版本號:Class文件中第5、六個字節存儲的是次版本號(minor version),第7、八個字節存儲的是主版本號(major version)。二進制

      假設Class文件的版本號十進制下爲45.3,那麼major version在十進制下爲45,minor versio在十進制下則爲3。

  三、常量池計數器:用來記錄常量池中常量的個數,由於用的是u2類型的數據即用兩個字節來存儲,因此常量池中的常量不能超過65535個。

      並且,常量池計數器是從1開始的,這樣當某些數據想表達「不想引用任何一個常量池項」時,就能夠將其常量池索引值設爲0;

  四、訪問標誌:用於識別一些類或接口層次的訪問信息。例如:ACC_PUBLIC、標誌位0x0001 表示是否爲public類型。

相關文章
相關標籤/搜索