网站首页 / 育儿 / 正文

jdk源码阅读顺序(jdk源码垃圾)

时间:2022-04-14 14:17:23 浏览:2644次 作者:用户投稿 【我要投诉/侵权/举报 删除信息】

多条告白如次剧本只需引入一次

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:一组 XML web services 的 Java API

—— jdk:java 开拓东西包

—— —— 对准操纵体例的局部

—— —— share:与平台无干的实行

—— langtools:Java 谈话东西

—— nashorn:JVM 上的 JavaScript 运转时

4、由于要领会jvm假造机。以是加入hotspot目次下

个中Hotspot即是咱们要看的JVM包

Hotspot:全称 Java HotSpot Performance Engine,是 Java 假造机的一个实行,包括了效劳器版和桌面运用步调版。运用 JIT 及自符合优化本领(机动搜索本能热门齐头并进动作态优化)来普及本能。

运用 java -version 不妨察看 Hotspot 的本子。

[machao@dev ~]$ java -versionopenjdk version “1.8.0_144”OpenJDK Runtime Environment (build 1.8.0_144-b01)OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)[machao@dev ~]$OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)即是本子。

以是:咱们详解hotspot目次构造

├─agent Serviceability Agent的存户端实行

├─make 用来build出HotSpot的百般摆设文献

├─src HotSpot VM的源代码

│ ├─cpu CPU关系代码(汇编器、沙盘证明器、ad文献、局部runtime因变量在这边实行)

│ ├─os 操纵系关系代码

│ ├─os_cpu 操纵体例+CPU的拉拢关系的代码

│ └─share 平台无干的共同代码

│ ├─tools 东西

│ │ ├─hsdis 反汇编插件

│ │ ├─IdealGraphVisualizer 将server编写翻译器的中央代码可视化的东西

│ │ ├─launcher 启用步调“java”

│ │ ├─LogCompilation 将-XX:+LogCompilation输入的日记(hotspot.log)整治成更简单观赏的方法的东西

│ │ └─ProjectCreator 天生Visual Studio的project文献的东西

│ └─vm HotSpot VM的中心代码

│ ├─adlc 平台刻画文献(上头的cpu或os_cpu里的*.ad文献)的编写翻译器

│ ├─asm 汇编器接口

│ ├─c1 client编写翻译器(又称“C1”)

│ ├─ci 动静编写翻译器的大众效劳/从动静编写翻译器到VM的接口

│ ├─classfile 类文献的处置(囊括类加载和体例标记表等)

│ ├─code 动静天生的代码的处置

│ ├─compiler 从VM挪用动静编写翻译器的接口

│ ├─gc_implementation GC的实行

│ │ ├─concurrentMarkSweep Concurrent Mark Sweep GC的实行

│ │ ├─g1 Garbage-First GC的实行(不运用老的分代式GC框架)

│ │ ├─parallelScavenge ParallelScavenge GC的实行(server VM默许,不运用老的分代式GC框架)

│ │ ├─parNew ParNew GC的实行

│ │ └─shared GC的共同实行

│ ├─gc_interface GC的接口

│ ├─interpreter 证明器,囊括“沙盘证明器”(官方版在用)和“C++证明器”(官方版不在用)

│ ├─libadt 少许笼统数据构造

│ ├─memory 外存处置关系(老的分代式GC框架也在这边)

│ ├─oops HotSpot VM的东西体例的实行

│ ├─opto server编写翻译器(又称“C2”或“Opto”)

│ ├─prims HotSpot VM的对外接口,囊括局部规范库的native局部和JVMTI实行

│ ├─runtime 运转时扶助库(囊括线程处置、编写翻译器安排、锁、曲射等)

│ ├─services 主假如用来扶助JMX之类的处置功效的接口

│ ├─shark 鉴于LLVM的JIT编写翻译器(官方版里没有运用)

│ └─utilities 少许基础的东西类

└─test 单位尝试

版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人,因此内容不代表本站观点、本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至353049283@qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。