本节书摘来异步社区《HotSpot实战》一书中的第1章,作者:陈涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。
第 1 章 初识HotSpo
“知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。”
—《大学》
本章内容
- VM与HotSpot VM
- 开源项目OpenJDK与HotSpot项目
- Java语言特性的发展,以及JCP和JSR的推动作用
- Coin项目为Java 7贡献的新特性
- GDB调试工具的基本使用方式
- HotSpot工程的编译与调试方法
对于Java程序员来说,启动一个应用服务器是再平常不过的工作了。不知读者是否留意过,在启动应用服务器时,控制台可能会有关于HotSpot的信息输出,如图1-1所示。
在图1-1中,划线部分的字符串描述的是关于Java虚拟机(Java Virtual Machine,缩写为JVM)产品的基本信息。应用服务器启动了一款名为“HotSpot”的JVM。我们也可以直接在命令行中敲入“java -version”命令查看虚拟机版本信息,如图1-2所示。
HotSpot是Oracle JDK官方的默认虚拟机,因此它也顺理成章地成为了JVM家族1里最为家喻户晓的产品。对于大多数Java程序员来说,HotSpot是与我们打交道最为频繁的一款虚拟机。
对于这个我们赖以生存的系统平台,我们又是否真的了解它是如何工作的呢?在实际应用中,我们是否曾屡次被它的“顽皮”折磨得筋疲力尽,又因不了解它的“脾气”而束手无策?我们能否在实际应用中驾驭好它呢?
事实上,我们之所以会遇到这些困扰,是因为对虚拟机的了解还不够。只要我们积累了足够的知识,是完全可以在实践中处理好虚拟机问题的。接下来,就让我们正式开启HotSpot的学习之旅吧。
目前市场份额较高的几款Java虚拟机分别是Oracle HotSpot、BEA JRockit和IBM VM。BEA后来被Oracle收购,这样一来,Oracle就拥有了两款优秀的JVM产品。Oracle官方宣布,未来会将HotSpot与JRockit合并。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。