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

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

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

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

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

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源碼目錄結構這里上圖:

解釋:

openjdk

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

——hotspot:Java虛擬機

——jaxp:XML處理

——jaxws:一組XMLwebservices的JavaAPI

——jdk:java開發工具包

————針對操作系統的部分

————share:與平臺無關的實現

——langtools:Java語言工具

——nashorn:JVM上的JavaScript運行時

4、因為要了解jvm虛擬機。所以進入hotspot目錄下

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

Hotspot:全稱JavaHotSpotPerformanceEngine,是Java虛擬機的一個實現,包含了服務器版和桌面應用程序版。利用JIT及自適應優化技術(自動查找性能熱點并進行動態優化)來提高性能。

使用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目錄結構

├─agentServiceabilityAgent的客戶端實現

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

├─srcHotSpotVM的源代碼

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

│├─os操作系相關代碼

│├─os_cpu操作系統+CPU的組合相關的代碼

│└─share平臺無關的共通代碼

│├─tools工具

││├─hsdis反匯編插件

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

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

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

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

│└─vmHotSpotVM的核心代碼

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

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

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

│├─ci動態編譯器的公共服務/從動態編譯器到VM的接口

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

│├─code動態生成的代碼的管理

│├─compiler從VM調用動態編譯器的接口

│├─gc_implementationGC的實現

││├─concurrentMarkSweepConcurrentMarkSweepGC的實現

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

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

││├─parNewParNewGC的實現

││└─sharedGC的共通實現

│├─gc_interfaceGC的接口

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

│├─libadt一些抽象數據結構

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

│├─oopsHotSpotVM的對象系統的實現

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

│├─primsHotSpotVM的對外接口,包括部分標準庫的native部分和JVMTI實現

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

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

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

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

└─test單元測試

猜你喜歡

主站蜘蛛池模板: 国产三级在线观看视频 | 欧美高清视频手机在在线 | av狼论坛| 天堂免费在线视频 | 91精品视频免费 | 洋老外米糕国产一区二区 | 欧美精品色精品一区二区三区 | 国产大片在线看 | 综合图片亚洲网友自拍10p | 8050网午夜一级毛片免费不卡 | 2021国产精品自在拍在线播放 | 厕拍精品 | 精品免费久久久久久成人影院 | 三级网站免费观看 | 久久成人免费观看全部免费 | 国产美女主播一级成人毛片 | 精品一区二区三区在线观看 | 亚洲精品精品一区 | 在线看a级片| 三级三级三级网站网址 | 99视频在线观看视频一区 | 生活片一级播放免费 | 国产精品二区在线 | 欧美一级精品高清在线观看 | 免费观看成人久久网免费观看 | 国产深夜福利 | 免费成人一级片 | 亚洲an日韩专区在线 | 国产欧美视频一区二区三区 | 国产日本韩国不卡在线视频 | 精品国产品国语在线不卡丶 | 国产精品一区二区久久精品涩爱 | 香蕉网影院在线观看免费 | 国产成人无精品久久久 | 午夜mm131美女做爰视频 | 玖玖在线免费视频 | 日本一区二区三区高清在线观看 | 日本免费一区二区三区视频 | 国产三级中文字幕 | 亚洲成人一区二区 | 中文字幕1区 |