源码结构图,方便理解:
├─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 单元测试
原文地址:http://hllvm.group.iteye.com/group/topic/26998#193368
分享到:
相关推荐
JDK 1.8的HotSpot可能包含了优化的JIT编译策略和垃圾回收算法,例如G1垃圾收集器,它在大内存应用中提供了更好的性能和响应时间。 在JDK 1.8中,还有一项重要改进是 Nashorn JavaScript引擎的引入,这使得Java可以...
HotSpot源码的分析有助于我们理解JVM的内存模型、垃圾收集机制、类加载过程以及优化策略。在HotSpot中,关键组件如解释器、即时编译器(C1和C2)和运行时系统都有C++实现,这些源码提供了对JVM内部运作的深度洞察。 ...
《深入剖析JDK8 Hotspot源码》 Hotspot是Oracle JDK中的一个关键组件,它是一款高效的Java虚拟机(JVM)。JDK8u-hotspot源码提供了对Hotspot内部工作原理的深入了解,这对于Java开发者优化性能、调试问题以及理解...
在HotSpot源码中,我们可以找到以下关键部分: 1. **编译器(Compilers)**:HotSpot包含两个主要的编译器——C1(Client Compiler)和C2(Server Compiler)。C1用于快速启动,而C2用于长期运行的应用,提供更高的...
Hotspot源码是Java开发中的重要参考资料,它揭示了Java虚拟机(JVM)的工作原理。Oracle JDK中的Hotspot JVM是Java程序运行的核心,负责字节码解释、编译优化以及垃圾回收等关键任务。Hotspot源码的分析有助于开发者...
学习JDK 源码必备,提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。 但不一定所有人都知道的是,这个目前看起来“血统纯正”的虚拟机在最初...
OpenJDK Hotspot源码是Java开发者深入理解Java虚拟机(JVM)工作原理的关键资源。Hotspot JVM是Oracle公司开发的开源Java虚拟机实现,它以高效的性能优化著称,包括即时编译(JIT)和动态优化。在深入探讨Hotspot...
HotSpot源码的开放,为开发者提供了深入理解Java运行机制的宝贵资料。在本文中,我们将聚焦于JDK8u262版本的HotSpot虚拟机源码,探讨其关键组件和工作原理,以期提升我们的Java编程技艺。 一、HotSpot虚拟机简介 ...
本文将围绕HotSpot源码,探讨其背后的设计理念与实现细节,帮助读者深化对Java虚拟机的理解。 首先,HotSpot虚拟机的核心功能包括类加载、内存管理、执行引擎和垃圾收集器等。在源码层面,这些功能模块的实现都是...
VM是虚拟机的规范,HotSpot是jvm的具体实现。 HotSpot包括一个解释器和两个编译器(client 和 server,二选一的),解释与编译混合执行模式,默认启动解释执行。 编译器:java源代码被编译器编译成class文件(字节码...
《深入解析JDK6底层C++源码与HotSpot虚拟机》 JDK(Java Development Kit)是Java编程语言的开发环境,其中包含了Java运行时环境、编译器以及各种工具。JDK6作为Java历史上的一个重要版本,其底层源码的分析对于...
《深入解析JDK9:C++底层源码与HotSpot虚拟机》 JDK9作为Java发展历程中的一个重要版本,引入了多项创新性改进,其中包括对HotSpot虚拟机的优化和增强。HotSpot虚拟机是Oracle JDK的核心部分,负责运行Java应用程序...
下载后直接去本机jdk目录里替换jdk中的src.zip 再打开idea就能看到中文版的源码注释 示例 https://blog.csdn.net/a7459/article/details/106495622
深入理解Hotspot源码,有助于开发者优化Java应用,理解内存管理、垃圾收集的工作原理,以及如何利用JVM工具进行性能调优。对于Java程序员来说,这是一门必不可少的进阶课程,能提升代码编写和问题排查的效率,使应用...
5. **编译器优化**:Sun JDK的源码可能包括了HotSpot虚拟机的一些优化技术,比如即时编译(JIT,Just-In-Time)和逃逸分析等。 6. **集合框架**:`java.util`包中的集合类,如ArrayList、HashMap、LinkedList等,其...
2. 深入理解JVM:通过阅读`sun.jvmstat`、`sun.hotspot`等包的源码,可以深入了解JVM的运行机制,如垃圾收集、性能监控等。 3. 解决问题:当遇到JVM级别的问题时,查看sun包源码往往能提供直接的解决方案。 总之,...
7. **jdk.internal.vm.compiler.management**:这部分源码涉及到JVM的内置编译器(如HotSpot JIT编译器)的管理接口。它提供了监控和调整编译策略的手段。 8. **jdk.jdwp.agent**:Java调试协议(JDWP)代理的源码...
openjdk是Oracle开源的JDK实现 原始目录介绍 src ├── cpu [CPU相关] | ├── ppc | ├── sparc | ├── x86 | ├── zero ├── os [操作系统相关] | ├── aix | ├── bsd | ├── linux | ├── ...