JVM中垃圾收集选项

最初并发垃圾收集被引入的时候,激活并发垃圾收集的命令选项是:

-XX:+UseParallelGC

增强的并行收集和Java 6一起发布,通过一个新的命令行选项:

-XX:+UseParallelOldGC

来激活。

当-XX:+UseParallelOldGC被激活后,并行的年轻代也被激活了。

Java 7 Update release 4也叫JDK 7u4中,-XX:+UseParallelOldGC被当做缺省的垃圾收集器以及并行垃圾收集器的标准操作模式。

从Java 7u4开始,执行-XX:+UseParallelGC也会激活-XX:+UseParallelOldGC,同样的,-XX:+UseParallelOldGC也会激活-XX:+UseParallelGC。

在HotSpot中,命令行选项-XX:+UseSerialGC,明确指定使用串行垃圾收集器来垃圾收集。

时间: 2024-10-09 22:55:23

JVM中垃圾收集选项的相关文章

JVM中垃圾收集算法总结

??通过前面的介绍我们了解了对象创建和销毁的过程.那么JVM中垃圾收集器具体对对象回收采用的是什么算法呢?本文主要记录下JVM中垃圾收集的几种算法. JVM的垃圾回收的算法 标记-清除算法(Mark-Sweep) ??标记清除算法是最基础的回收算法,该算法分为两个阶段,即标记阶段和清除阶段. |阶段|说明 | |--|:--| | 标记阶段|先根据可达性分析算法找出需要回收的对象进行标记 | | 清除阶段| 统一回收被标记的对象| 参考<深入理解java虚拟机>: 从可达性分析算法角度看标记-

浅析JVM中的GC日志

目录 一.GC日志的格式分析 二.运行时开启GC日志 一.GC日志的格式分析 在讲述GC日志之前,我们先来运行下面这段代码 1 package com.example; 2 3 public class TestMinorGC { 4 private static final int _1MB = 1024*1024; 5 6 public static void testAllocation() { 7 byte[] allocation1, allocation2, allocation3,

Hotspot JVM的常用选项

本文将介绍Hotspot JVM的常用选项. 这里的阅读体验可能会好一点:https://www.zybuluo.com/jewes/note/57352 选项的分类 Hotspot JVM提供以下三大类选项: 1. 标准选项:这类选项的功能是很稳定的,在后续版本中也不太会发生变化.运行java或者java -help可以看到所有的标准选项.所有的标准选项都是以-开头,比如-version, -server等. 2. X选项:比如-Xms.这类选项都是以-X开头,可能由于这个原因它们被称为X选项

JVM中的STW和CMS

Java中Stop-The-World机制简称STW,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外).Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互:这些现象多半是由于gc引起. GC时的Stop the World(STW)是大家最大的敌人.但可能很多人还不清楚,除了GC,JVM下还会发生停顿现象. JVM里有一条特殊的线程--VM Threads,专门用来执行一些特殊的VM Operation

简单谈谈JVM中的GC(中)

书接上文,在了解JVM的分代模型后,接着来简单聊聊JVM中GC算法和不同的GC收集器[求关注] GC回收算法 一个GC回收算法通常会做这么几件事: 1.遍历内存,找到被引用的对象 2.清理掉这些未被标记对象的内存 3.被清理掉的内存放回内存中,供其他地方使用 上文也提及过,目前JVM中的搜索引用对象是用的根搜索方式,再重复引用下: 所有的Java对象构成一颗近似"搜索树"的结构,有一个root根节点,每次从root出发向下搜索,当整个树遍历完成后,那些不在其中的变量则视为"垃

深入Java虚拟机:JVM中的Stack和Heap

转自:http://www.cnblogs.com/laoyangHJ/archive/2011/08/17/gc-Stack.html —————————————————————————————————————————————— 在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题. 一般,JVM的内存分为两部分:Stack和Heap. Stack(栈)是JVM的内

jvm中的垃圾回收

一.垃圾回收的概念 Java中的内存回收即Jvm运行时的内存的回收,需要回收的区域有方法区和Java堆.由于程序计数器,Java虚拟机栈和本地方法栈在方法结束或者是线程结束时会自动进行回收所以无须考虑回收.为什么需要垃圾回收呢?因为电脑中的内存的大小是有限而固定的,在运行过程中由于类的加载和创建,内存中已使用的内存会越来越大,导致后来的程序执行时无法进行分配内存进行执行,此时就需要进行垃圾回收,将已经使用的内存区域中没有在使用的数据清除,从而使后来的程序能够正常运行. 二.如何判断一个对象可以进

JVM中的Stack和Heap

Stack: 是内存指令区.Java基本数据类型,Java指令代码,常量都保存在stack中,方法是指令也保存在stack中. 由于stack是内存是顺序分配,而且定长,不存在内存回收问题.存取速度快. Heap: 是内存数据区.管理很复杂,每次分配不定长的内存空间,专门用来保存对象的实例.而对象实例在Heap 中分配好以后,需要在Stack中保存一个4字节的Heap 内存地址,用来定位该对象实例在Heap 中的位置,便于找到该对象实例. 而Heap 则是随机分配内存,不定长度,存在内存分配和回

java虚拟机(jvm)垃圾收集算法剖析

目前商业虚拟机的垃圾收集都采用"分代收集"算法,这种算法根据对象的存活周期把内存划分为"新生代"和"老年代".然后根据不同的年 代的特点采取不同的收集算法.在新生代中,由于每次minor GC都发现有很多对象死去,存活的非常少,因此采用复制算法.而老年代中对 象存活率非常的高,而起没有额外的内存空间进行分配担保就采用"标记-清理"或"标记-整理"算法来进行回收.但是基本上使用的"标记-整理&quo