关于垃圾回收的一些看法

来源:互联网 发布:乐视刷windows xp 编辑:程序博客网 时间:2024/06/05 20:14

垃圾回收:GC
最近正好看到一些关于GC的介绍,然后查阅了很多相关知识.所以现在总结一下GC吧

1.why?
为什么要有GC这么个东西,从读大学的时候,选课的时候有三门口摆在面前,C# C++ java
然后选择了Java 以至于在同一寝室内的室友学了C++ 天天抱怨要注意内存的问题, 而我学JAVA的一脸问号,什么内存,我怎么一点都没有在意? 后来才知道java内置了GC, 如果没有GC的话我们就要手动去处理内存了,
2.what?
什么是垃圾,什么又是GC, 我百度了一下:把分配到堆中那些不能通过程序引用的对象称为非活动对象,也就是死掉的对象,我们称为“垃圾”,那GC是什么, 联想街道上那些垃装载车的动作,找到垃圾,然后倒垃圾,把垃圾桶放回去. 很简单的动作,对于内存来说,那就是1找到垃圾2把位置腾出来可以在用.
3.how??
那怎么找到垃圾呢, 有三种,标记-清除法 ,引用计数法,复制算法
那常说的分代GC又是什么鬼? 分代分代, 就是分了年代, 有一些对象刚出生用完了就成垃圾了. 有一些呢,经过一次GC还存在, 那么这个对象就成长了一岁,话说回来这就像是割稻草一样.哈哈哈.
那那些GC算法都是怎么搞的,这里在次联想一下垃圾车,一般一个垃圾车都是负责一块区域的垃圾清理工作, 那垃圾车司机怎么走才能最早下班喝咖啡去呢?对于大小不一的垃圾桶,怎么用垃圾车上的器械去倒呢? 这都是GC的算法的东西吧.

0 0
原创粉丝点击