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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zxg08042810 中级黑马   /  2014-3-3 12:47  /  994 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

6 个回复

倒序浏览
GC就是垃圾回收机制。简单说就是内存中的垃圾多了容易内存溢出。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
就是垃圾回收,如果JAVA让你用指针的话,可能没有GC,但是你必须自己做这些事,你如果写过C或C++就知道那有多么烦人了。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
    gc就是垃圾回收器
    我学过c++,写C/C++程序,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值。内存再大也是有限的,所以当程序不再需要使用某个变量的时候,就需要释放这个内存空间资源,好让别的变量来用它。在C/C++中,释放无用变量内存空间的事情要由程序员自己来解决。就是说当程序员认为变量没用了,就应当写一条代码,释放它占用的内存。这样才能最大程度地避免内存泄露和资源浪费。
    Java有了GC,就不需要程序员去人工释放内存空间。当Java虚拟机发觉内存资源紧张的时候,就会自动地去清理无用变量所占用的内存空间。当然,如果需要,程序员可以在Java程序中显式地使用System.gc()来强制进行一次立即的内存清理。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
gc是提示垃圾回收机制进行垃圾回收,具体回不回收看情况,垃圾回收机制只是一种程序员自我希望的结果,自我安慰罢了。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
java垃圾回收是有jvm自动执行的,不是人为操作的,所以当不存在对某对象的任何引用时,该对象就处于被jvm回收的状态,并不是马上予以销毁。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
cg就是java特有的垃圾回收机制,C语言就没有这种自动垃圾回收器,这也是java的一大特性,可以防止内存垃圾过多而造成内存溢出;

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

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