国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu)

這篇具有很好參考價值的文章主要介紹了JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

由源文件被編譯成字節(jié)碼文件,然后經(jīng)過類加載器進行類加載,了解類加載的各個階段,了解有哪些類加載器,加載到虛擬機中執(zhí)行字節(jié)碼指令,執(zhí)行時使用解釋器進行解釋執(zhí)行,解釋時對熱點代碼進行運行期的編譯處理。?

1.類文件結(jié)構(gòu)

??根據(jù)下面規(guī)范,魔數(shù),兩個版本,常量池信息,訪問修飾,類名信息,父類信息,接口信息,類中成員變量,方法信息,類的附加屬性信息。

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

加上-parameters參數(shù)會保留方法中參數(shù)的名稱信息?

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

第一列是八進制的標號。

1.1魔數(shù)

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

不同的文件有不同的魔數(shù)信息。魔數(shù)用于標識文件是什么類型。

java選擇"ca fe ba be"作為魔數(shù)。?

1.2 版本

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm?小版本是前兩個,主版本是后兩個,16進制的34對應(yīng)10進制的52,對應(yīng)jdk8。

1.3 常量池

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

經(jīng)過翻譯解讀知道第二項是System.out,第三項是要打印的字符串常量,第四項表示是out中的println方法,參數(shù)和返回值類型是(String)void。

()V表示空參的void.

第五項解讀出來就是cn/itcast/jvm/t5/HelloWorld? ?本類信息

第六項是java/lang/Object? ? ?父類信息

開頭加上L是引用類型

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm?

?

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

?JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

?這里講的什么狗屎?總之一共34項記錄了常量池里面各種信息。

這里可以去對照深入理解java虛擬機第三版中的、第222頁的常量池中的17種數(shù)據(jù)類型的結(jié)構(gòu)總表來看。

1.4訪問標識與繼承信息

接下來到訪問修飾到接口這部分的描述

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

知道29 56都是常量池相關(guān)內(nèi)容?

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

訪問修飾部分通過查表知道00 21 是下面表中01+20,是一個public 類。

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm?

1.5 Field 信息

成員變量信息

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

?java中為使字節(jié)碼更加緊湊使用了更簡潔的字符表示類型信息,如B表示byte。

L ClassName表示引用類型,【表示一維數(shù)組

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

?

1.6Method 信息

這里方法信息較為復(fù)雜的,需要了解反編譯。

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

?了解即可......什么狗屎?

上面是init方法的解讀........main方法不看了

看不懂是因為byd沒有把那幾個映射表拿出來,前面的常量有常量結(jié)構(gòu)表,變量、方法、屬性都有對應(yīng)的映射表,告訴你各個類型用什么十六進制表示,然后這些類型由多少個十六進制組成

1.7 附加屬性

JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu),JVM,jvm

蚌埠住了,直接跳了?

去搜一下jvm類文件結(jié)構(gòu),看看其他的視頻先。

了解即可文章來源地址http://www.zghlxwxcb.cn/news/detail-667452.html

了解即可

了解即可

