文档章节

OpenJDK 源码目录详解 编辑

匡氏家族
 匡氏家族
发布于 2017/08/28 11:11
字数 428
阅读 13
收藏 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
徐汇
openJDK之如何下载各个版本的openJDK源码

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

汉斯-冯-拉特
08/20
0
0
Java 11 将至,除了 Oracle JDK 还有这些版本!

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

CSDN资讯
09/11
0
0
Java 11 将至,不妨了解一下 Oracle JDK 之外的版本

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

局长
09/11
0
35
Centos7 JDK7安装配置

一、准备工作卸载OpenJDK 1.查找需要卸载的OpenJDK[xsdbc@localhost ~]$ rpm -qa | grep openjdk | grep -v grepjava-1.7.0-openjdk-1.7.0.75-2.5.4.2.el70.x8664java-1.6.0-openjdk-devel-1......

Cennac
2015/01/31
0
0
centos 安装JAVA 三种方法

由于各Linux开发厂商的不同,因此不同开发厂商的Linux版本操作细节也不一样,今天就来说一下CentOS下JDK的安装: 方法一:手动解压JDK的压缩包,然后设置环境变量 1.在/usr/目录下创建java目录 ...

微笑出品
2017/10/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

请在移动端使用 先选择画笔

先选择画笔 请在移动端使用 https://lxz096.github.io/Canvas-/画板.html

壹峰
17分钟前
0
0
getSupportFragmentManager().beginTransaction().add报错cannot resolve method 'add'

getSupportFragmentManager().beginTransaction().add报错cannot resolve method 'add' 是导包的问题,所有包要保持一致,有app下的包,要保证都为app下的包 v4的包要保证都为v4的包...

lanyu96
31分钟前
0
0
linux 安装redis

Redis的安装 http://redis.io/download 官方安装例子 $ wget http://download.redis.io/releases/redis-4.0.11.tar.gz $ tar xzf redis-4.0.11.tar.gz $ cd redis-4.0.11 $ make //启动 $ sr......

苏牧影子
33分钟前
1
0
图(graph)

图(graph) 图是非线性数据结构,是一种较线性结构和树结构更为复杂的数据结构,在图结构中数据元素之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。 1、概念 1.定义 图(g...

星汉
37分钟前
1
0
好用的vue组件

http://elickzhao.github.io/2017/08/vue%E4%B8%80%E4%BA%9B%E7%89%B9%E5%88%AB%E6%9C%89%E7%94%A8%E7%9A%84%E6%8F%92%E4%BB%B6/...

Littlebox
53分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部