HotSpot VM(Oracle JDK 6/Oracle JDK 7/OpenJDK 6/OpenJDK 7) 他们的源码结构基本都差不多
├─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 单元测试
相关推荐
open jdk8 源码
然而,值得注意的是,Oracle JDK中的"sun"包在OpenJDK中是不公开的,这部分源码通常包含Oracle特定的实现和优化,因此在OpenJDK中难以找到。这正是标题中提到的问题,但即便如此,OpenJDK依然提供了大量可供学习和...
- 当你打开JDK源码时,IDEA通常会显示一个带有“Open in New Tab”(在新标签页中打开)按钮的提示框,点击它可以更方便地查看源码。 - 使用`Ctrl + Shift + F7`(Mac用户使用`Cmd + Shift + F7`)可以在当前文件...
4. 在Eclipse的Package Explorer或Project Explorer视图中,可以看到源码结构,如`launcher`、`org`、`javax`、`java`和`com`等,这些都是Java的核心包名。 5. 可以通过双击或右键点击某个类,选择"Open Declaration...
查看JDK8源码时,发现com.sun.*、sun.*、org.* 等包下的类没有在src.zip源码里面,所有下载了一份全量的源码包,除了有Java源码还有虚拟机源码,及本地方法源码。
### 在Eclipse或MyEclipse中引入JDK源码 #### 背景与意义 在进行Java开发的过程中,特别是当开发者需要深入了解某些类、接口或方法的具体实现时,查看其源码是一种非常有效的学习手段。然而,在使用Eclipse或...
OpenJDK,全称为Open Source Java Development Kit,是Java开发工具集的一个开源实现,它为Java平台提供了一个开放源代码的实现,包括HotSpot虚拟机、Java类库和开发工具等核心组件。本文将围绕OpenJDK 7的源码进行...
### OpenJDK 8 源码下载及结构解析 #### 一、OpenJDK 8 概述 OpenJDK(Open Java Development Kit)是Java Platform, Standard Edition (Java SE)的一个开源实现,它完全遵循Java SE的技术规范。OpenJDK 8是基于...
openjdk 8 的源代码包,其中包含了native部分的源代码(c语言编写),在使用集成开发环境查看源代码时,无法查看到的native源码可以在这里找到。
jdk 1.5源码 之前csdn上有看到 但是明显大小不对了 完整的应该有56M 由于大小限制 分割成4部分上传的
3. **记录类(Record Classes)**:自Java 14开始引入的实验特性,Java 18进一步完善,记录类提供了简洁的语法来定义不可变的数据结构,简化了编码和调试。 4. **开关表达式(Switch Expressions)**:自Java 12起...
OpenJDK是JDK的一个开源实现,其源代码开放给公众查看和修改,这符合开放源码的定义,也是"系统开源"这一标签的体现。 OpenJDK项目始于2006年,由Sun Microsystems发起,后来Oracle收购了Sun并继续推动OpenJDK的...
jdk源码解析 :open_book: 程序猿探险记 Kong子:“学而不思则罔,思而不学则殆。” :memo: 目录 Java基础 Java如何将一个Java对象序列化到文件里 静态代理与动态代理 | 初始进洞(上) 静态代理与动态代理 | 初识...
学Java的最佳途径之一就是坚持阅读它的源码,不是JRE的源码,那些你读了也吸收不了多少,而是常用类库的源码,就是我们常用的那些类,尤其是集合类。源码里蕴含着丰富的代码技巧,设计模式,编程风格,绝对是大师级...
它包含了许多用于实现SSL/TLS、S/MIME和OpenPGP标准的类库。 2. **BCProv-jdk15on-165**: BCProv是Bouncy Castle的加密服务提供者,它扩展了Java Cryptography Extension (JCE) 和 Java Cryptography ...
openjdk 7u的源码,可以用来编译jvm(已编译成功),深入理解java虚拟机。由于资源上传限制,7u和6两个源码压缩为3个分卷,请下载3个分卷放在同一文件夹中再解压。自用资源,放心下载。
open-jdk1.8分析 JDK原始分析注释,原始版本打开JDK1.8,目的是让用户节省阅读原始时间 使用方法 IDEA配置方法想法->文件->项目结构-> SDK->源路径->单击+号后->选择克隆的项目目录Eclipse配置方法Eclipse-> Windows...
OpenJDK(Open Java Development Kit),是一个开源的、包含Java编译器、JVM(Java虚拟机)以及Java运行时库的软件开发工具包。 最新版本的OpenJDK是21.0.3_9。这个版本是在先前版本的基础上进行了一些重要的改进和...
JDK(Java Development Kit)是Oracle公司提供的Java开发工具包,而OpenJDK(Open Java Development Kit)则是一个开源版本的JDK实现,两者都包含了Java运行环境(JRE)和开发工具。JDK8是Java编程语言的一个重要...