最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Java虛擬機(jī)30個(gè)常用知識(shí)點(diǎn)之1——類文件結(jié)構(gòu)

 更新時(shí)間:2019年03月26日 10:55:03   作者:cquzxs  
這篇文章主要介紹了Java虛擬機(jī)類文件結(jié)構(gòu),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1. Java文件 ClassFileTest.java

package com.zxs.ssh.template.service;
 
public class ClassFileTest {
 int m = 1;
 public int inc(){
  return m+1;
 }
}

2. Class文件ClassFileTest.class

javac  ClassFileTest.java  編譯.java文件得到.class文件

JDK版本  1.8.0_201

.class文件可以用WinHex打開(kāi)

3. javap -verbose ClassFileTest.class (javap是一個(gè)用于分析.class文件字節(jié)碼內(nèi)容的工具)

4. 分析Class文件

4.1 魔數(shù)

  1. a.格式:u4
  2. b.內(nèi)容 CA FE BA BE
  3. c.含義:代表這是.class文件

4.2 版本號(hào)

  1. a.格式:次版本號(hào)u2 + 主版本號(hào)u2
  2. b.內(nèi)容:00 00 00 34
  3. c.含義:0034即十進(jìn)制52,jdk 1.1是45,1.2是46,因此52代表1.8,所以主版本號(hào)是1.8;0000即十進(jìn)制0,所以次版本號(hào)是0;合起來(lái)就是1.8.0

4.3 常量池

常量個(gè)數(shù)u2+tag u1+length u2+bytes u1      起點(diǎn)00000008

4.4 訪問(wèn)標(biāo)志

u2     起點(diǎn)000000C2

4.5 類索引、父類索引和接口索引集合

u2+u2+u2(接口索引集合個(gè)數(shù))+u2     起點(diǎn)000000C4

4.6 字段表集合

u2(字段個(gè)數(shù))+u2(訪問(wèn)標(biāo)志)+u2(name_index)+u2(字段描述符索引)+u2(屬性表集合個(gè)數(shù))+u2(屬性名索引)+u4(屬性長(zhǎng)度)+u1    起點(diǎn)000000CA

4.7 方法表集合

u2(方法個(gè)數(shù))++u2(訪問(wèn)標(biāo)志)+u2(name_index)+u2(方法描述符索引)+u2(屬性表集合個(gè)數(shù))+u2(屬性名索引)+u4(屬性長(zhǎng)度)+u1  起點(diǎn)000000D4

包含兩個(gè)方法,第一個(gè)是構(gòu)造器方法,起點(diǎn)是000000D6;另一個(gè)方法是inc方法,起點(diǎn)是0000010A

4.8 屬性表集合

u2(屬性表集合個(gè)數(shù))+u2(屬性名索引)+u4(屬性長(zhǎng)度)+u1      起點(diǎn)00000136

以上所述是小編給大家介紹的Java虛擬機(jī)類文件結(jié)構(gòu)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java Web使用Html5 FormData實(shí)現(xiàn)多文件上傳功能

    Java Web使用Html5 FormData實(shí)現(xiàn)多文件上傳功能

    這篇文章主要介紹了Java Web使用Html5 FormData實(shí)現(xiàn)多文件上傳功能,需要的朋友可以參考下
    2017-07-07
  • Spring 中jdbcTemplate 實(shí)現(xiàn)執(zhí)行多條sql語(yǔ)句示例

    Spring 中jdbcTemplate 實(shí)現(xiàn)執(zhí)行多條sql語(yǔ)句示例

    本篇文章主要介紹了Spring 中jdbcTemplate 實(shí)現(xiàn)執(zhí)行多條sql語(yǔ)句示例,可以對(duì)多個(gè)表執(zhí)行多個(gè)sql語(yǔ)句,有興趣的可以了解一下。
    2017-01-01
  • Java?springBoot初步使用websocket的代碼示例

    Java?springBoot初步使用websocket的代碼示例

    這篇文章主要介紹了Java?springBoot初步使用websocket的相關(guān)資料,WebSocket是一種實(shí)現(xiàn)實(shí)時(shí)雙向通信的協(xié)議,適用于需要實(shí)時(shí)通信的應(yīng)用程序,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • springboot logback如何從apollo配置中心讀取變量

    springboot logback如何從apollo配置中心讀取變量

    這篇文章主要介紹了springboot logback如何從apollo配置中心讀取變量的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java多線程間的5種通信方式小結(jié)

    Java多線程間的5種通信方式小結(jié)

    有兩個(gè)線程,A 線程向一個(gè)集合里面依次添加元素“abc”字符串,一共添加十次,當(dāng)添加到第五次的時(shí)候,希望 B 線程能夠收到 A 線程的通知,然后 B 線程執(zhí)行相關(guān)的業(yè)務(wù)操作,本文介紹的5種通信方式都是基本這兩種模型來(lái)實(shí)現(xiàn)的,需要的朋友可以參考下
    2023-10-10
  • Java ConcurrentHashMap的使用示例

    Java ConcurrentHashMap的使用示例

    這篇文章主要介紹了Java ConcurrentHashMap的使用示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-04-04
  • Java遞歸算法遍歷部門(mén)代碼示例

    Java遞歸算法遍歷部門(mén)代碼示例

    這篇文章主要介紹了Java遞歸算法遍歷部門(mén)代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • 一文帶你厲害Java設(shè)計(jì)模式中的模板方法

    一文帶你厲害Java設(shè)計(jì)模式中的模板方法

    模板方法定義了一個(gè)算法的步驟,并允許子類為一個(gè)或多個(gè)步驟提供實(shí)現(xiàn)。這篇文章就來(lái)帶大家了解一下Java模板方法的概念與實(shí)現(xiàn),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • Java 二分查找算法的實(shí)現(xiàn)

    Java 二分查找算法的實(shí)現(xiàn)

    這篇文章主要介紹了Java 如何實(shí)現(xiàn)二分查找算法,幫助大家更好的理解和學(xué)習(xí)Java 算法,感興趣的朋友可以了解下
    2020-09-09
  • 從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率

    從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率

    這篇文章主要介紹了從java反編譯及字節(jié)碼角度探索分析String拼接字符串效率,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12

最新評(píng)論

平湖市| 德令哈市| 深圳市| 新蔡县| 营口市| 荔波县| 洛南县| 昭苏县| 古交市| 尼玛县| 大名县| 长汀县| 林芝县| 阿拉善盟| 颍上县| 济源市| 固始县| 嘉禾县| 新巴尔虎右旗| 乌兰察布市| 五大连池市| 中超| 漳州市| 阳春市| 宁陵县| 尼玛县| 渭源县| 繁峙县| 宝坻区| 永吉县| 葫芦岛市| 金沙县| 刚察县| 陆河县| 乃东县| 峨边| 蕉岭县| SHOW| 河北区| 鄂州市| 尉氏县|