到了這里,關(guān)于JVM——類加載與字節(jié)碼技術(shù)—類文件結(jié)構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • JVM之類加載與字節(jié)碼

    JVM之類加載與字節(jié)碼

    根據(jù) Java 虛擬機規(guī)范,Class 文件通過 ClassFile 定義。ClassFile 的結(jié)構(gòu)如下: 通過分析?ClassFile 的內(nèi)容,我們便可以知道 class 文件的組成。 下面這張圖是通過 IDEA 插件?jclasslib 查看的,你可以更直觀看到 Class 文件結(jié)構(gòu)。使用 jclasslib 不光可以直觀地查看某個類對應(yīng)的字節(jié)碼文件

    2024年02月14日
    瀏覽(22)
  • JVM之類加載與字節(jié)碼(一)

    JVM之類加載與字節(jié)碼(一)

    根據(jù) Java 虛擬機規(guī)范,Class 文件通過 ClassFile 定義。ClassFile 的結(jié)構(gòu)如下: 通過分析?ClassFile 的內(nèi)容,我們便可以知道 class 文件的組成。 下面這張圖是通過 IDEA 插件?jclasslib 查看的,你可以更直觀看到 Class 文件結(jié)構(gòu)。使用 jclasslib 不光可以直觀地查看某個類對應(yīng)的字節(jié)碼文件

    2024年02月14日
    瀏覽(21)
  • JVM之類加載與字節(jié)碼(二)

    JVM之類加載與字節(jié)碼(二)

    類從被加載到虛擬機內(nèi)存中開始到卸載出內(nèi)存為止,它的整個生命周期可以簡單概括為 7 個階段::加載(Loading)、驗證(Verification)、準備(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸載(Unloading)。其中,驗證、準備和解析這三個階段可以

    2024年02月13日
    瀏覽(31)
  • p7付費課程筆記:jvm基礎(chǔ)知識、字節(jié)碼、類加載器

    p7付費課程筆記:jvm基礎(chǔ)知識、字節(jié)碼、類加載器

    機器語言-編程語言-高級語言(java,c++,Go,Rust等) 面向過程–面向?qū)ο?面向函數(shù) java是一種面向?qū)ο?、靜態(tài)類型、編譯執(zhí)行,有VM(虛擬機)/GC和運行時、跨平臺的高級語言。重點:VM(虛擬機)/GC(Garbage Collector)和運行時、跨平臺。 跨平臺步驟:字節(jié)碼文件被虛擬機加載(

    2024年02月10日
    瀏覽(18)
  • 【Java高級應(yīng)用:深入探索Java編程的強大功能,JVM 類加載機制, JVM 內(nèi)存模型,垃圾回收機制,JVM 字節(jié)碼執(zhí)行,異常處理機制】

    本人詳解 作者:王文峰,參加過 CSDN 2020年度博客之星,《Java王大師王天師》 公眾號:JAVA開發(fā)王大師,專注于天道酬勤的 Java 開發(fā)問題 中國國學(xué)、傳統(tǒng)文化和代碼愛好者的程序人生,期待你的關(guān)注和支持!本人外號:神秘小峯 山峯 轉(zhuǎn)載說明:務(wù)必注明來源(注明:作者:

    2024年01月16日
    瀏覽(27)
  • JVM(字節(jié)碼文件詳解)

    JVM(字節(jié)碼文件詳解)

    類加載器 運行時數(shù)據(jù)區(qū)域 執(zhí)行引擎(主要理解垃圾回收器,及時編譯器) 本地方法 在講解字節(jié)碼文件組成前,可以安裝使用“ jclasslib ”工具或idea中“ jclasslib ”插件進行字節(jié)碼文件查看 jclasslib的Github地址: https://github.com/ingokegel/jclasslib

    2024年01月23日
    瀏覽(23)
  • 【JVM】字節(jié)碼文件的組成

    1. 魔數(shù)與Class文件版本 ?魔數(shù)是一個用于校驗字節(jié)碼文件是否有效的標識,位于文件開頭的前四個字節(jié),魔數(shù)之后是次版本號和主版本號,共同構(gòu)成了字節(jié)碼文件的版本號。 2.常量池 常量池是字節(jié)碼文件中的一個結(jié)構(gòu),包含了該類的所有常量,如數(shù)字,字符串,符號常量等。

    2024年02月02日
    瀏覽(47)
  • JVM系列-2.字節(jié)碼文件詳解

    JVM系列-2.字節(jié)碼文件詳解

    ??作者簡介:大家好,我是愛吃芝士的土豆倪,24屆校招生Java選手,很高興認識大家 ??系列專欄:Spring原理、JUC原理、Kafka原理、分布式技術(shù)原理、數(shù)據(jù)庫技術(shù)、JVM原理 ??如果感覺博主的文章還不錯的話,請??三連支持??一下博主哦 ??博主正在努力完成2023計劃中:源碼

    2024年01月22日
    瀏覽(44)
  • 【JVM】字節(jié)碼文件的組成部分

    【JVM】字節(jié)碼文件的組成部分

    ??個人主頁: ?? 葉落閑庭 ??我的專欄:?? c語言 數(shù)據(jù)結(jié)構(gòu) javaEE 操作系統(tǒng) Redis 石可破也,而不可奪堅;丹可磨也,而不可奪赤。 操作數(shù)棧是臨時存放數(shù)據(jù)的地方 局部變量表是存放方法中的局部變量的位置 觀察如下代碼的字節(jié)碼文件 具體的java源代碼: 要想看到j(luò)ava的字

    2024年02月08日
    瀏覽(27)
  • 一、認識 JVM 規(guī)范(JVM 概述、字節(jié)碼指令集、Class文件解析、ASM)

    一、認識 JVM 規(guī)范(JVM 概述、字節(jié)碼指令集、Class文件解析、ASM)

    JVM : Java Virtual Machine ,也就是 Java 虛擬機 所謂虛擬機是指:通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的計算機系統(tǒng)。 即:虛擬機是一個計算機系統(tǒng)。這種計算機系統(tǒng)運行在完全隔離的環(huán)境中,且它的硬件系統(tǒng)功能是通過軟件模擬出來的。 JVM 通

    2024年01月23日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包