A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张海洋 中级黑马   /  2013-3-26 21:54  /  1401 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张海洋 于 2013-3-27 09:17 编辑

GC是什么? 为什么要有GC?   

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-26 22:48

5 个回复

倒序浏览
gc  就是垃圾回收器

会不定时清理垃圾

在jvm启动时  

就会伴随jvm

一起运行

只是不知道他在什么时候回收垃圾啊

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
GC是System类中的一个方法...简称:垃圾回收器...因为为了能够快速地重用这些对象当前占用的内存,即时释放长时间未使用的对象占用的存储空间.
回复 使用道具 举报
垃圾回收器,当内存中的引用长时间不用,gc就会调用finalize方法释放内存

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
GC的全拼是Garbage  Collcetion,即垃圾回收机制。
垃圾回收机制是虚拟机提供的能力,它会在无法预知的情况下,对无用废弃的对象进行清除,达到自动清理内存中垃圾的功能,程序员是无法预知和进行精确地控制和干预的。
需要说明的是,当执行程序时,不仅仅有main函数这一个线程,还会有垃圾回收机制这个线程存在。
具体请看:http://bbs.itheima.com/thread-42683-1-1.html

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
GC:Java的垃圾回收器。

Java是由C++发展来的。它摈弃了C++中一些繁琐容易出错的东西。其中有一条就是这个GC。

写C/C++程序,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值。内存再大也是有限的,所以当程序不再需要使用某个变量的时候,就需要释放这个内存空间资源,好让别的变量来用它。在C/C++中,释放无用变量内存空间的事情要由程序员自己来解决。就是说当程序员认为变量没用了,就应当写一条代码,释放它占用的内存。这样才能最大程度地避免内存泄露和资源浪费。但是这样显然是非常繁琐的。程序比较大,变量多的时候往往程序员就忘记释放内存或者在不该释放的时候释放内存了。而且释放内存这种事情,从开发角度说,不应当是程序员所应当关注的。程序员所要做的应该是实现所需要的程序功能,而不是耗费大量精力在内存的分配释放上。

Java有了GC,就不需要程序员去人工释放内存空间。当Java虚拟机发觉内存资源紧张的时候,就会自动地去清理无用变量所占用的内存空间。当然,如果需要,程序员可以在Java程序中显式地使用System.gc()来强制进行一次立即的内存清理。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马