<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>简单之美 &#187; Tag &#187; JVM</title>
	<atom:link href="http://shiyanjun.cn/archives/tag/jvm/feed" rel="self" type="application/rss+xml" />
	<link>http://shiyanjun.cn</link>
	<description>简单之美，难得简单，享受简单的唯美。</description>
	<lastBuildDate>Wed, 04 Mar 2026 07:04:53 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>JVM 分代GC策略分析</title>
		<link>http://shiyanjun.cn/archives/397.html</link>
		<comments>http://shiyanjun.cn/archives/397.html#comments</comments>
		<pubDate>Sun, 15 Sep 2013 03:40:02 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[编程语言]]></category>
		<category><![CDATA[JVM]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=397</guid>
		<description><![CDATA[<p>
	我们以Sun HotSpot VM来进行分析，首先应该知道，如果我们没有指定任何GC策略的时候，JVM默认使用的GC策略。Java虚拟机是按照分代的方式来回收垃圾空间，我们应该知道，垃圾回收主要是针对堆（Heap）内存进行分代回收，将对内存可以分成新生代（Young Generation）、年老代（Tenured Generation）和永久代（Permanent Generation）三个部分。


	分代GC


	分代GC包括如下三代：



		新生代（Young Generation）
	


	新生代有划分为Eden、From Survivor和To Survivor三个部分，他们对应的内存空间的大小比例为8:1:1，也就是，为对象分配内存的时候，首先使用Eden空间，经过GC后，没有被回收的会首先进入From Survivor区域，任何时候，都会保持一个Survivorq区域（From Survivor或To Survivor）完全空闲，也就是说新生代的内存利用率最大为90%。From Survivor和To Survivor两个区域会根据GC的实际情况，进行互换，将From Survivor区域中的对象全部复制到To Survivor区域中，或者反过来，将To Survivor区域中的对象全部复制到From Survivor区域中。



		年老代（</p>]]></description>
	<p>
	我们以Sun HotSpot VM来进行分析，首先应该知道，如果我们没有指定任何GC策略的时候，JVM默认使用的GC策略。Java虚拟机是按照分代的方式来回收垃圾空间，我们应该知道，垃圾回收主要是针对堆（Heap）内存进行分代回收，将对内存可以分成新生代（Young Generation）、年老代（Tenured Generation）和永久代（Permanent Generation）三个部分。


	分代GC


	分代GC包括如下三代：



		新生代（Young Generation）
	


	新生代有划分为Eden、From Survivor和To Survivor三个部分，他们对应的内存空间的大小比例为8:1:1，也就是，为对象分配内存的时候，首先使用Eden空间，经过GC后，没有被回收的会首先进入From Survivor区域，任何时候，都会保持一个Survivorq区域（From Survivor或To Survivor）完全空闲，也就是说新生代的内存利用率最大为90%。From Survivor和To Survivor两个区域会根据GC的实际情况，进行互换，将From Survivor区域中的对象全部复制到To Survivor区域中，或者反过来，将To Survivor区域中的对象全部复制到From Survivor区域中。



		年老代（</p>			<content:encoded><![CDATA[<p>
	我们以Sun HotSpot VM来进行分析，首先应该知道，如果我们没有指定任何GC策略的时候，JVM默认使用的GC策略。Java虚拟机是按照分代的方式来回收垃圾空间，我们应该知道，垃圾回收主要是针对堆（Heap）内存进行分代回收，将对内存可以分成新生代（Young Generation）、年老代（Tenured Generation）和永久代（Permanent Generation）三个部分。


	分代GC


	分代GC包括如下三代：



		新生代（Young Generation）
	


	新生代有划分为Eden、From Survivor和To Survivor三个部分，他们对应的内存空间的大小比例为8:1:1，也就是，为对象分配内存的时候，首先使用Eden空间，经过GC后，没有被回收的会首先进入From Survivor区域，任何时候，都会保持一个Survivorq区域（From Survivor或To Survivor）完全空闲，也就是说新生代的内存利用率最大为90%。From Survivor和To Survivor两个区域会根据GC的实际情况，进行互换，将From Survivor区域中的对象全部复制到To Survivor区域中，或者反过来，将To Survivor区域中的对象全部复制到From Survivor区域中。



		年老代（</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/397.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
