文档章节

OpenJDK 源码目录详解 编辑

匡氏家族
 匡氏家族
发布于 2017/08/28 11:11
字数 428
阅读 16
收藏 0

下面我就介绍下每个目录:

agent--->主要是Serviceability Agent的实现。

make--->用来build出HotSpot的各种配置文件。

src------>HotSpot VM的源代码。

        |

        |

        cpu---->CPU相关代码。

        os----->操作系统相关的代码。

        os_cpu--->操作系统 + CPU组合的相关代码。

        share ---->平台无关的共通代码。

                |

                |

             tools---->相关工具

                    |

                    |

                    hsdis---->反汇编插件

                    IdealGraphVisualizer----->将Server编译器的中间代码可视化工 具 

                    launcher---->启动程序 "java"

                    LogCompilation-->将-XX:LogCompilation输出的日志

                                                 整理成更容易阅读的格式的工具。

                    ProjectCreator--->生成Visual Studio的project文件的工具。

               vm------->HotSpot VM 的核心代码

                    |

                    |

                    adlc--->平台描述文件

                    asm--->汇编器接口。

                    c1------>Client编译器。

                    ci------->动态编译器的公共服务/接口。

                    classfile--->类文件的处理(包括类加载和系统符号表符)

·                   code---->动态生成的代码管理。

                    compiler-->编译器接口。

                    gc_implementation-->GC的实现

                            |

                            |

                           concurrentMarkSweep--->Concurrent Mark Sweep GC的实现

                            g1-->Garbage-First GC的实现(不使用老的分带GC框架)

                            parallelScavenge-->ParallelScavenge GC的实现

                            parNew---->ParNew GC实现。

                            shared---->GC的共通实现。

                     gc_interface -----> GC的接口

                     interpreter --->解释器,包括模板解释器。

                     libadt  ----->一些抽象数据结构。

                     memory---->内存管理相关(老的分代式GC框架也在这里面)。

                    oops---->HotSpot VM的对象系统的实现。

                    opto------>Server编译器。

                    prims------>HotSpot VM 的对外接口,包括部分标准库的

                                     native部分和JVMTI的实现。

                    runtime---->运行时支持库(包括线程管理,编译器调度,锁,反                                         射等)。

                    services---->主要是用来支持JMX之类的管理功能的接口。

                    shark------->基于LLVM的JIT编译器。

                    utilities----->一些基本的工具类。

test----->单元测试。

© 著作权归作者所有

共有 人打赏支持
匡氏家族
粉丝 0
博文 2
码字总数 534
作品 0
徐汇
私信 提问
加载中

评论(1)

曾泽浩
想问下楼主,launcher目录去哪里了?
在Ubuntu 11.10和12.04 编译构建 OpenJDK 7

如何在Ubuntu 11.10和12.04 搭建OpenJDK 7 这篇文章将会知道你搭建OpenJDK 7 在你的64为Ubuntu Linux机上没有很多的尝试和错误。它基于官方OpenJDK搭建 但是这个README文件是过时的,这就是为...

zhouxingxing
2012/04/11
3K
4
Java 11 将至,不妨了解一下 Oracle JDK 之外的版本

Java 11 计划于本月,即 9 月 25 日发布。与 Java 10 不同,Java 11 不仅提供了长期支持,还将作为 Java 平台的参考实现。新的长期支持版本每三年发布一次,根据后续的发布计划,Java 17 将于...

局长
2018/09/11
11.4K
36
openJDK之如何下载各个版本的openJDK源码

如果我们需要阅读openJDK的源码,那么需要下载,那么该去哪下载呢? 现在JDK已经发展到版本10了,11已经处于计划中,如果需要特定版本的openJDK,它们的下载链接在哪呢? 1.openJDK的项目 链接...

汉斯-冯-拉特
2018/08/20
0
0
Mac OSX 10.10 Yosemite编译OpenJDK 9

在Mac OSX 10.10系统上编译了下OpenJDK9,以下仅是个人安装记录,供参考。 编译时间:2015-06-13 系统版本:Mac OS X Yosemite 10.10.4 编译OpenJDK版本:JDK 9 相关软件版本: XCode版本:X...

易水瑶
2015/06/13
0
2
Java 11 将至,除了 Oracle JDK 还有这些版本!

Java 11 计划于本月,即 9 月 25 日发布。与 Java 10 不同,Java 11 不仅提供了长期支持,还将作为 Java 平台的参考实现。新的长期支持版本每三年发布一次,根据后续的发布计划,Java 17 将于...

CSDN资讯
2018/09/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

jdk8-64

https://pan.baidu.com/s/1sunIF-dBeyDKjFEpuYFyTQ 密码:jhuj

默克鱼
33分钟前
2
0
CentOS 7 网络设置及静态IP配置

一、 CentOS 7 网络设置 使用 CentOS 7 NetInstall(最小安装盘)安装的CentOS默认是没有配置网络的,可以使用 ping 试一下,结果肯定是不能执行的,ping 指定ip不通是没有网络,ping域名不通是...

calmsnow
37分钟前
1
0
前端未来几年的路该怎么走?

在知乎上看到这么一个问题,觉得很有意思,以下是原提问者的见解 过去五年前端的发展过程基本上是一个工程化的过程,框架和工程化工具层出不穷。 近两年其实发展已经比较迟滞了。 框架方面:基...

前端攻城小牛
38分钟前
5
0
LIst的逆向遍历

public class list_demo { public static void main(String[] args) {// TODO Auto-generated method stub List list=new ArrayList<>(); list.add("a"); list.add("b");......

南桥北木
今天
3
0
MySQL插入性能优化

MySQL插入性能优化 标签: 博客 [TOC] 可以从如下几个方面优化MySQL的插入性能。 代码优化 values 多个 即拼接成一个insert values sql, 例如 INSERT INTO MyTable ( Column1, Column2, Co...

蒋先生66
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部