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

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:56:51
GC是什么?为什么要有GC?

GC:Java的垃圾回收器。

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

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

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

月30日   星期一  晴
  今天一天都没有出太阳,真不好,爸爸买回两条金鱼,养在水缸淹死一条,我很伤心。
  老师评语:我也很伤心,我活了这么大,2月还从来没有遇上过一个30号呢!也从来没有见过不出太阳的晴天,更没见过会淹死的金鱼。
 1.题目:一边……一边……
  小朋友写:他一边脱衣服,一边穿裤子。
  老师批语:他到底是要脱还是要穿啊?
 2.题目:其中
  小朋友写:我的其中一只左脚受伤了。
  老师批语:你是蜈蚣吗?
 3.题目:陆陆续续
  小朋友写:下班了,爸爸陆陆续续的回家了。
  老师批语:你到底有几个爸爸呀?
 4.题目:难过
  小朋友写:我家门前有条水沟很难过。
  老师批语:老师更难过。
 5.题目:又……又……
  小朋友写:我的妈妈又矮又高又胖又瘦。
  老师批语;你的妈妈是变形金钢吗?
 6.题目:你看