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. [maven] settings 文件 本地maven仓库

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  2. 深入浅出 kvm qemu libvirt

    在所谓的kvm技术中,应用到的其实有2个东西:qemu+kvmkvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备:qemu是模拟IO设备(网卡,磁盘),kvm加上 ...

  3. Tornado + Celery + RabbitMQ

    声明:代码是从项目中截取的, 为进行测试 使用Celery任务队列,Celery 只是一个任务队列,需要一个broker媒介,将耗时的任务传递给Celery任务队列执行,执行完毕将结果通过broker ...

  4. python进行数据分析------相关分析

    相关分析 import statsmodels.api as sm import pandas as pd import numpy as np from patsy.highlevel import ...

  5. C++ 面向对象 类成员函数this指针

    每个类成员函数都只涉及一个对象, 即调用它的对象. 但有时候方法可能涉及到两个对象, 在这种情况下需要使用C++ 的 this 指针 假设将方法命名为topval(), 则函数调用stock1.top ...

  6. (笔记)Linux 如何查看线程数最佳解决方案

    背景:很多学linux的人都会使用ps查看进程状态,却一直不清楚如何查看线程的状态. 方法:可使用ps -a 或 ps -T命令查看 一.使用ps -a命令查看 比如拿我的测试进程./lc300-le ...

  7. 为什么运行PHP就会出现404错误?

    2007-05-09 12:40Googfox | 分类:浏览器 | 浏览8146次 我在IIS中安装了Zend Core 2.0,IIS中用主机头值设置了许多80端口的网站,但是不管在这些网站中的哪 ...

  8. 笔记关闭fn功能

    使用笔记本在vs开发中调试需要加fn+10进行调试,一点都不方便,使用fn+esc(fnLock)这个功能就可以关闭fn功能

  9. 联想服务器RD450 配置RAID5

    实验环境: 1.服务器型号 ThinkServer RD450 2.四块1TB普通SATA硬盘 实验目的: 配置RAID 5 ,搭建公司文件共享服务器使用. 标注:本教程四块硬盘全做RAID 5,如果 ...

  10. Can't read [proguard.ClassPathEntry@1a0c10f] (No such file or directory)

    //该错误无法识别,是因为你使用了旧版本的proguard,建议你下载新版本4.5以上的proguard来替代Android SDK中使用的旧版sdcard 这样你就可以知道错误所在.因为只有4.5版 ...