`

OpenJDK 源码目录详解

    博客分类:
  • jvm
阅读更多

 

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

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

 

 

 

 

分享到:
评论

相关推荐

    openjdk8 源码

    描述中提到的源码替换方法,是为了方便开发者在没有完整OpenJDK源码环境下研究特定类,如`Unsafe`和`Cleaner`。通常,JDK的`src.zip`仅包含公共API的源码,而`sun.misc`等非公开包不在其中。通过将`sun.misc`内容...

    基于编译虚拟机jvm—openjdk的编译详解

    2. 解压缩OpenJDK源码并移动到合适位置,如/usr/目录下。 3. 安装Oracle JDK到/usr/java/路径下,并在/etc/profile中配置相关环境变量,包括BOOTSTRAP-JDK路径、ALT_JDK_IMPORT_PATH、HOTSPOT_BUILD_JOBS等。 4. ...

    openjdk-8u40-b25-linux-x64-10_feb_2015.tar.gz

    《OpenJDK 8u40-b25 Linux x64 源码与环境配置详解》 在软件开发领域,Java开发环境是不可或缺的一部分,其中OpenJDK作为开源的Java Development Kit,对于开发者而言具有重要的意义。本文将详细介绍OpenJDK 8u40-...

    openjdk-03

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

    byteball钱包打包文档说明

    - 安装Java开发工具包(JDK):通过sudo apt-get install openjdk-8-jdk命令安装OpenJDK 8版本。 - 安装cURL工具:使用sudo apt install curl命令进行安装。 - 安装NVM(Node Version Manager)和Node.js:使用...

    Bazel源码编译

    3. **配置环境**: 进入源码目录并配置编译选项。根据需要,你可以修改`src/main/bash/installer/install.sh`中的参数。 ``` cd bazel ``` 4. **编译源码**: 使用Bazel的`compile.sh`脚本来编译自身: ``` ./...

    基于macos Yosemite 10.10.5 编译的Hadoop2.7.1源码

    - 进入源码目录。 - 执行`./configure --with-java-home=$JAVA_HOME`来配置编译选项。 - 使用`make`命令开始编译。 - 如果出现错误,根据错误信息进行相应的调试。 4. **验证编译结果**: - 执行`make check`...

    hadoop2.2编译安装详解

    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 ``` 2. 配置Hadoop: 编辑`./conf/build.xml`,根据你的系统配置修改相关参数。 3. 执行Maven编译: ``` mvn package -DskipTests ``` 这将编译Hadoop源码并...

    Elasticsearch教程之部署详解文档

    ### Elasticsearch部署详解知识点 #### 一、Elasticsearch简介与特性 - **定义**:Elasticsearch是一款基于Lucene的开源搜索服务器,提供了分布式的全文检索功能。 - **特点**: - **RESTful接口**:支持HTTP请求...

    Kettle-9.5源码编译版

    《Kettle 9.5源码编译版详解与应用》 Kettle,又称为Pentaho Data Integration(PDI),是一款强大的开源ETL(Extract, Transform, Load)工具,被广泛应用于数据清洗、转换和加载等数据处理任务。这款工具以其易用...

    jdk-11.0.2_linux-x64_bin.tar.gz

    《深入理解Java开发环境:JDK 11.0.2 Linux 64位安装与配置详解》 在Java开发领域,JDK(Java Development Kit)是不可或缺的基础工具,它包含了开发和运行Java应用程序所需的所有组件。本文将详细介绍JDK 11.0.2在...

    安卓系统源码编译-(非常珍贵)

    【安卓系统源码编译详解】 安卓系统的源码编译是一项技术性极强的工作,涉及到多个环节和多种工具的配置。下面将详细讲解如何进行安卓源码的编译,包括编译环境的搭建、编译过程及遇到的常见问题与解决方法。 1. *...

    Android4.0编译烧写[归纳].pdf

    【Android4.0编译烧写过程详解】 在软件开发领域,尤其是针对嵌入式设备,编译和烧写操作系统是至关重要的步骤。对于Android系统,这个过程涉及到多个环节,包括环境配置、源码获取、编译配置以及目标文件生成等。...

    Linux下安装Eclipse/JRE/CDT开发C/C++

    【知识点详解】 1. **Linux开发环境** Linux操作系统是一个以C/C++为主要开发语言的平台,因其开源、稳定和高效而被广泛用于系统级和应用程序的开发。传统的Linux开发方式通常涉及使用文本编辑器(如vi/vim)编写...

    Centos 7 jdk安装包

    【Centos 7 JDK安装详解】 在Linux操作系统中,Java Development Kit(JDK)是进行Java编程的基础。对于CentOS 7系统来说,安装JDK是开发者或系统管理员的常见任务。本文将详细介绍如何在Centos 7上安装JDK,并提供...

    Android4.0编译烧写[参照].pdf

    《Android4.0编译烧写详解》 在Android开发领域,从源代码编译操作系统并烧写到设备上是一项复杂而重要的任务。本文将详细阐述Android 4.0(Ice Cream Sandwich,简称ICS)的编译和烧写过程,为开发者提供一份全面...

    Hadoop-Eclipse开发环境配置经验

    推荐使用OpenJDK,可以通过命令`sudo apt-get install openjdk-6-jdk`来安装。安装完毕后,可以通过`java -version`和`jps`命令来检查Java和Hadoop的安装情况。`jps`命令可以显示当前运行的Java进程,帮助我们查看...

    hue-4.10.0_Centos7.9安装部署手册.rar

    在 Hue 源码目录下,执行以下命令来编译和安装 Hue: ```bash make clean make apps sudo make install ``` 六、启动 Hue 服务 安装完成后,设置 Hue 为开机启动,并启动服务: ```bash sudo cp desktop/conf/...

    环境搭建.docx

    ### 环境搭建知识点详解 #### 一、RoboCup 3D仿真平台概述与环境准备 **RoboCup 3D仿真平台**主要用于机器人足球比赛的模拟,其核心组件包括SimSpark仿真环境和RoboViz仿真环境播放器。SimSpark是一款基于3D环境的...

Global site tag (gtag.js) - Google Analytics