- 浏览: 3046508 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
陆续被许多同好问过HotSpot VM源码阅读方面的问题。
最近留意到日本的同行组织了一系列的活动,挺有趣的:
http://nothingcosmos.github.io/OpenJDKOverview/
http://nothingcosmos.wiki.fc2.com/wiki/C2Compilerの概要
2011-06-11: 第1回JVMソースコードリーディングの会(OpenJDK6)
要点:
·ClassFileParser(hotspot/src/share/vm/classfile/classFileParser.*)
·基本的解释器实现
2011-07-17: 第2回JVMソースコードリーディングの会(OpenJDK6)
要点:
·Class文件的校验器
·java.util.concurrent的一部分(FutureTask)
2011-08-20: 第3回JVMソースコードリーディングの会(OpenJDK6)
要点:
·JVM内部数据结构的组织(hotspot/src/share/vm/memory、hotspot/src/share/vm/oops)(@miyakawa_taku)
·Serial GC(hotspot/src/share/vm/gc_implementation/shared/markSweep.cpp等)(@ytoshima) 演示稿
2011-10-22: 第4回JVMソースコードリーディングの会(OpenJDK6)
要点:
·模板解释器(hotspot/src/share/vm/interpreter/templateInterpreter.cpp等)(@kmizu) 演示稿
·动态编译器之Client Compiler(hotspot/src/share/vm/c1)(@nothingcosmos) 演示稿 文档
2011-11-19: 第5回JVMソースコードリーディングの会(OpenJDK6)
要点:
·动态编译器之Server Compiler(hotspot/src/share/opto)(@ytoshima) 笔记
·并行GC(hotspot/src/share/vm/gc_implementation/parallelScavenge)(@nminoru_jp) 演示稿
2012-02-28: 第6回JVMソースコードリーディングの会(OpenJDK6)
要点
·并发GC(hotspot/src/share/vm/gc_implementation/concurrentMarkSweep)(@nminoru_jp) 演示稿
补充资料
·动态编译器之Shark,与模板解释器(hotspot/src/share/vm/shark/* 与 hotspot/src/share/interpreter/template*)(@ytoshima) 演示稿
2012-06-23: 第7回JVMソースコードリーディングの会(OpenJDK6)
要点
=============================================================
所以…
如果我们这边也组织类似的本地的源码阅读活动,规模在20人左右,在周末开展,每次活动围绕一两个事先约定的主题外加自由讨论,时间长度在2小时左右,会有人感兴趣么?
另外杭州这边有本地的JUG么?之前一直都没留意到有。
网上活动的麻烦之处在于没好用的白板。很多事情有白板的话一下就说清楚了。
看来活动能开成,我看看场地之类的要怎么弄
我是webex的,可以free提供, 白板也是支持的(非广告!)
...我看看场地之类的要怎么弄
呵呵还真是费心了,场地的话能否考虑公司支持?或者咖啡厅?
网上活动的麻烦之处在于没好用的白板。很多事情有白板的话一下就说清楚了。
看来活动能开成,我看看场地之类的要怎么弄
最近留意到日本的同行组织了一系列的活动,挺有趣的:
http://nothingcosmos.github.io/OpenJDKOverview/
http://nothingcosmos.wiki.fc2.com/wiki/C2Compilerの概要
2011-06-11: 第1回JVMソースコードリーディングの会(OpenJDK6)
要点:
·ClassFileParser(hotspot/src/share/vm/classfile/classFileParser.*)
·基本的解释器实现
2011-07-17: 第2回JVMソースコードリーディングの会(OpenJDK6)
要点:
·Class文件的校验器
·java.util.concurrent的一部分(FutureTask)
2011-08-20: 第3回JVMソースコードリーディングの会(OpenJDK6)
要点:
·JVM内部数据结构的组织(hotspot/src/share/vm/memory、hotspot/src/share/vm/oops)(@miyakawa_taku)
·Serial GC(hotspot/src/share/vm/gc_implementation/shared/markSweep.cpp等)(@ytoshima) 演示稿
2011-10-22: 第4回JVMソースコードリーディングの会(OpenJDK6)
要点:
·模板解释器(hotspot/src/share/vm/interpreter/templateInterpreter.cpp等)(@kmizu) 演示稿
·动态编译器之Client Compiler(hotspot/src/share/vm/c1)(@nothingcosmos) 演示稿 文档
2011-11-19: 第5回JVMソースコードリーディングの会(OpenJDK6)
要点:
·动态编译器之Server Compiler(hotspot/src/share/opto)(@ytoshima) 笔记
·并行GC(hotspot/src/share/vm/gc_implementation/parallelScavenge)(@nminoru_jp) 演示稿
2012-02-28: 第6回JVMソースコードリーディングの会(OpenJDK6)
要点
·并发GC(hotspot/src/share/vm/gc_implementation/concurrentMarkSweep)(@nminoru_jp) 演示稿
补充资料
·动态编译器之Shark,与模板解释器(hotspot/src/share/vm/shark/* 与 hotspot/src/share/interpreter/template*)(@ytoshima) 演示稿
2012-06-23: 第7回JVMソースコードリーディングの会(OpenJDK6)
要点
=============================================================
所以…
如果我们这边也组织类似的本地的源码阅读活动,规模在20人左右,在周末开展,每次活动围绕一两个事先约定的主题外加自由讨论,时间长度在2小时左右,会有人感兴趣么?
另外杭州这边有本地的JUG么?之前一直都没留意到有。
评论
9 楼
上帝的后花园
2012-03-01
google group上还有一个日本建立的 openjdk source code reading 的圈子,可惜全是日文
http://groups.google.com/group/openjdk-source-code-reading?pli=1
啥时候搞个中文圈子嘛,咱也跟着学学
http://groups.google.com/group/openjdk-source-code-reading?pli=1
啥时候搞个中文圈子嘛,咱也跟着学学
8 楼
rockyfxl
2012-02-27
RednaxelaFX 写道
pf_miles 写道
限定在杭州..也就是要面基了?网上活动有木有?
网上活动的麻烦之处在于没好用的白板。很多事情有白板的话一下就说清楚了。
看来活动能开成,我看看场地之类的要怎么弄
我是webex的,可以free提供, 白板也是支持的(非广告!)
7 楼
changcheng
2012-02-27
非常有兴趣,这活动非常好~!
6 楼
pf_miles
2012-02-24
RednaxelaFX 写道
pf_miles 写道
限定在杭州..也就是要面基了?网上活动有木有?
...我看看场地之类的要怎么弄
呵呵还真是费心了,场地的话能否考虑公司支持?或者咖啡厅?
5 楼
RednaxelaFX
2012-02-24
pf_miles 写道
限定在杭州..也就是要面基了?网上活动有木有?
网上活动的麻烦之处在于没好用的白板。很多事情有白板的话一下就说清楚了。
看来活动能开成,我看看场地之类的要怎么弄
4 楼
pf_miles
2012-02-24
限定在杭州..也就是要面基了?网上活动有木有?
如果实在要面基的话我也报个名,跟你们学习下;简单说下我对编程语言前端实现有一些心得,后端上基本没有从最底层做,最多target到java或其它现成的语言上;非常希望了解和借鉴成熟vm的实现,好做一些语言porting还有一些后续计划。有组织有纪律的话也是种鞭策~还有位置的话让我来吧?
如果实在要面基的话我也报个名,跟你们学习下;简单说下我对编程语言前端实现有一些心得,后端上基本没有从最底层做,最多target到java或其它现成的语言上;非常希望了解和借鉴成熟vm的实现,好做一些语言porting还有一些后续计划。有组织有纪律的话也是种鞭策~还有位置的话让我来吧?
3 楼
east_java
2012-02-24
有兴趣
2 楼
panggezi
2012-02-23
很有兴趣,请尽快安排开展吧,我先报名。
1 楼
miroku
2012-02-23
非常感兴趣,可惜,人在北京
发表评论
-
The Prehistory of Java, HotSpot and Train
2014-06-02 08:18 0http://cs.gmu.edu/cne/itcore/vi ... -
MSJVM and Sun 1.0.x/1.1.x
2014-05-20 18:50 0当年的survey paper: http://www.sym ... -
Sun JDK1.4.2_28有TieredCompilation
2014-05-12 08:48 0原来以前Sun的JDK 1.4.2 update 28就已经有 ... -
IBM JVM notes (2014 ver)
2014-05-11 07:16 0Sovereign JIT http://publib.bou ... -
class data sharing by Apple
2014-03-28 05:17 0class data sharing is implement ... -
HotSpot Server VM与Server Class Machine
2014-02-18 13:21 0HotSpot VM历来有Client VM与Server V ... -
Java 8的lambda表达式在OpenJDK8中的实现
2014-02-04 12:08 0三月份JDK8就要发布首发了,现在JDK8 release c ... -
GC stack map与deopt stack map的异同
2014-01-08 09:56 0两者之间不并存在包含关系。它们有交集,但也各自有特别的地方。 ... -
HotSpot Server Compiler与data-flow analysis
2014-01-07 17:41 0http://en.wikipedia.org/wiki/Da ... -
基于LLVM实现VM的JIT的一些痛点
2014-01-07 17:25 0同事Philip Reames Sanjoy Das http ... -
tailcall notes
2013-12-27 07:42 0http://blogs.msdn.com/b/clrcode ... -
Christmas Wish 2013?
2013-10-23 12:27 0For me: Apple MacBook Pro with ... -
Java的instanceof是如何实现的
2013-09-22 16:57 0Java语言规范,Java SE 7版 http://docs ... -
oop、klass、handle的关系
2013-07-30 17:34 0oopDesc及其子类的实例 oop : oopDesc* ... -
《深入理解Java虚拟机(第二版)》书评
2013-07-08 19:19 0值得推荐的中文Java虚拟机入门书 感谢作者赠与的样书,以下 ... -
豆列:从表到里学习JVM实现
2013-06-13 14:13 48349刚写了个学习JVM用的豆列跟大家分享。 豆列地址:http: ... -
hotspot: print heap layout
2013-05-28 10:46 0VM vm = VM.getVM(); CollectedH ... -
对象的多面性
2013-04-28 01:27 0(未经许可请勿转载。欲转载请与我联系:@RednaxelaFX ... -
KVM各种笔记
2013-04-18 13:50 0原来现在还可以下载到KVM源码的。 用java cldc ri ... -
借HSDB来探索HotSpot VM的运行时数据
2013-04-16 09:08 87137(未经许可请勿转载。 ...
相关推荐
有将近1500个C/C++头引用和源代码文件,整个虚拟机的代码加起来差不多有25万行。这些源代码中含有大家所期望看到的类装载器的实现,以及字节码解释器,其他相关辅助的运行时子程序;还有两个runtime编译器...
HotSpot JVM 的编译过程可以分为几个阶段,包括 Java 源代码编译、字节码生成、类加载、链接、初始化、执行和优化等。 在 HotSpot JVM 中,编译过程是由即时编译器(Just-In-Time,JIT)完成的。即时编译器可以在...
在实际的HotSpot VM源码中,FastScanClosure会与CardTable协同工作。CardTable是一个用来快速标记堆内存块是否被修改的数据结构。当通过putfield方法修改对象字段时,会将对应的CardTable条目设置为脏,这有助于后续...
Hotspot VM的名字来源于其核心理念——热点代码检测,即自动识别并优化执行频繁的代码段,从而提高整体程序的运行效率。本文将围绕Hotspot VM的源码进行深入探讨,揭示其内部工作机制。 一、Hotspot VM的架构 ...
HotSpotSourceCodeExploration 基于OpenJDK10的HotSpot VM源代码的研究与探索。
深入研究HotSpot源码,不仅可以提高我们对Java虚拟机运行机制的理解,还有助于提升代码优化和性能调优的能力。无论是对于解决实际问题,还是进行系统级编程,都是一次宝贵的学习机会。因此,掌握HotSpot源码,对于每...
学习JDK 源码必备,提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。 但不一定所有人都知道的是,这个目前看起来“血统纯正”的虚拟机在最初...
Hotspot源码是Java开发中的重要参考资料,它揭示了Java虚拟机(JVM)的工作原理。Oracle JDK中的Hotspot JVM是Java程序运行的核心,负责字节码解释、编译优化以及垃圾回收等关键任务。Hotspot源码的分析有助于开发者...
首先,我们需要编译包含调试信息的Java源代码,这可以通过添加`-g`选项实现。然后,启动一个Java程序,使其运行到我们关心的代码位置,例如在Test.fn()方法内。这时,我们可以利用jdb(Java Debugger)设置断点,并...
编译器:java源代码被编译器编译成class文件(字节码),java字节码在运行时可以被动态编译(JIT)成本地代码(前提是解释与编译混合执行模式且虚拟机不是刚启动时)。 解释器: 解释器用来解释class文件(字节码),...
《Java虚拟机精讲》以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法...
本书深入浅出地讲解了 HotSpot 虚拟机的工作原理,将隐藏在它内部的本质内容逐一呈现在读者面前,包 括 OpenJDK 与 HotSpot 项目、编译和调试 HotSpot 的方法、HotSpot 内核结构、Launcher、OOP-Klass 对象表 示系统...
本书以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器...
本书以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器...
2006年,在JavaOne大会上,Sun公司宣布计划将其JDK开源,并在接下来的一年内,逐步将HotSpot VM的源代码以GPL协议公开,从而形成了OpenJDK项目的基础。这标志着HotSpot VM正式成为Sun JDK和OpenJDK两个实现高度一致...
本书以极其精练的语句诠释了 HotSpot VM的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析 HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器...
##### 源代码示例 ```c case SVM_INSTRUCTION_IADD: { /* instruction body */ jint value1 = stack[stack_size - 2].jint; jint value2 = stack[--stack_size].jint; stack[stack_size - 1].jint = value1 + ...
OpenJDK的开放源代码特性使得开发者能够查看、修改和分发其源代码,促进了Java技术的创新和发展。 OpenJDK中的"HotSpot"是指Java虚拟机的一种实现,它是由Sun Microsystems(后被Oracle收购)开发的。HotSpot VM以...