观看麻豆影视文化有限公司-国产 高清 在线-国产 日韩 欧美 亚洲-国产 日韩 欧美 综合-日日夜夜免费精品视频-日日夜夜噜

jdk源碼閱讀順序(jdk源碼垃圾)

  • 生活
  • 2023-04-25 12:27
  • 65
多條廣告如下腳本只需引入一次

1、先說一下源碼解析的過程:JDK–>JRE–>JVM(以openJDK代替)

注意:這里要了解jdk和jre和jvm他們分別是什么?以及他們的關(guān)系才可以繼續(xù)。這里先上一章從網(wǎng)上下載的關(guān)系圖方便理解

2、筆者本地的jdk是oraclejdk,jvm所在位置就是安裝的jdk。jdk下jre下bin下server下的jvm.dll。也就是F:Javajdkjdk1.7.0_60jrebinserver這里的jvm.dll。因為jvm.dll不能看,所以這里以下載的openjdk源碼作為解析(openjdk-7u40-fcs-src-b43-26_aug_2013.zip)。

3、openjdk源碼目錄結(jié)構(gòu)這里上圖:

解釋:

openjdk

——corba:不流行的多語言、分布式通訊接口

——hotspot:Java虛擬機(jī)

——jaxp:XML處理

——jaxws:一組XMLwebservices的JavaAPI

——jdk:java開發(fā)工具包

————針對操作系統(tǒng)的部分

————share:與平臺無關(guān)的實現(xiàn)

——langtools:Java語言工具

——nashorn:JVM上的JavaScript運(yùn)行時

4、因為要了解jvm虛擬機(jī)。所以進(jìn)入hotspot目錄下

其中Hotspot就是我們要看的JVM包

Hotspot:全稱JavaHotSpotPerformanceEngine,是Java虛擬機(jī)的一個實現(xiàn),包含了服務(wù)器版和桌面應(yīng)用程序版。利用JIT及自適應(yīng)優(yōu)化技術(shù)(自動查找性能熱點(diǎn)并進(jìn)行動態(tài)優(yōu)化)來提高性能。

使用java-version可以查看Hotspot的版本。

[machao@dev~]$java-versionopenjdkversion“1.8.0_144”OpenJDKRuntimeEnvironment(build1.8.0_144-b01)OpenJDK64-BitServerVM(build25.144-b01,mixedmode)[machao@dev~]$

OpenJDK64-BitServerVM(build25.144-b01,mixedmode)就是版本。

所以:我們詳解hotspot目錄結(jié)構(gòu)

├─agentServiceabilityAgent的客戶端實現(xiàn)

├─make用來build出HotSpot的各種配置文件

├─srcHotSpotVM的源代碼

│├─cpuCPU相關(guān)代碼(匯編器、模板解釋器、ad文件、部分runtime函數(shù)在這里實現(xiàn))

│├─os操作系相關(guān)代碼

│├─os_cpu操作系統(tǒng)+CPU的組合相關(guān)的代碼

│└─share平臺無關(guān)的共通代碼

│├─tools工具

││├─hsdis反匯編插件

││├─IdealGraphVisualizer將server編譯器的中間代碼可視化的工具

││├─launcher啟動程序“java”

││├─LogCompilation將-XX:+LogCompilation輸出的日志(hotspot.log)整理成更容易閱讀的格式的工具

││└─ProjectCreator生成VisualStudio的project文件的工具

│└─vmHotSpotVM的核心代碼

│├─adlc平臺描述文件(上面的cpu或os_cpu里的*.ad文件)的編譯器

│├─a***匯編器接口

│├─c1client編譯器(又稱“C1”)

│├─ci動態(tài)編譯器的公共服務(wù)/從動態(tài)編譯器到VM的接口

│├─classfile類文件的處理(包括類加載和系統(tǒng)符號表等)

│├─code動態(tài)生成的代碼的管理

│├─compiler從VM調(diào)用動態(tài)編譯器的接口

│├─gc_implementationGC的實現(xiàn)

││├─concurrentMarkSweepConcurrentMarkSweepGC的實現(xiàn)

││├─g1Garbage-FirstGC的實現(xiàn)(不使用老的分代式GC框架)

││├─parallelScavengeParallelScavengeGC的實現(xiàn)(serverVM默認(rèn),不使用老的分代式GC框架)

││├─parNewParNewGC的實現(xiàn)

││└─sharedGC的共通實現(xiàn)

│├─gc_interfaceGC的接口

│├─interpreter解釋器,包括“模板解釋器”(官方版在用)和“C++解釋器”(官方版不在用)

│├─libadt一些抽象數(shù)據(jù)結(jié)構(gòu)

│├─memory內(nèi)存管理相關(guān)(老的分代式GC框架也在這里)

│├─oopsHotSpotVM的對象系統(tǒng)的實現(xiàn)

│├─optoserver編譯器(又稱“C2”或“Opto”)

│├─primsHotSpotVM的對外接口,包括部分標(biāo)準(zhǔn)庫的native部分和JVMTI實現(xiàn)

│├─runtime運(yùn)行時支持庫(包括線程管理、編譯器調(diào)度、鎖、反射等)

│├─services主要是用來支持JMX之類的管理功能的接口

│├─shark基于LLVM的JIT編譯器(官方版里沒有使用)

│└─utilities一些基本的工具類

└─test單元測試

猜你喜歡

主站蜘蛛池模板: 免费网站18| 日韩亚洲一区中文字幕在线 | 免费欧洲毛片a级视频 | 全午夜免费一级毛片 | 亚洲天堂一区 | 国产精品青草久久久久福利99 | 亚洲欧美日韩国产专区一区 | 成人一级片在线观看 | 99免费在线播放99久久免费 | 国产三级免费观看 | 亚洲深夜 | 久草中文在线观看 | 国产精品一区二区久久精品 | 国产精品单位女同事在线 | 国产91精品在线 | 国产精品秒播无毒不卡 | 中国美女一级黄色片 | 久久三级毛片 | xxx国产老太婆视频 xxx欧美老熟 | 亚洲精品国产精品国自产观看 | 性欧美videofree中文字幕 | 国产福利最新手机在线观看 | 久久福利青草精品资源站免费 | 99视频在线精品免费观看18 | 国产精品免费看久久久久 | 国产一级一级一级成人毛片 | 精品毛片 | 狠狠综合久久久久综合 | 久久久久久免费视频 | 国产高清视频免费观看 | 一级啊片| 欧美日韩精品一区二区三区 | 久久综合中文字幕一区二区三区 | 91精品手机国产露脸 | 日本精品一区二区三区在线视频一 | 久草视频在线免费看 | 美女在线看永久免费网址 | 免费永久在线观看黄网 | 97免费视频在线 | 中文字幕一区二区三区精品 | 成人亚洲欧美日韩在线 |