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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。
2.GC是什么? 为什么要有GC?
GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

9 个回复

倒序浏览
赞一个,学习了,个人认为垃圾回收器应该是不定时自动执行的吧。
回复 使用道具 举报
但是有的垃圾GC还是回收不了,这个时候你就要手动的把对象置为null
回复 使用道具 举报
耀阳圣尊 发表于 2015-10-22 14:36
但是有的垃圾GC还是回收不了,这个时候你就要手动的把对象置为null

是啊!
回复 使用道具 举报
wome789 发表于 2015-10-22 14:25
赞一个,学习了,个人认为垃圾回收器应该是不定时自动执行的吧。

Java中是,c语言不是自动清理
回复 使用道具 举报
66666666666666666
回复 使用道具 举报
wome789 中级黑马 2015-10-23 10:52:39
7#
小鱼儿211 发表于 2015-10-22 17:58
Java中是,c语言不是自动清理

恩,是的,说的就是java
回复 使用道具 举报
学习啦!
回复 使用道具 举报
学习了,收藏一下,肯定会有用的。
回复 使用道具 举报
你说的GC在创建对象时监控着,那我是应该认为GC是系统一开始就开着的吗?我们调用System.gc()是不是只是开关一样?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马