随笔分类 - 03-JVM系列
Java虚拟机相关知识点~
摘要:本文转载自运行时常量池 运行时常量池( Runtime Constant Pool)是每一个类或接口的常量池( Constant_Pool)的运行时表示形式。 它包括了若干种不同的常量:从编译期可知的数值字面量到必须运行期解析后才能获得的方法或字段引用。运行时常量池扮演了类似传统语言中符号表( Sy
阅读全文
摘要:本文转载自Class常量池 在Java中,常量池的概念想必很多人都听说过。这也是面试中比较常考的题目之一。在Java有关的面试题中,一般习惯通过String的有关问题来考察面试者对于常量池的知识的理解,几道简单的String面试题难倒了无数的开发者。所以说,常量池是Java体系中一个非常重要的概念。
阅读全文
摘要:HotSpot绝对是当今商用虚拟机的王者,但是在Java历史上出现过很多Java虚拟机,这篇文章就来整理下历史上出现过的Java虚拟机以及他们的特性。 Sun Classic Sun Classic虚拟机是JDK 1.0默认的虚拟机。但是这个虚拟机不带即时编译技术,性能稍差。Classic虚拟机在J
阅读全文
摘要:在2006年11月13日的JavaOne大会上,Sun公司(当时还没被收购)宣布计划要把Java开源,在随后的一年多时间内,它陆续地将JDK的各个部分在GPL v2(GNU General Public License v2)协议下公开了源码,并建立了OpenJDK组织对这些源码进行独立管理。除了极
阅读全文
摘要:《Java虚拟机规范》将虚拟机的内存分为以下几个区域: 堆区:堆区是JVM中最大的一块内存区域,按照垃圾分代收集的角度划分,又可以分成年轻代和老年代,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配; 方
阅读全文
摘要:Java程序员为什么要了解虚拟机相关的知识 Java程序在设计之初就号称“一次编译,到处运行”。Java之所以能做到“一次编译,处处运行”是因为Java虚拟机隐藏了底层技术的复杂性以及机器和操作系统的差异性。 运行程序的物理机千差万别,而Java虚拟机则在千差万别的物理机上面建立了统一的运行平台,实
阅读全文
