HotSpot虚拟机垃圾收集优化教程-并行垃圾收集器
并行垃圾收集器
并行垃圾收集器(也称为吞吐量收集器)是与串行垃圾收集器类似的分代收集器。串行和并行垃圾收集器之间的主要区别在于并行垃圾收集器使用多线程去加快垃圾收集速度。
使用命令行选项-XX:+UseParallelGC启用并行垃圾收集器。默认情况下,使用该选项,minor和major垃圾收集都并行运行,以进一步减少垃圾收集开销。
阅读全文并行垃圾收集器(也称为吞吐量收集器)是与串行垃圾收集器类似的分代收集器。串行和并行垃圾收集器之间的主要区别在于并行垃圾收集器使用多线程去加快垃圾收集速度。
使用命令行选项-XX:+UseParallelGC启用并行垃圾收集器。默认情况下,使用该选项,minor和major垃圾收集都并行运行,以进一步减少垃圾收集开销。
阅读全文大多数并发垃圾收集器对应用程序并发地执行部分工作,正如他们的名称一样。JAVA HotSpot VM包含两个最常使用的并发垃圾收集器:
CMS垃圾收集器是为了那些需要更短的垃圾收集暂停时间,并且能够在应用程序运行时与垃圾收集器共享处理器资源的应用程序而设计的。
通常,拥有相对较大的长时间存活的数据(一个大的年老代)并且在运行的机器上具有两个或者更多的处理器的应用程序会从CMS垃圾收集器受益。CMS垃圾收集器可以通过命令行选项-XX:+UseConcMarkSweepGC启用。
CMS垃圾收集器已经被废弃,强烈建议考虑G1垃圾收集器替代。
阅读全文影响垃圾收集性能的两个最重要因素是总的可用内存和专用于年轻代的内存比例。
关于这一点的讨论是关于串行垃圾收集器的。Java HotSpot虚拟机包含三种不同类型的垃圾收集器,每个收集器具有不同的性能特征。
Java SE平台的一个优点是他可以将开发人员从复杂的内存分配和垃圾收集中解放出来。
然而,当垃圾收集是主要的瓶颈时,理解垃圾收集实现的某些方面是很有用的。垃圾收集器对应用程序使用对象的方式进行猜想,这些猜想反应在可调参数中,这些参数可以在不牺牲抽象能力的情况下进行调整以提高性能。
人机工程学是Java虚拟机和垃圾收集探索式(例如基于行为的探索式算法)提高应用程序性能的过程。
Java虚拟机为垃圾收集器,堆大小和运行时编译器配置提供基于平台的默认选择。这些选择满足不同类型应用程序的需求,并且需要较少的命令行调优。此外,基于行为调优动态优化堆的大小,以满足应用程序特定的性能要求。
本节将介绍这些默认的选择和基于行为的调优。在使用后续章节中更加详细的控制配置前,请使用这些默认配置。
从小的桌面应用到大型服务器上的web应用,各种各样的应用程序都使用标准版Java平台(Java SE)。为了支持这一系列不同的部署,Java HotSpot VM提供了多个垃圾收集器,每个垃圾收集器都是为满足不同的需求而设计的。Java SE基于应用程序在计算机上运行的类选择最合适的垃圾收集器。然而,对于每个应用程序,此选择可能不是最优的。具备严格的性能目标或者其他需求的用户,开发人员和管理员可能需要显式地选择垃圾收集器并优化某些参数已达到渴望的性能级别。本文档提供了帮助显式完成优化任务的信息。
首先,垃圾收集器的一般特性和基础的调优选项将被描述通过串行垃圾收集器,然后介绍其他垃圾收集器的具体特性以及选择垃圾收集器时要考虑的因素。
以太坊是一个开放的区块链平台,他允许任何人构建和使用运行在区块链技术上的去中心化应用。与比特币相似,没有人可以控制或者拥有以太坊 – 以太坊是一项由世界各地人一起构建的开源项目。但是与比特币协议不同,以太坊设计得适应性强和灵活。在以太坊平台创建新应用很容易,使用以太坊Homestead release(以太坊第二版本),所有人可以安全地使用这些应用。