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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孔斌 中级黑马   /  2013-2-9 17:06  /  1576 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

虽然垃圾回收关心着大部分的问题,包括内存管理,使得程序员的任务显得更加轻松,但是程序员还是可能犯些错误导致内存泄漏问题。突然想到一个问题,回收机制所采用什么样的算法呢?

1 个回复

倒序浏览

1、Java的一个重要优点就是通过垃圾收集机制自动管理内存的回收,这样程序员就不需要通过调用函数
来释放内存,大大的减少了程序员的负担。

2、虽然Java有了很好的内存回收机制,但还是有可能由于程序员的误操作而造成内存泄漏为题——虽然
刚开始时就浪费了一丁点内存,但是如果机器一天24小时运行,随着浪费的不断积累,就会造成很大的浪费!

3、Java分配内存的方式有多种,但最后都要返回所分配的内存块的起始地址,这是Java进行内存回收的前提。
为了能够正确释放对象,Java的“垃圾收集器”将会监控每一个对象的运行状态。

4、至于内存回收机制所采用的算法,Java是采用有向图的方式进行管理的。
5、判断一块内存空间是否符合垃圾收集器收集标准的标准只有两个:

  1.给对象赋予了空值null,以下再没有调用过。

  2.给对象赋予了新值,既重新分配了内存空间。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

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