http://rednaxelafx.iteye.com/blog/1549577

http://blog.csdn.net/fancyerii/article/details/7007503

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

openjdk源码阅读的更多相关文章

  1. 转-OpenJDK源码阅读导航跟编译

    OpenJDK源码阅读导航 OpenJDK源码阅读导航 博客分类: Virtual Machine HotSpot VM Java OpenJDK openjdk 这是链接帖.主体内容都在各链接中.  ...

  2. openjdk源码阅读导航

    转自:http://rednaxelafx.iteye.com/blog/1549577 这是链接帖.主体内容都在各链接中. 怕放草稿箱里过会儿又坑掉了,总之先发出来再说…回头再慢慢补充内容. 先把I ...

  3. OpenJDK 源码阅读之 LinkedList

    概要 类继承关系 java.lang.Object java.util.AbstractCollection<E> java.util.AbstractList<E> java ...

  4. java8 ArrayList源码阅读

    转载自 java8 ArrayList源码阅读 本文基于jdk1.8 JavaCollection库中有三类:List,Queue,Set 其中List,有三个子实现类:ArrayList,Vecto ...

  5. openJDK之如何下载各个版本的openJDK源码

    如果我们需要阅读openJDK的源码,那么需要下载,那么该去哪下载呢? 现在JDK已经发展到版本10了,11已经处于计划中,如果需要特定版本的openJDK,它们的下载链接在哪呢? 1.openJDK ...

  6. 走进JVM之一 自己编译openjdk源码

    想要深入了解JVM,就必须了解其实现机制.了解JVM实现的最好方法便是自己动手编译JDK.好了,让我们开始吧! 1.  准备工作 获取OpenJDK源码 本次编译选择的是OpenJDK7u,官方源码包 ...

  7. ThreadPoolExecutor 源码阅读

    目录 ThreadPoolExecutor 源码阅读 Executor 框架 Executor ExecutorService AbstractExecutorService 构造器 状态 Worke ...

  8. [置顶] OpenJDK源码研究笔记(九)-可恨却又可亲的的异常(NullPointerException)

    可恨的异常 程序开发过程中,最讨厌异常了. 异常代表着程序出了问题,一旦出现,控制台会出现一屏又一屏的堆栈错误信息. 看着就让人心烦. 对于一个新人来讲,遇到异常经常会压力大,手忙脚乱,心生畏惧. 可 ...

  9. OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)

    摘要 本文先给出一个看似很简单实则有深意的Java笔试面试题,引出JDK内部的缓存. JDK内部的缓存,主要是为了提高Java程序的性能. 你能答对这道"看似简单,实则有深意"的J ...

随机推荐

  1. 关于sentinel LDK加密war包实现应用加密的使用方法

    经过一周多时间的研究,终于对sentinel产品的使用有个基本的掌握.其中走了不少的弯路,特此记录一下,以备后面回顾. 开发前的用料准备: windows 10 x64位, tomcat7 x64bi ...

  2. android 编译错误 Error:(1, 0) Plugin with id 'com.android.application' not found.

    在导入一个项目时,由于它本身的gradle版本比较高,你试用比较旧版本的gradle时就报出Plugin with id 'com.android.application' not found.的错误 ...

  3. Ubuntu下qemu环境搭建

    在查找资料过程中,发现自己搭建虚拟的arm环境的话,有一个比较好的软件就是qemu了,当然还有其他的,大家各投所好就好. 接下来说一下qemu环境搭建过程. 其实搭建很简单,作为小白,我还是捣鼓了两三 ...

  4. 关于Unity中Mecanim动画的重定向与动画混合

    应用 一个RPG游戏,里面有100种怪物,每种怪物其实都差不多的,行走,跳跃,攻击,难道动画师要调100次动画吗?其实不需要 Unity抽象出人形动画系统,用Unity简化版的骨骼来进行统一的管理,只 ...

  5. git远程库与本地联系报错fatal: Not a git repository (or any of the parent directories): .git

    在github上新建了一个仓库,然后相与本地的仓库联系起来 $ git remote add origin https://github.com/liona329/learngit.git fatal ...

  6. 利用MATLAB进行曲线拟合

    软件环境:MATLAB2013a 一.多项式拟合 多项式拟合是利用多项式最佳地拟合观测数据,使得在观测数据点处的误差平方和最小. 在MATLAB中,利用函数ployfit和ployval进行多项式拟合 ...

  7. mysql 合理创建索引

    场景: KEY `index_gscode_f4_f7` (`gscode`,`f4`,`f7`) USING BTREE KEY `index_gscode_f7_f4` (`gscode`,`f7 ...

  8. C++多线程中调用python api函数

    错误场景:一直等待全局锁. 解决方法: 一.首先定义一个封装类,主要是保证PyGILState_Ensure, PyGILState_Release配对使用,而且这个类是可以嵌套使用的. #inclu ...

  9. e833. 获得JTabbedPane中的卡片

    This example retrieves all the tabs in a tabbed pane: // To create a tabbed pane, see e828 创建JTabbed ...

  10. JavaScript资源收集分享,持续更新中。。。

    平时收集的一些JavaScript资源,分享给大家 jQuery UI jEasyUI Extensions http://jqext.sinaapp.com 布局做的挺不错,有比较复杂的菜单导航.P ...