OpenJDK 源码目录详解

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容