大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java字節碼文件詳解

Java字節碼文件詳解

更新時間:2022-09-19 11:21:59 來源:動力節點 瀏覽2675次

相信大家對Java字節碼文件多少都有一些了解,還不是很清楚的小伙伴可以看看字節碼文件的擴展名.class介紹。我們在使用IDEA工具編寫java代碼時,當執行程序時,IDEA會使用JDK幫我們執行編譯命令,在target目錄下生成對應的.class文件。

編譯前:

執行程序后:

這一步操作,就是將.java文件編譯成JVM可執行的.class文件,也叫做字節碼文件。

.class文件介紹

在 Java 中,JVM 可以執行的代碼就叫做字節碼(即擴展名為 .class 的文件),它不面向任何特定的處理器,只面向虛擬機。Java 語言通過字節碼的方式,在一定程度上解決了傳統解釋型語言執行效率低的問題并且保留了解釋型語言可移植的特點,而通過即時編譯器(jit)又有編譯型語言執行效率高的特點。所以 Java 程序運行時比較高效。Java通過字節碼文件和虛擬機jvm之間的關系,做到了平臺無關性,一次編譯,各平臺都可運行。

能在Java虛擬機上運行的語言,不僅僅只有Java,比如:Groovy、Scala 等語言都是運行在 Java 虛擬機之上。下圖展示了不同的語言被不同的編譯器編譯成.class文件最終運行在 Java 虛擬機之上。

使用winhex打開后如下

.class文件結構

Java源文件在被Java編譯器編譯之后, 每個類(或者接口)都單獨占據一個class文件, 并且類中的所有信息都會在class文件中有相應的描述, 由于class文件很靈活, 它甚至比Java源文件有著更強的描述能力。

class文件中的信息是一項一項排列的, 每項數據都有它的固定長度, 有的占一個字節, 有的占兩個字節, 還有的占四個字節或8個字節, 數據項的不同長度分別用u1, u2, u4, u8表示, 分別表示一種數據項在class文件中占據一個字節, 兩個字節, 4個字節和8個字節。 可以把u1, u2, u3, u4看做class文件數據項的“類型”

一個典型的class文件分為:MagicNumber,Version,Constant_pool,Access_flag,This_class,Super_class,Interfaces,Fields,Methods 和Attributes這十個部分,用一個數據結構可以表示如下:

以上就是關于“Java字節碼文件詳解”的介紹,大家如果感興趣,不妨來關注一下動力節點的Java在線學習,里面的課程內容從入門到精通,細致全面,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩成人免费视频 | 中国一级特黄高清免费的大片 | 日韩在线国产 | 伊人久热这里只有精品视频99 | 97综合视频| 免费国产小视频在线观看 | 日韩精品一区二区三区免费视频 | 成人小视频在线 | 亚洲国产精品综合久久网络 | 日本一区二区三区四区五区 | 成人小视频在线 | 亚洲一区二区三区高清不卡 | 天天操天天插 | 亚州毛色毛片免费观看 | 日本一区视频在线 | 一级做性色a爱片久久片 | www.黄| 免费aa毛片 | 欧美一级欧美三级 | 欧美a一片xxxx片 | 天天射天天射天天干 | 久久精品国产免费一区 | 久久久久久网站 | 91精品啪在线观看国产老湿机 | 四虎影院在线视频 | 深夜网站在线观看 | 久久久久久免费观看 | 欧美亚洲综合在线观看 | 国产乱码精品一区二区三区卡 | 国产不卡在线观看视频 | 久久久久久久久久免观看 | 久久草精品视频 | 久久久亚洲伊人色综合网站 | 欧美国产精品亚洲精品第一区 | 无套嗨操 | 91精品国产色综合久久 | 成人国内精品久久久久影院 | 国产在线91区精品 | 全部免费特黄特色大片中国 | 日韩欧美国产一区二区三区 | 国产精品福利久久香蕉中文 |