黑马程序员技术交流社区
标题:
GC问题
[打印本页]
作者:
张海洋
时间:
2013-3-26 21:54
标题:
GC问题
本帖最后由 张海洋 于 2013-3-27 09:17 编辑
GC是什么? 为什么要有GC?
作者:
张东贤
时间:
2013-3-26 22:05
gc 就是垃圾回收器
会不定时清理垃圾
在jvm启动时
就会伴随jvm
一起运行
只是不知道他在什么时候回收垃圾啊
作者:
罗海云
时间:
2013-3-26 22:12
GC是System类中的一个方法...简称:垃圾回收器...因为为了能够快速地重用这些对象当前占用的内存,即时释放长时间未使用的对象占用的存储空间.
作者:
伊廷文
时间:
2013-3-26 22:13
垃圾回收器,当内存中的引用长时间不用,gc就会调用finalize方法释放内存
作者:
小黑黑
时间:
2013-3-26 22:15
GC的全拼是Garbage Collcetion,即垃圾回收机制。
垃圾回收机制是虚拟机提供的能力,它会在无法预知的情况下,对无用废弃的对象进行清除,达到自动清理内存中垃圾的功能,程序员是无法预知和进行精确地控制和干预的。
需要说明的是,当执行程序时,不仅仅有main函数这一个线程,还会有垃圾回收机制这个线程存在。
具体请看:
http://bbs.itheima.com/thread-42683-1-1.html
作者:
蔡陶军
时间:
2013-3-26 22:20
GC:Java的垃圾回收器。
Java是由C++发展来的。它摈弃了C++中一些繁琐容易出错的东西。其中有一条就是这个GC。
写C/C++程序,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值。内存再大也是有限的,所以当程序不再需要使用某个变量的时候,就需要释放这个内存空间资源,好让别的变量来用它。在C/C++中,释放无用变量内存空间的事情要由程序员自己来解决。就是说当程序员认为变量没用了,就应当写一条代码,释放它占用的内存。这样才能最大程度地避免内存泄露和资源浪费。但是这样显然是非常繁琐的。程序比较大,变量多的时候往往程序员就忘记释放内存或者在不该释放的时候释放内存了。而且释放内存这种事情,从开发角度说,不应当是程序员所应当关注的。程序员所要做的应该是实现所需要的程序功能,而不是耗费大量精力在内存的分配释放上。
Java有了GC,就不需要程序员去人工释放内存空间。当Java虚拟机发觉内存资源紧张的时候,就会自动地去清理无用变量所占用的内存空间。当然,如果需要,程序员可以在Java程序中显式地使用System.gc()来强制进行一次立即的内存清理。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2