JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,Java 通过使用 Java 虚拟机屏蔽了与具体平台相关的信息,使得 Java 具备了一次编写,多处运行的特性。JVM 一直是 Java 学习中的重点,也是难点。本教程旨在帮助大家了解 JVM 的结构以及相关参数。JVM 实用参数系列一共包括八篇文章,由浅入深,从编译器、垃圾回收、内存调优等方面介绍 JVM。
今年 6 月随着全球最大社交平台 Facebook 发布其名为“Libra”的加密货币项目白皮书,区块链再次引发全球广泛关注。该项目的目的是建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施。
本系列的最后一部分是有关垃圾收集(GC)日志的 JVM 参数。GC 日志是一个很重要的工具,它准确记录了每一次的 GC 的执行时间和执行结果,通过分析 GC 日志可以优化堆设置和 GC 设置,或者改进应用程序的对象分配模式。
HotSpot JVM 的并发标记清理收集器 (CMS 收集器) 的主要目标就是:低应用停顿时间。该目标对于大多数交互式应用很重要,比如 web 应用。在我们看一下有关 JVM 的参数之前, 让我们简要回顾 CMS 收集器的操作和使用它时可能出现的主要挑战。
在实践中我们发现对于大多数的应用领域,评估一个垃圾收集 (GC) 算法如何根据如下两个标准: 吞吐量越高算法越好 暂停时间越短算法越好
本部分,我们将关注堆 (heap) 中一个主要区域,新生代 (young generation)。首先我们会讨论为什么调整新生代的参数会对应用的性能如此重要,接着我们将学习新生代相关的 JVM 参数。
理想的情况下,一个 Java 程序使用 JVM 的默认设置也可以运行得很好,所以一般来说,没有必要设置任何 JVM 参数。然而,由于一些性能问题(很不幸的是,这些问题经常出现),一些相关的 JVM 参数知识会是我们工作中得好伙伴。在这篇文章中,我们将介绍一些关于 JVM 内存管理的参数。知道并理解这些参数,将对开发者和运维人员很有帮助。
关注时代Java