实战Java虚拟机(第2版)

葛一鸣
前言 关于Java生态圈 Java是目前应用最广泛的软件开发平台之一。随着Java及Java社区的不断壮大,Java也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一个社区。 作为一个平台,Java虚拟机扮演着举足轻重的作用。除了Java语言,任何一种能够被编译成字节码的计算机语言都属于Java这个平台。Groovy、Scala、JRuby、Kotlin等都是Java平台的一部分,它们依赖于Java虚拟机,同时,Java平台也因为它们变得更加丰富多彩。 作为一种文化,Java几乎成了“开源”的代名词。在Java程序中,有着数不清的开源软件和框架,如Tomcat、Struts、Hibernate、Spring等。就连JDK和JVM自身也有不少开源的实现,如OpenJDK、Harmony。可以说,“共享”的精神在Java世界里体现得淋漓尽致。 作为一个社区,Java拥有无数的开发人员,有数不清的论坛和资料。从桌面应用软件、嵌入式开发到企业级应用、后台服务器、中间件,都可以看到Java的身影。其应用形式之复杂、参与人数之众多也令人咋舌。可以说,Java社区俨然已经成为一个良好而庞大的生态系统,而本书,将主要介绍这个生态系统的核心——Java虚拟机。 第2版的重点修订 作者希望本书第2版的内容能够涵盖JDK 7~JDK10,所以特做如下修订: · JDK 10 源码环境的下载与搭建。 · JDK 10 JVM的调试方法介绍。 · JDK 10 运行参数的演变。 · JDK 10用G1垃圾回收器替代CMS垃圾回收器,成为默认的垃圾回收器。 · JDK 10调试工具的更新,废除功能类似的调试工具,重点推荐使用Visual VM。 本书的体系结构 本书立足于实际开发,又不缺乏理论介绍,力求通俗易懂、循序渐进。全书共分为11章。 第1章综述,介绍了Java虚拟机的概念、…