转自:http://blog.sina.com.cn/s/blog_636415010100wnc7.html
├─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输出的日志(hotspot.log)整理成更容易阅读的格式的工具
│ │ └─ProjectCreator 生成Visual Studio的project文件的工具
│ └─vm HotSpot VM的核心代码
│ ├─adlc 平台描述文件(上面的cpu或os_cpu里的*.ad文件)的编译器
│ ├─asm 汇编器接口
│ ├─c1 client编译器
│ ├─ci 动态编译器的公共服务/接口
│ ├─classfile 类文件的处理(包括类加载和系统符号表等)
│ ├─code 动态生成的代码的管理
│ ├─compiler 编译器接口
│ ├─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编译器
│ ├─prims HotSpot VM的对外接口,包括部分标准库的native部分和JVMTI实现
│ ├─runtime 运行时支持库(包括线程管理、编译器调度、锁、反射等)
│ ├─services 主要是用来支持JMX之类的管理功能的接口
│ ├─shark 基于LLVM的JIT编译器(官方版里没有使用)
│ └─utilities 一些基本的工具类
└─test 单元测试
分享到:
相关推荐
OpenJDK7的源代码结构分为几个主要部分: 1. **hotspot**: 这是OpenJDK中的虚拟机实现,包括JIT(Just-In-Time)编译器和垃圾收集器。HotSpot VM是Java程序运行的核心,负责解释和编译字节码,优化性能。 2. **jdk...
Compilation in the HotSpot VM Compilation in the HotSpot VM 是一篇关于 Java 虚拟机(Java Virtual Machine,JVM)的技术文档, 由 Oracle 公司的 HotSpot 编译器团队的 Zoltán Majó 撰写。该文档详细介绍了...
OpenJDK7的JVM采用了Hotspot技术,这是一种动态编译器,能够在运行时分析代码的执行情况,将执行频繁的热点代码编译为本地机器代码,以提高程序的运行速度。Hotspot包含两个主要的编译器:Client Compiler(C1)和...
文件列表中的"jdk8u275-b01"很可能是指解压后得到的OpenJDK 8u275b01的根目录,其中包含了诸如bin、include、jre、lib等子目录,分别存储着可执行文件、头文件、Java运行时环境和库文件等关键组件。开发者可以通过...
HotSpotSourceCodeExploration 基于OpenJDK10的HotSpot VM源代码的研究与探索。
AdoptOpenJDK使用基础结构,构建和测试脚本来从OpenJDK™类库以及OpenJDK HotSpot或Eclipse OpenJ9 VM中选择生成预构建的二进制文件。 所有AdoptOpenJDK二进制文件和脚本都是开源许可的,并且免费提供。
1. **HotSpot VM**:这是 OpenJDK 中最为核心的部分,负责 Java 应用程序的运行。它包括了虚拟机、编译器、垃圾收集器等组件。在 Ubuntu 中,你可以通过构建源码来了解其工作流程。 2. **JDK**:这部分包含了 Java ...
AdoptOpenJDK11 ... AdoptOpenJDK uses infrastructure , build and test scripts to produce prebuilt binaries from OpenJDK™ class libraries and a choice of either OpenJDK or the Eclipse OpenJ9 VM.
#### 三、解压后的目录结构 解压OpenJDK 8源码包后,可以看到以下主要目录和文件: 1. **.jcheck**:此文件夹包含了用于检查JDK版本兼容性的脚本和配置文件。 2. **common**:这是一个包含跨平台共享代码的目录...
学习JDK 源码必备,提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。 但不一定所有人都知道的是,这个目前看起来“血统纯正”的虚拟机在最初...
本书深入浅出地讲解了 HotSpot 虚拟机的工作原理,将隐藏在它内部的本质内容逐一呈现在读者面前,包 括 OpenJDK 与 HotSpot 项目、编译和调试 HotSpot 的方法、HotSpot 内核结构、Launcher、OOP-Klass 对象表 示系统...
在`openjdk-7u4-fcs-src-b22-02_may_2012`中,我们可以看到`hotspot`目录,这里包含了HotSpot虚拟机的源码。其中,`vm`子目录是虚拟机的主要实现,`compiler`目录涉及JIT编译器,而`interpreter`则包含了解释器的...
- **HotSpot VM**:OpenJDK 7中的JVM主要基于HotSpot虚拟机,它实现了动态编译(JIT)和垃圾收集(GC)等核心功能。HotSpot通过分析代码执行情况,将频繁执行的“热点”代码转化为机器码,提升性能。 - **Garbage ...
AdoptOpenJDK 版本8U272 ... AdoptOpenJDK uses infrastructure, build and test scripts to produce prebuilt binaries from OpenJDK™ class libraries and a choice of either OpenJDK or the Eclipse OpenJ9 VM.
2. 垃圾收集器:OpenJDK 8提供了多种垃圾收集器,如Serial、Parallel、G1等,源码位于`hotspot/src/share/vm/runtime/gc_*`目录下。 3. JIT编译器:HotSpot虚拟机的Just-In-Time(JIT)编译器在`hotspot/src/share/...
1. **了解结构**:首先熟悉源码的目录结构,理解各个组件和模块的作用。 2. **阅读文档**:查阅官方文档和开发者指南,了解 OpenJDK 的设计理念和实现细节。 3. **研究关键组件**:深入学习 HotSpot 虚拟机、类加载...
OpenJDK8U-jdk-aarch64-linux-hotspot-8u372b07.tar.gz 是一个针对arm架构的Linux系统优化的Java Development Kit(JDK)版本,主要适用于在基于ARM处理器的设备上进行Java应用程序和库的开发。这个版本是OpenJDK 8...
1. 在 `hotspot/src/share/vm/gc_implementation/g1` 目录下的 `g1SATBCardTableModRefBS.cpp` 文件中,定位到 `write_ref_array_pre_work` 方法的定义位置。 2. 在 `write_ref_array_pre_work` 方法下方添加以下...
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) ``` #### 总结 通过以上步骤,用户可以在 CentOS 7 系统上手动安装指定版本的 Oracle JDK,并且能够自由选择安装路径。这种方式相比默认安装 ...
**HotSpot VM**作为Sun JDK和OpenJDK的核心组件之一,是当前应用最为广泛的Java虚拟机。HotSpot VM最初并不是由Sun公司开发,而是源于一家名为Longview Technologies的小公司所设计的虚拟机——Strongtalk VM。这款...