`
robotmen
  • 浏览: 55671 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

OpenJDK-Hotspot源码包目录结构

 
阅读更多

openjdk 
—— corba:不流行的多语言、分布式通讯接口 
—— hotspot:Java 虚拟机 
—— jaxp:XML 处理 
—— jaxws:一组 XML web services 的 Java API 
—— jdk:java 开发工具包 
—— —— 针对操作系统的部分 
—— —— share:与平台无关的实现 
—— langtools:Java 语言工具 
—— nashorn:JVM 上的 JavaScript 运行时

 

其中Hotspot就是我们要看的JVM

Hotspot:全称 Java HotSpot Performance Engine,是 Java 虚拟机的一个实现,包含了服务器版和桌面应用程序版。利用 JIT 及自适应优化技术(自动查找性能热点并进行动态优化)来提高性能。

Hotspot的目录结构

├─agent                            Serviceability Agent的客户端实现
├─make                             用来build出HotSpot的各种配置文件
├─src                              HotSpot VM的源代码
│  ├─cpu                            CPU相关代码(汇编器、模板解释器、ad文件、部分runtime函数在这里实现)
│  ├─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编译器(又称“C1”)
│          ├─ci                         动态编译器的公共服务/从动态编译器到VM的接口
│          ├─classfile                  类文件的处理(包括类加载和系统符号表等)
│          ├─code                       动态生成的代码的管理
│          ├─compiler                   从VM调用动态编译器的接口
│          ├─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编译器(又称“C2”或“Opto”)
│          ├─prims                      HotSpot VM的对外接口,包括部分标准库的native部分和JVMTI实现
│          ├─runtime                    运行时支持库(包括线程管理、编译器调度、锁、反射等)
│          ├─services                   主要是用来支持JMX之类的管理功能的接口
│          ├─shark                      基于LLVM的JIT编译器(官方版里没有使用)
│          └─utilities                  一些基本的工具类
└─test                             单元测试

 

 

分享到:
评论

相关推荐

    openjdk-8-src-b132-03_mar_2014源码

    2. 垃圾收集器:OpenJDK 8提供了多种垃圾收集器,如Serial、Parallel、G1等,源码位于`hotspot/src/share/vm/runtime/gc_*`目录下。 3. JIT编译器:HotSpot虚拟机的Just-In-Time(JIT)编译器在`hotspot/src/share/...

    openjdk-7-fcs-src-b147-27_jun_2011.zip

    《OpenJDK 7源码解析与探索》 OpenJDK是Java开发工具包(Java Development Kit)的一个开源实现,它的出现打破了Oracle JDK的封闭性,为Java开发者提供了丰富的源代码参考和学习资源。"openjdk-7-fcs-src-b147-27_...

    openjdk-17 GA源码(jdk17-jdk-17-ga.tar.gz)

    OpenJDK 17 GA的源码分为多个模块,包括HotSpot虚拟机、JDK库、编译器、内存管理等。主要关注以下几个关键部分: 1. `hotspot`:HotSpot虚拟机是OpenJDK的核心,负责执行字节码和垃圾收集。源码包含了JVM的内存管理...

    openjdk源码1

    本文将围绕OpenJDK 7的源码进行深入探讨,基于文件名`openjdk-7u4-fcs-src-b22-02_may_2012`的源码包,我们将深入了解OpenJDK的架构、设计原则以及关键组件的工作原理。 首先,OpenJDK的核心组件之一是HotSpot...

    openjdk-18 GA源码(jdk18-jdk-18-ga.zip)

    例如,`src/hotspot`目录下的源码涉及了虚拟机的实现,包括解析和执行字节码的解释器、即时编译器以及内存管理系统等。 深入研究OpenJDK 18 GA的源码,对于Java开发者来说是一次宝贵的学习机会。不仅可以了解到Java...

    openjdk hotspot源码

    OpenJDK Hotspot源码是Java开发者深入理解Java虚拟机(JVM)工作原理的关键资源。Hotspot JVM是Oracle公司开发的开源Java虚拟机实现,它以高效的性能优化著称,包括即时编译(JIT)和动态优化。在深入探讨Hotspot...

    openjdk-8u40-src-b25-10_feb_2015

    打开压缩包,我们看到主要的源代码目录结构,这包括以下几个核心部分: 1. **hotspot**:这是OpenJDK中的Java虚拟机(JVM)实现,名为HotSpot。HotSpot包含编译器、垃圾回收器、内存管理等关键组件,它的即时编译...

    openjdk-6-src-b27-26_oct_2012

    标题"openjdk-6-src-b27-26_oct_2012"指的是OpenJDK 6的源码包,具体版本为b27,发布于2012年10月26日。这个源码包包含了OpenJDK 6的全部源代码,是开发者探索Java平台内部工作原理的重要资料。 OpenJDK 6源码的...

    openjdk7u源码

    3. **编译器与性能优化**:OpenJDK的JIT编译器(如C1和C2)位于"src/hotspot/share"目录下,通过源码分析可以了解如何将字节码转换为高效的机器代码。 4. **垃圾收集器**:OpenJDK的垃圾收集算法如Parallel GC、...

    opentjdk-8u41源码(openjdk-8u41-src-b04-14_jan_2020.zip)

    通过研究OpenJDK 8u41源码,开发者不仅可以深入理解Java语言的底层实现,还可以学习到如何优化代码、提高程序性能、设计高效的数据结构和算法。此外,对于那些想要参与Java社区贡献或者希望自定义JDK的开发者来说,...

    openjdk8源码官网下载地址

    解压OpenJDK 8源码包后,可以看到以下主要目录和文件: 1. **.jcheck**:此文件夹包含了用于检查JDK版本兼容性的脚本和配置文件。 2. **common**:这是一个包含跨平台共享代码的目录,如一些公共的类库文件。 3....

    openjdk8完整源码

    OpenJDK的源码展示了如何将Java的类结构转化为内存中的对象,包括类加载机制、实例化过程以及垃圾回收策略。 2. 字节码执行:Java的字节码由JVM负责解释执行。OpenJDK的HotSpot虚拟机中,通过即时编译(JIT)技术将...

    OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.zip

    这可能是解压后的目录结构,表示OpenJDK 1.8u302的b08构建版本。通常,解压缩后会包含各种JDK组件,如bin目录下的可执行文件(如java、javac等)、lib目录下的类库、include目录下的头文件以及docs、src等其他资源...

    openjdk8-hotspot:openjdk8 热点

    在分析和研究OpenJDK 8-hotspot源码时,可以重点关注以下几个方面: 1. **编译器实现**:了解C1和C2编译器的编译策略,以及它们如何选择和优化代码。 2. **垃圾回收器**:研究不同GC的实现细节,以及如何调整和优化...

    openjdk-03

    - **项目结构**:OpenJDK 项目包含 HotSpot JVM、JDK 工具、核心类库等组件,每个组件都有清晰的源码目录结构,如 `src/hotspot` 代表 HotSpot 虚拟机代码,`src/jdk` 包含 Java API 的实现。 2. **编译过程** - ...

    Openjdk11源码

    源码中包含了`java.util.concurrent`包的实现,包括各种线程安全的数据结构和并发工具类。 4. **模块系统**:Java 9引入了模块系统(Project Jigsaw),在OpenJDK 11中进一步成熟。源码中包含了模块化的实现,这...

    openjdk1.6

    OpenJDK源码主要分为几个关键部分:HotSpot虚拟机、语言类库(包括基础类库如java.lang和java.util)、编译器(如JIT,Just-In-Time编译器)、内存管理系统、垃圾收集器、JVM内核服务以及各种API实现。每部分都有其...

    hotspot源码

    本文将围绕HotSpot源码,探讨其背后的设计理念与实现细节,帮助读者深化对Java虚拟机的理解。 首先,HotSpot虚拟机的核心功能包括类加载、内存管理、执行引擎和垃圾收集器等。在源码层面,这些功能模块的实现都是...

    openjdk8 源码下载

    1. **了解结构**:首先熟悉源码的目录结构,理解各个组件和模块的作用。 2. **阅读文档**:查阅官方文档和开发者指南,了解 OpenJDK 的设计理念和实现细节。 3. **研究关键组件**:深入学习 HotSpot 虚拟机、类加载...

Global site tag (gtag.js) - Google Analytics