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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何苦似梦离 中级黑马   /  2014-2-10 17:19  /  1111 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 何苦似梦离 于 2014-2-10 18:28 编辑

听着毕老师说垃圾回收机制,听了半天也没听懂,到底是什么东西哦,请高手解答

评分

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

查看全部评分

5 个回复

倒序浏览
回复 使用道具 举报
这个机制详细讲起来比较复杂
你可以理解为 在虚拟机运行的时候 它会不定期的清理一些临时变量或者没用的对象
这个释放内存 而这些释放后的内存就重新分配给新的对象和变量 这种机制就是避免了过多的占用内存
这个里面有个垃圾回收算法
显性调用的话 可以System.gc() 就可以了 但一般不建议这么做
调用这个方法的两个条件 1 当没有任何应用线程运行时 2 当堆内存不够的时候
避免这种的几个方法
我认为主要有三个 1 良好的算法 比如数组的建立 byte[] b =new byte[1024*1024]
如果数据没那么大 就没必要这么设 很浪费资源 还有就是内存溢出问题
2 尽量少用静态 因为静态一旦初始化就一直存在
3 有些 比如 int 能用就用基本数据类型 不要用它的对象 Integer {:soso_e100:}

点评

我想我大概明白了,谢谢你  发表于 2014-2-10 18:28

评分

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

查看全部评分

回复 使用道具 举报
辛苦了
回复 使用道具 举报
这个我也不是很明白 ,过来看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马