现在的位置: 首页 > 综合 > 正文

内存易混淆概念

2017年10月06日 ⁄ 综合 ⁄ 共 390字 ⁄ 字号 评论关闭

内存溢出指系统内存不够用了。你要求分配的内存超出系统能给你的,系统不能满足需求,产生溢出。

      内存泄露指被分配出去的内存回收不了了,这样无论多少内存早晚会被用完,一般是程序逻辑有问题。最简单的例子就是死循环

由于程序判断错误经常发生此事,

      申请了一个integer,但是给他存long才能存的数。(竟也是内存溢出)

java内存回收机制是从程序的主要运行对象开始检查引用链,遍历一遍当发现没有被引用的孤立对象就作为垃圾被回收,对象的

申请引用被引用赋值等,gc都要监控,释放对象的根本原则就是对象不再被引用。

运行gc的函数,System.gc;该函数不保证jvm的垃圾收集器一定会执行,因为不同的jvm实现者可能使用不同的算法管理gc,通

常gc的线程优先级别较低,jvm调用的策略也有很多种,有的是内存使用到一定程度才开始执行,有的是定时执行,有的是平缓执行,

有的是中断执行gc。

抱歉!评论已关闭.