只有当对象所在代被 Collect 了,改对象所在代才会加 1 ,代值最大为 2

示例1:

 using System;

 namespace myMethod
{
class People{} class lgs
{
static void Main()
{
People p = new People();
Console.WriteLine(GC.GetGeneration(p)); // GC.Collect();
GC.Collect(); Console.WriteLine(GC.GetGeneration(p)); // Console.ReadKey();
}
}
}

示例2:

 using System;

 namespace myMethod
{
class People{} class lgs
{
static void Main()
{
People p = new People();
Console.WriteLine(GC.GetGeneration(p)); // GC.Collect(); //递增为 1
GC.Collect(); //只Collect 0 代,1代未Collect,所以仍然为 1 Console.WriteLine(GC.GetGeneration(p)); // Console.ReadKey();
}
}
}

示例3:

 using System;

 namespace myMethod
{
class People{} class lgs
{
static void Main()
{
People p = new People();
Console.WriteLine(GC.GetGeneration(p)); // GC.Collect(); //递增为 1
GC.Collect(); //Collect 0、1、2 代,1代被Collect,所以递增1,变为 2 Console.WriteLine(GC.GetGeneration(p)); // Console.ReadKey();
}
}
}

参考:https://www.jb51.net/article/41819.htm

C# ---- GC中代的递增规律的更多相关文章

  1. 深入理解Java虚拟机 &GC分代年龄

    堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象.在 Java 中,堆被划分成两个不同的区域:新生代 ( Young ).老年代 ( Old ).新生代 ( ...

  2. 关于GC(中):Java垃圾回收相关基础知识

    Java内存模型 (图源: 深入理解JVM-内存模型(jmm)和GC) 区域名 英文名 访问权限 作用 备注 程序计数器 Program Counter Register 线程隔离 标记待取的下一条执 ...

  3. word表格中怎么添加递增的序号

    word2013表格中怎么添加递增的序号?word2013表格中想要让第一类自动显示递增序号,该怎么操作呢?下面我们就来分享两种方法,需要的朋友可以参考下 工具/原料   word2013 通过项目编 ...

  4. C基础知识(3):指针--概念、数组中指针的递增/递减、指针数组&数组指针、指向指针的指针

    指针是一个变量,其值为另一个变量的地址. 所有指针的值的实际数据类型,不管是整型.浮点型.字符型,还是其他的数据类型,都是一样的,都是一个代表内存地址的长的十六进制数. 下面从4个代码例子分别讲述以下 ...

  5. GC的代机制

    1.代为CLR垃圾回收器采用的一种机制,基于以下几点假设:对象越新,生存期越短:对象越老,生存期越长: 2.托管堆仅支持3代(GC.MaxGeneration,第0代.第1代.第2代),CLR初始化会 ...

  6. Java gc中的那些事

    我们已经知道Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆栈进行内存分配.为了进行高效的垃圾回收,虚拟机把堆内存划分成新生代年代(旧一代)和永久代(永久代)3个区域. 新生代 新生 ...

  7. GC 年轻代 老年代 持久代

    转载自:http://www.cnblogs.com/yaoyuan23/p/5587548.html 虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Gener ...

  8. 垃圾收集(GC)中如何确定哪些内存是"垃圾

    垃圾收集(Garbage Collection,GC),要设计一个GC,需要考虑解决下面三件事情:(1)哪些内存需要回收?(2)什么时候回收?(3)如何回收? 哪些内存需要回收?根据<Java内 ...

  9. 关于gc中对象回收算法的认识

    之前学习java时,笔者看到很多学习资料说,gc判断object存活与否的算法是:给对象添加一个引用计数器,每当有一处地方引用它时,计数器值就加1,当引用失效时,计数器值就减1,当对象计数清零时,对象 ...

随机推荐

  1. Codeforces 980E The Number Games - 贪心 - 树状数组

    题目传送门 传送点I 传送点II 传送点III 题目大意 给定一颗有$n$个点的树,$i$号点的权值是$2^{i}$要求删去$k$个点,使得剩下的点仍然连通,并且总权值和最大,问删去的所有点的编号. ...

  2. Install Virtualbox on ubuntu

    1.Use the command: sudo apt-get install virtualbox

  3. ODAC(V9.5.15) 学习笔记(五)TSmartQuery

    TSmartQuery是相对于TOraQuery更简洁的数据集,其成员如下 名称 类型 说明 Expand Boolean 缺省为False,如果为True,则表示无论SQL中罗列的字段是哪些,数据集 ...

  4. Python3 tkinter基础 Frame bind 敲击键盘事件 将按键打印到console中

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. expr的字符串操作 表达式: length, index, match, substr等

    参考: http://www.linuxidc.com/Linux/2012-04/58095.htm expr的格式, 主要有两个, 一是 用expr option, 选项: 二是, expr的几个 ...

  6. SQL中的字母的大小写转换

    http://blog.csdn.net/dxb601/article/details/52086830 update 表名 set 字段名a= Lower(字段a)   2.将小写字母转化成大写字母 ...

  7. nginx重新编译添加ssl模块

    https://www.cnblogs.com/zhming26/p/6278667.html https nginx配置 找到安装nginx的源码根目录,如果没有的话下载新的源码 http://ng ...

  8. 深度学习课程笔记(二)Classification: Probility Generative Model

    深度学习课程笔记(二)Classification: Probility Generative Model  2017.10.05 相关材料来自:http://speech.ee.ntu.edu.tw ...

  9. SpringBatch是什么?

    https://segmentfault.com/a/1190000016278038 <dependency> <groupId>org.springframework.bo ...

  10. FZU 2150 Fire Game(点火游戏)

    FZU 2150 Fire Game(点火游戏) Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description - 题目描述 ...