- 浏览: 3048905 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (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分享的概要
刚写了个学习JVM用的豆列跟大家分享。
豆列地址:http://book.douban.com/doulist/2545443/
下面把豆列的介绍贴过来。具体书单请到上面的豆列地址那边去看。
在社会化分工、软件行业细分专业化的趋势下,会真的参与到底层系统实现的人肯定是越来越少(比例上说)。真的会参与到JVM实现的人肯定是少数。
但如果您对JVM是如何实现的有兴趣、充满好奇,却苦于没有足够系统的知识去深入,那么这个豆列就是为您打好基础而准备的。
如果只想用用Java用用JVM,对深入到实现细节无甚兴趣的话,这个豆列就请不必参考了,免得浪费钱浪费时间精力,呵呵 :-)
本豆列的脉络是:
1. JVM与Java语言规范
要了解JVM是如何实现的,首先必须要知道JVM到底是什么、不是什么,表面上应该提供怎样的功能。为此,JVM规范必读,而且应该时常放在手边参考。
而JVM的主要服务对象是Java编程语言。虽然JVM也可以支持众多其它语言,但JVM里的“J”仍然最重要,Java的语言特性影响了JVM的原始设计,所以Java语言规范也应该阅读。特别是,JVM关于线程和同步相关的规定都是交由Java语言规范的相关章节定义的。
2. 虚拟机概论
这里选取《Virtual Machines: Versatile Platforms for Systems and Processes》,帮助您了解“虚拟机”一词到底指代什么,有什么不同类型,大概有哪些实现方法,等等。读完这本书有助获得一个清晰的大局观。
3. 为Java程序员从用户的角度介绍JVM的使用经验的几本书
虽然这几本并没有深入到JVM实现的非常细节的角落,但对已经习惯用Java语言编程的程序员来说,有这么几本书带领自己从熟悉的领域进入不熟悉的领域总是件好事。
这几本书中,最深入JVM内部的是《Oracle JRockit: The Definitive Guide》;有丰富调优建议的是《Java Performance》;结合实现大概介绍JVM的抽象概念的是周志明的《深入理解Java虚拟机》。
4. 虚拟机的入门级实现
先通过《Language Implementation Patterns》了解编程语言的一些入门级实现方式,把高级语言编译器与虚拟机两个概念联系起来。
然后通过《プログラミング言語を作る》了解非常简易的、用树遍历式以及字节码式解释器实现虚拟机大概是个怎么回事。虽然这本书没有实现JVM,但它介绍的Diksam与早期JVM的实现颇有相似之处,可参考。
接下来《深入嵌入式Java虚拟机》介绍了一种实际的JVM——KVM的实现细节。KVM是CLDC的参考实现(RI)里的JVM,结构简单,资源消耗小,适合入门阅读。
这部分最后是《The School of Niklaus Wirth》,里面有一章介绍了HotSpot Client Compiler (C1)的原始设计思路。这是个非常简单、但相对来说性能还不错的JIT编译器,可用于对JIT编译器的基本了解。这本书本身就很赞,不为学习虚拟机也可以一读。
需要注意的是从“简易的JVM实现”到“高性能、复杂的JVM实现”跨度非常大;前者的许多部分的实现方式与后者相当不同。先从简易的实现开始入手主要是为了对JVM里大概都有些什么组件有所了解。但如果目标是了解高性能JVM的实现,那就必须在GC、编译原理方面打下更好的基础,重新洗一次脑。
5. C++基础书
下面要开始逐渐深入JVM的内部实现,如果没有良好的C或(与?)C++基础会比较吃力。虽然也有几乎完全用Java语言实现的高性能JVM,例如Maxine VM与Jikes RVM,但它们都是研究性质的;商用JVM实现仍然是C与C++的天下。
这里我先推荐C++之父自己写的那本书来入门。虽然BS巨巨后来还出过本新书,而近来也渐渐开始有介绍C++11的入门书,但实际上现在多数JVM实现用的还是C99或非常古老的C++(连C++03都不一定用到了),所以用这本老书应该就够了。
然后通过《深度探索C++对象模型》来学习C++对象模型的常见实现方式。这对后面理解Java对象模型的实现很有帮助。
6. GC与编译原理的入门书
GC书总共就那么几本,倒也没啥可挑的。《The Garbage Collection Handbook》是绝对必读。
编译原理的书就稍微尴尬些。现有的编译原理书大都针对静态编译器、针对像C或C++那样的偏静态、偏native的语言。我还没读到过什么编译原理书是专门介绍JIT编译器或者说动态编译器的。静态与动态编译器会有些取舍上、实现策略上的差异,不过还好其核心的原理都是一样的,所以还是可以推荐几本书。龙书用来最初入门,鲸书用来补充一些优化相关的知识,EAC第二版用来学习编译器一种比较良好的逻辑组织方式,最后学一下针对现代机器的优化。
7. 介绍计算机体系结构的书
实际JVM实现里,如果有JIT编译器或者动态编译器那它们的编译目标多半是底层机器的机器码。这就涉及到计算机体系结构了。
如果您只对Java语言和抽象的JVM有一定了解,那可以用《计算机组成及汇编语言原理》来入门。这本书比较奇葩,用JVM的字节码指令集来当作真实机器介绍体系结构的概念。我并不太喜欢这本书,但感觉它对有Java背景的初学者来说应该有点用。要注意的是千万别只读这本书来入门,请结合下面要介绍的一本书来重新洗一次脑。
如果对C或C++已经有所了解,那《深入理解计算机系统》(CSAPP)是计算机体系结构入门的最适合的书了。
8. 进一步阅读
到此为止各种抽象概念应该都了解得差不多了。那么要在真实的机器上实现高性能JVM,就必须要对真实机器的指令集细节有所了解。x86/x86-64、SPARC、ARM、MIPS,要在哪个平台上做高性能实现就要学习哪个平台的指令集及指令级别优化技巧。这里就不具体推荐书了。
操作系统层面的知识同样重要。像是说JVM要实现线程、内存分配啥的,都可能要跟系统调用或CRT对系统调用的包装打交道。这部分也需要另外找书来读。我回头再考虑下要不要加几本道这个豆列里来。
另外,从80年代开始高级语言虚拟机的实现技术有了突飞猛进的发展,但却没有专门的书对这个领域做综述和导读。多数有用的资料其实还是在论文里。光靠读书是远远不够用的,论文这块也请关注。
顺便广告一下:我的博客里关于虚拟机的文章也推荐给大家参考:http://rednaxelafx.iteye.com/blog/362738
=====================================
这个豆列没有漏掉 《Inside the Java Virtual Machine, Second Edition》 ,中文版《深入Java虚拟机(原书第2版)》,只是我现在已经不再推荐它。这本书刚出版的时候确实引起了一番学习Java虚拟机的热潮,但其部分内容从现在的角度看已经过时,特别是涉及JVM实现的部分。像火车算法什么的现在已经没有JVM实现使用。不过话说回来,了解了解这些过时的信息也没什么不好,前提是能自己分辨清楚哪些信息是适用于现在的JVM的,而哪些已经成为了历史。
另外有一本清华大学出版社出的《解析Java虚拟机开发——权衡优化.高效和安全的最优方案》,这本纯粹是对周志明的《深入理解Java虚拟机》一书的抄袭。然而抄袭也抄得很不给力,印刷、排版都不如原版。建议不要购买。
这本图灵说年内出中文版
书已经出了 就不知道翻译的好不好 《自制编程语言》
翻译的很好,看过中文版的飘过
这本图灵说年内出中文版
书已经出了 就不知道翻译的好不好 《自制编程语言》
这本图灵说年内出中文版
那个…推荐书我一分钱都没收过,不知哪里出现商业挂钩了?
耐心把那些书都读完、相应的配合读实际JVM的源码以及自己动手写写代码,这才刚刚入门而已。学习曲线挺陡的。
豆列地址:http://book.douban.com/doulist/2545443/
下面把豆列的介绍贴过来。具体书单请到上面的豆列地址那边去看。
在社会化分工、软件行业细分专业化的趋势下,会真的参与到底层系统实现的人肯定是越来越少(比例上说)。真的会参与到JVM实现的人肯定是少数。
但如果您对JVM是如何实现的有兴趣、充满好奇,却苦于没有足够系统的知识去深入,那么这个豆列就是为您打好基础而准备的。
如果只想用用Java用用JVM,对深入到实现细节无甚兴趣的话,这个豆列就请不必参考了,免得浪费钱浪费时间精力,呵呵 :-)
本豆列的脉络是:
1. JVM与Java语言规范
要了解JVM是如何实现的,首先必须要知道JVM到底是什么、不是什么,表面上应该提供怎样的功能。为此,JVM规范必读,而且应该时常放在手边参考。
而JVM的主要服务对象是Java编程语言。虽然JVM也可以支持众多其它语言,但JVM里的“J”仍然最重要,Java的语言特性影响了JVM的原始设计,所以Java语言规范也应该阅读。特别是,JVM关于线程和同步相关的规定都是交由Java语言规范的相关章节定义的。
2. 虚拟机概论
这里选取《Virtual Machines: Versatile Platforms for Systems and Processes》,帮助您了解“虚拟机”一词到底指代什么,有什么不同类型,大概有哪些实现方法,等等。读完这本书有助获得一个清晰的大局观。
3. 为Java程序员从用户的角度介绍JVM的使用经验的几本书
虽然这几本并没有深入到JVM实现的非常细节的角落,但对已经习惯用Java语言编程的程序员来说,有这么几本书带领自己从熟悉的领域进入不熟悉的领域总是件好事。
这几本书中,最深入JVM内部的是《Oracle JRockit: The Definitive Guide》;有丰富调优建议的是《Java Performance》;结合实现大概介绍JVM的抽象概念的是周志明的《深入理解Java虚拟机》。
4. 虚拟机的入门级实现
先通过《Language Implementation Patterns》了解编程语言的一些入门级实现方式,把高级语言编译器与虚拟机两个概念联系起来。
然后通过《プログラミング言語を作る》了解非常简易的、用树遍历式以及字节码式解释器实现虚拟机大概是个怎么回事。虽然这本书没有实现JVM,但它介绍的Diksam与早期JVM的实现颇有相似之处,可参考。
接下来《深入嵌入式Java虚拟机》介绍了一种实际的JVM——KVM的实现细节。KVM是CLDC的参考实现(RI)里的JVM,结构简单,资源消耗小,适合入门阅读。
这部分最后是《The School of Niklaus Wirth》,里面有一章介绍了HotSpot Client Compiler (C1)的原始设计思路。这是个非常简单、但相对来说性能还不错的JIT编译器,可用于对JIT编译器的基本了解。这本书本身就很赞,不为学习虚拟机也可以一读。
需要注意的是从“简易的JVM实现”到“高性能、复杂的JVM实现”跨度非常大;前者的许多部分的实现方式与后者相当不同。先从简易的实现开始入手主要是为了对JVM里大概都有些什么组件有所了解。但如果目标是了解高性能JVM的实现,那就必须在GC、编译原理方面打下更好的基础,重新洗一次脑。
5. C++基础书
下面要开始逐渐深入JVM的内部实现,如果没有良好的C或(与?)C++基础会比较吃力。虽然也有几乎完全用Java语言实现的高性能JVM,例如Maxine VM与Jikes RVM,但它们都是研究性质的;商用JVM实现仍然是C与C++的天下。
这里我先推荐C++之父自己写的那本书来入门。虽然BS巨巨后来还出过本新书,而近来也渐渐开始有介绍C++11的入门书,但实际上现在多数JVM实现用的还是C99或非常古老的C++(连C++03都不一定用到了),所以用这本老书应该就够了。
然后通过《深度探索C++对象模型》来学习C++对象模型的常见实现方式。这对后面理解Java对象模型的实现很有帮助。
6. GC与编译原理的入门书
GC书总共就那么几本,倒也没啥可挑的。《The Garbage Collection Handbook》是绝对必读。
编译原理的书就稍微尴尬些。现有的编译原理书大都针对静态编译器、针对像C或C++那样的偏静态、偏native的语言。我还没读到过什么编译原理书是专门介绍JIT编译器或者说动态编译器的。静态与动态编译器会有些取舍上、实现策略上的差异,不过还好其核心的原理都是一样的,所以还是可以推荐几本书。龙书用来最初入门,鲸书用来补充一些优化相关的知识,EAC第二版用来学习编译器一种比较良好的逻辑组织方式,最后学一下针对现代机器的优化。
7. 介绍计算机体系结构的书
实际JVM实现里,如果有JIT编译器或者动态编译器那它们的编译目标多半是底层机器的机器码。这就涉及到计算机体系结构了。
如果您只对Java语言和抽象的JVM有一定了解,那可以用《计算机组成及汇编语言原理》来入门。这本书比较奇葩,用JVM的字节码指令集来当作真实机器介绍体系结构的概念。我并不太喜欢这本书,但感觉它对有Java背景的初学者来说应该有点用。要注意的是千万别只读这本书来入门,请结合下面要介绍的一本书来重新洗一次脑。
如果对C或C++已经有所了解,那《深入理解计算机系统》(CSAPP)是计算机体系结构入门的最适合的书了。
8. 进一步阅读
到此为止各种抽象概念应该都了解得差不多了。那么要在真实的机器上实现高性能JVM,就必须要对真实机器的指令集细节有所了解。x86/x86-64、SPARC、ARM、MIPS,要在哪个平台上做高性能实现就要学习哪个平台的指令集及指令级别优化技巧。这里就不具体推荐书了。
操作系统层面的知识同样重要。像是说JVM要实现线程、内存分配啥的,都可能要跟系统调用或CRT对系统调用的包装打交道。这部分也需要另外找书来读。我回头再考虑下要不要加几本道这个豆列里来。
另外,从80年代开始高级语言虚拟机的实现技术有了突飞猛进的发展,但却没有专门的书对这个领域做综述和导读。多数有用的资料其实还是在论文里。光靠读书是远远不够用的,论文这块也请关注。
顺便广告一下:我的博客里关于虚拟机的文章也推荐给大家参考:http://rednaxelafx.iteye.com/blog/362738
=====================================
这个豆列没有漏掉 《Inside the Java Virtual Machine, Second Edition》 ,中文版《深入Java虚拟机(原书第2版)》,只是我现在已经不再推荐它。这本书刚出版的时候确实引起了一番学习Java虚拟机的热潮,但其部分内容从现在的角度看已经过时,特别是涉及JVM实现的部分。像火车算法什么的现在已经没有JVM实现使用。不过话说回来,了解了解这些过时的信息也没什么不好,前提是能自己分辨清楚哪些信息是适用于现在的JVM的,而哪些已经成为了历史。
另外有一本清华大学出版社出的《解析Java虚拟机开发——权衡优化.高效和安全的最优方案》,这本纯粹是对周志明的《深入理解Java虚拟机》一书的抄袭。然而抄袭也抄得很不给力,印刷、排版都不如原版。建议不要购买。
评论
16 楼
xiyueshenyan
2017-05-17
Virtual Machines: Versatile Platforms for Systems and Processes 读了这本才知道,没一定基础还是不要读的好!有些空中楼阁的感觉
15 楼
xyfwjk
2014-11-18
逛论坛时,偶然发现了这样一篇高质量的JVM讲解.[借HSDB来探索HotSpot VM的运行时数据]
之前看过周志明的《深入理解Java虚拟机》,看了你的博客,发现你是真大神.这个学习列表对我很有用.
之前看过周志明的《深入理解Java虚拟机》,看了你的博客,发现你是真大神.这个学习列表对我很有用.
14 楼
fh63045
2014-02-27
收藏
13 楼
sun128837
2013-09-16
liuzejian4 写道
RednaxelaFX 写道
realvalkyrie 写道
プログラミング言語を作る
这个读不懂,什么时候翻译一把。。
这个读不懂,什么时候翻译一把。。
这本图灵说年内出中文版
书已经出了 就不知道翻译的好不好 《自制编程语言》
翻译的很好,看过中文版的飘过
12 楼
liuzejian4
2013-09-07
RednaxelaFX 写道
realvalkyrie 写道
プログラミング言語を作る
这个读不懂,什么时候翻译一把。。
这个读不懂,什么时候翻译一把。。
这本图灵说年内出中文版
书已经出了 就不知道翻译的好不好 《自制编程语言》
11 楼
Checkmate
2013-06-19
你的文章看过一些,真没想到你竟然涉猎这么广泛又深入.
10 楼
RednaxelaFX
2013-06-14
realvalkyrie 写道
プログラミング言語を作る
这个读不懂,什么时候翻译一把。。
这个读不懂,什么时候翻译一把。。
这本图灵说年内出中文版
9 楼
RednaxelaFX
2013-06-14
kelly_zsl 写道
能不能推荐几本实用点。。别跟商业挂钩啊。。
那个…推荐书我一分钱都没收过,不知哪里出现商业挂钩了?
8 楼
zhb8015
2013-06-14
《深入java虚拟机》这本不错,用心研究一下肯定受益。
7 楼
kelly_zsl
2013-06-14
能不能推荐几本实用点。。别跟商业挂钩啊。。
6 楼
realvalkyrie
2013-06-14
プログラミング言語を作る
这个读不懂,什么时候翻译一把。。
这个读不懂,什么时候翻译一把。。
5 楼
zidafone
2013-06-14
需要很多时间和精力啊,佩服能坚持下来的人
4 楼
RednaxelaFX
2013-06-14
ywbrj042 写道
如果能够深入到这种层次,绝对是技术专家了。
耐心把那些书都读完、相应的配合读实际JVM的源码以及自己动手写写代码,这才刚刚入门而已。学习曲线挺陡的。
3 楼
star4evar
2013-06-14
谢谢 先搜藏 等有空系统的学习一下jvm的原理
2 楼
ywbrj042
2013-06-14
如果能够深入到这种层次,绝对是技术专家了。
1 楼
yunzhu
2013-06-13
好文章,具有指导意义,以后沿着这条路子走走看
发表评论
-
做菜与洗碗
2014-12-20 15:45 13366今天晚饭,老婆连着用了4个锅来做了两菜一汤。好吃 其中一道菜 ... -
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 ... -
Java 8与静态工具类
2014-03-19 08:43 16275以前要在Java里实现所谓“静态工具类”(static uti ... -
Java 8的default method与method resolution
2014-03-19 02:23 10453先看看下面这个代码例子, interface IFoo { ... -
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 ... -
《自制编程语言》的一些笔记
2013-11-24 00:20 0http://kmaebashi.com/programmer ... -
字符串的一般封装方式的内存布局 (1): 元数据与字符串内容,整体还是分离?
2013-11-07 17:44 22394(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局 (0): 拿在手上的是什么
2013-11-04 18:22 21493(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局
2013-11-01 12:55 0(Disclaimer:未经许可请 ... -
关于string,内存布局,C++ std::string,CoW
2013-10-30 20:45 0(Disclaimer:未经许可请 ... -
对C语义的for循环的基本代码生成模式
2013-10-19 23:12 21874之前有同学在做龙书(第二版)题目,做到8.4的练习,跟我对答案 ...
相关推荐
inline-java: 实现从Haskell调用任何JVM函数
《揭秘Java虚拟机-JVM设计原理与实现》这本书深入探讨了Java虚拟机(JVM)的工作原理及其在Java编程中的核心地位。Java虚拟机是Java平台的核心组成部分,它负责执行字节码,为开发者提供了跨平台的运行环境。以下是...
接下来,打开任务管理器,选择“查看”-->“选择列”-->“PID”,然后找到该 PID 的进程。最后,结束该进程,释放端口 8080。 为什么 Tomcat 需要使用端口 8080?这是因为 Tomcat 默认情况下监听端口 8080,以便...
在myeclipse中将html文件改成jsp文件时myeclipse卡住;将之前的任务关掉;再打开时多次部署项目的时候报错
【Java中的`java.net.BindException: Address already in use: JVM_Bind`异常】 ...在日常开发和运维中,遇到此类问题时,应当耐心排查,从端口占用、JVM状态以及操作系统设置等多个角度进行检查。
读书笔记:《深入理解Java虚拟机JVM高级特性与最佳实践第2版》学习笔记
Sun JVM 是 Oracle 公司开发的 JVM 实现,提供了 JVM 的官方实现。 SUN JVM 内存管理 SUN JVM 的内存管理机制包括内存分配和垃圾回收两个方面。 * 内存分配:SUN JVM 会根据不同的对象分配不同的内存空间,包括堆...
这个资料包不仅涵盖了理论知识,还包含个人的学习笔记,对于学习和掌握JVM的各个方面都将大有裨益。无论是初学者还是经验丰富的开发者,都可以从中找到提升自己技能的宝贵资源。通过深入学习和实践,可以更好地理解...
从0到1学习JVM如何调优
《深入理解JVM虚拟机:从基础到实践》 JVM(Java Virtual Machine)是Java程序的核心组成部分,它为Java程序提供了跨平台的运行环境。本资料集合包含了多个关于JVM学习的重要主题,旨在帮助读者从基础到深入地掌握...
《Java实现的JVM——深入...总结,"jvmjava"项目是一个极好的学习资源,它使开发者有机会亲手构建一个JVM,从底层理解Java应用程序的运行机制。无论是初学者还是经验丰富的开发者,都能从中受益,提升自己的技术水平。
Java虚拟机(JVM)是Java程序运行的核心组件,它为Java代码提供了...这个项目对于学习JVM的内部工作机制以及Java代码如何被解释执行非常有帮助。通过分析和研究这个实现,开发者可以更深入地理解Java程序的运行过程。
读书笔记:《深入理解Java虚拟机 Jvm高级特性与最佳实践第二版》书中的示例代码供学习使用
读书笔记:《深入理解Java虚拟机 Jvm高级特性与最佳实践第二版》书中的示例代码Maven版本学习使用
### JVM详解与学习 #### Java相关 ##### 1.1 Java定义 Java 是一种广泛使用的高级编程语言,具有面向对象、跨平台等特性。它的设计理念是“一次编写,到处运行”,这得益于Java虚拟机(JVM)的存在。JVM使得Java...
JVM面试资料。 JVM结构:类加载器,执行引擎,本地方法接口,本地内存结构; 四大垃圾回收算法:复制算法、标记-清除算法、标记-整理算法、分代收集算法 七大垃圾回收器:Serial、Serial Old、ParNew、CMS、Parallel...
Dive into JVM garbage collection logging, monitoring, tuning, and tools Explore JIT compilation and Java language performance techniques Learn performance aspects of the Java Collections API and get ...
### JVM学习笔记(一) #### 一、JVM概述与工具使用 JVM(Java Virtual Machine)是Java语言的核心组成部分之一,它为Java程序提供了一个跨平台的运行环境。本篇学习笔记主要介绍如何利用一系列工具来查看和监控JVM...
这是jvm指令码表,对于学习jvm底层原理的伙伴会有一定的帮助,对于jvm热爱和想研究的,肯定是必不可少的一份资源
《OpenJDK中的JVM Hotspot实现源码解析》 在Java世界中,JVM(Java Virtual Machine)是运行Java程序的关键组件,它负责将字节码解释执行或即时编译为机器码,使得Java具备跨平台的能力。Hotspot是Oracle JDK和...