OpenJDK 源码目录详解

OpenJDK 源码目录详解_第1张图片
下面我就介绍下每个目录:

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----->单元测试。

你可能感兴趣的:(OpenJDK 源码目录详解)