社区
C#
帖子详情
请问垃圾回收中的 Generation 代 是什么意思?
bborn
2006-05-17 08:27:21
msdn中的解释
GC.Collect (Int32) 强制对零代到指定代进行垃圾回收。
GC.MaxGeneration 系统支持的最大代数
这个都是指什么意思?
...全文
150
2
打赏
收藏
请问垃圾回收中的 Generation 代 是什么意思?
msdn中的解释 GC.Collect (Int32) 强制对零代到指定代进行垃圾回收。 GC.MaxGeneration 系统支持的最大代数 这个都是指什么意思?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liuqm
2006-05-17
打赏
举报
回复
http://koffer.cnblogs.com/aspring?page=16
liuqm
2006-05-17
打赏
举报
回复
在测试GetGeneration()方法的时候发现一个问题,
背景如下:
两个类FirstClass和SomeClass
FirstClass
{
private int MaxLine = 1000;
~FirstClass()
{
}
// 这个函数将不能通过编译
// protected override void Finalize()
// {
// MaxLine = 0;
// }
public void GenerateSomeRubbish()
{
string strMM;
for(int i=0;i<MaxLine;i++)
{
strMM = new string('a',MaxLine);
}
}
}
public class SomeClass
{
public SomeClass()
{
}
public void sameToUp()
{
string str;
for(int i=0;i<10;i++)
{
str = new string('a',10);
}
}
}
在一个Main中测试GC.GetGeneration()方法。
FirstClass fObj = new FirstClass();
SomeClass sObj = new SomeClass();
1、fObj.GenerateSomeRubbish();
2、sObj.sameToUp();
GC.GetGeneration(fObj);//返回2
GC.GetGeneration(sObj);//返回2
如果屏蔽1、两个都返回0,
如果屏蔽2、两个都返回2
如果都屏蔽,都返回0。
在上边的Code中,FirstClass和SomeClass并没有很大的区别。
表面上来看,其实都是产生一堆新的字符串对象而已,在寻找原因…….
1、难道是因为有个析构函数,后来发现删除后也没有关系。
2、难道是因为定义了一个局部的变量MaxLine,改动后也不是。
3、莫非是MaxLine的大小有影响?
我就把MaxLine改成了100,重新执行GC.GetGeneration(fObj),发现返回的是1,看来确实就是了。
这就有趣了,那就测试一下所有的大小了J
System.IO.StreamWriter sw = new System.IO.StreamWriter(@"d:\kkk.txt");
for(int i=0; i< 10000; i++)
{
fObj.GenerateSomeRubbish(i);//这里改动了GenerateSomeRubbish,只是增加一个参数
sw.Write(i.ToString()+"\t");
sw.WriteLine(GC.GetGeneration(fObj));
}
哈哈,结果如下
数字
代数
0
0
1
0
2
0
.....
48
0
49
0
50
1
51
1
....
485
1
486
1
487
2
488
2
不知道为什么?为什么会产生代数不相同的情况?
难道是微软的.net Framework规定了第1代的垃圾数量是50个,然后第2代的垃圾是427个,第三代的垃圾就不限制了?
5G扫盲:智眼看世界
【该课程的完整课件,请同学们在最后一个课时附件下载或者在视频的右边点击课件下载,所有素材都是免费提供完整版,请放心】适用人群5G感兴趣者,5G科普小白人群,5G的投资者,5G的技术人群,通信行业从业者,不想被时
代
抛弃的人群课程概述第五
代
移动通信技术(英语:5th
generat
ion
mobile networks或5th
generat
ion
wireless systems、5th-
Generat
ion
,简称5G或5G技术)是最新一
代
蜂窝移动通信技术,也是即4G(LTE-A、WiMax)、3G(UMTS、LTE)和2G(GSM)系统之后的延伸。5G的性能目标是高数据速率、减少延迟、节省能源、降低成本、提高系统容量和大规模设备连接。Release-15
中
的5G规范的第一阶段是为了适应早期的商业部署。Release-16的第二阶段将于2020年4月完成,作为IMT-2020技术的候选提交给国际电信联盟(ITU)。您知道什么是5G吗?美国为什么封杀华为?经济主动权?思考:5G什么产业会更热?微信,支付宝这类4G时
代
的
代
表在3G时
代
是没有估量的
中
国的5G水平?5G人们所担心的辐射?未来生活?工业互联网、移动硬件,以及移动装置等产业有关IoT和IoE5G投资?5G技术?什么是人工智能?量子时
代
?云计算?边缘计算?5G不仅仅是一个单一的5G,实际是我国社会主义新时
代
的,往高质量发展的的一种产物;不仅仅是移动通信,承载着
中
国高技术产业的希望,承载着:我们国家走出停留的低技术阶段,走在新技术前面的硬核实力,折射出一个民族的生存能力和发展能力的
Java的
垃圾回收
机制是什么?
说到
垃圾回收
(Garbage Collect
ion
,GC),很多人就会自然而然地把它和Java联系起来。在Java
中
,程序员不需要去关心内存动态分配和
垃圾回收
的问题,这一切都交给了JVM来处理。 顾名思义,
垃圾回收
就是释放垃圾占用的空间,那么在Java
中
,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商业虚拟机
中
,有哪些典型的垃圾收集器? 一、如何确定某个对象是“垃圾”? 如果确定某个对象...
垃圾回收
器都有哪些?
垃圾回收
器有哪些?是一个高频的面试题,那本文就详细来解答这个问题。 因为不同的厂商(IBM、Oracle),实现的
垃圾回收
器各不相同,而本文要讨论的是 Oracle 的 HotSpot 虚拟机所使用的
垃圾回收
器。 常用
垃圾回收
器,如下图所示: 新生
代
回收器:Serial、ParNew、Parallel Scavenge 老年
代
回收器:Serial Old、Parallel Old、CMS 整堆回收器:G1 其
中
相互连线的
垃圾回收
器,表示可以相互搭配使用。 新生
代
An
什么是JAVA
垃圾回收
?
点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!转载自公众号 技术特工队在java
中
垃圾回收
是系统自动完成的,了解它对优化应用程序有很大的帮助。那么我们就从下面几个方面来了解
垃圾回收
机制:哪些对象需要回收?什么时候回收?怎么去回收?判断对象可以回收的方法:引用计数算法给对象
中
添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻
JVM——
垃圾回收
(
垃圾回收
算法+分
代
垃圾回收
+
垃圾回收
器)
垃圾回收
(
垃圾回收
算法+分
代
垃圾回收
+
垃圾回收
器)
C#
110,552
社区成员
642,562
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章