java处理内存泄露与内存溢出的学习总结
来源:互联网 发布:网络114卖的东西可靠么 编辑:程序博客网 时间:2024/05/22 15:15
首先了解内存溢出与内存泄露的概念。顾名思义,内存溢出就是指在指定大小的内存空间,写入了超出大小的数据,从而导致了内存溢出。比方说,定义了20个字节大小的内存空间,却写入了21个字节的数据。通俗的说,就是内存不够,没办法支持当前程序。当发生内存溢出时,程序将无法进行,强制终止。内存泄露是指某个程序已不再执行,却始终占用着内存,不释放,从而消耗着资源,称其为内存泄露。如果发生内存泄露,那么可用内存会逐渐减少,从而降低性能。
对于内存溢出可能发生的情况,大概有几种:1、在程序中存在死循环,或者循环过多,而产生了过多重复的对象的实例;2、存在对象的引用,使用完后没有清除,导致JAVA虚拟机不能回收;3、一次操作时,在内存中加载了大量的数据;原则上来说,在JAVA中,由于它的自动垃圾回收机制,出现内存溢出的可能性并不是很大。
当用new操作符创建对象实例时,JAVA会在堆内存中开辟内存空间,这段空间何时会被释放,取决于是否还存在对它的引用,对象的引用变量是在栈内存中创建,对象的引用变量在超出它的作用域范围后,会被销毁,但JVM不会立即销毁堆内存中的对象,在一个不确定的时间之后才会被销毁,释放掉空间,由于这段不确定的时间的存在,使得JAVA程序比较占内存,所以有时候会显得比较慢
JAVA的垃圾回收机制彰显了JAVA的健壮性与安全性,合理的设计代码,有效的评估内存使用情况,基本上不会出现上述问题。
0 0
- java处理内存泄露与内存溢出的学习总结
- 关于java处理内存泄露与内存溢出的学习总结
- Java内存泄露与溢出的区别
- Java内存泄露与溢出的区别
- Java内存泄露与溢出的区别
- Java内存泄露与溢出的区别
- 内存泄露与内存溢出总结
- java学习--内存泄露和内存溢出
- JAVA内存泄露与内存溢出
- java内存泄露与内存溢出
- java中的内存泄露与内存溢出
- Java编程:内存泄露与内存溢出的区别
- 内存溢出与内存泄露的区别
- 内存溢出与内存泄露的区别
- 内存溢出与内存泄露的区别
- 内存溢出与内存泄露的区别
- Java的内存泄露和内存溢出
- 内存泄露与溢出
- 中文乱码问题
- 给 Web 开发者的 25 款最有用的 AngularJS 工具
- Hibernate HQL绑定变量
- 批量反编译&生成jar
- protected访问权限
- java处理内存泄露与内存溢出的学习总结
- JS联动下拉框
- oracle建表、序列、触发器
- crontab详解
- getAttribute和getParameter区别
- getHibernateTemplate的find方法大全 HQL
- Win10如何关闭自动更新
- IE打印&分页打印&选择隐藏
- struts1.2之LookupDispatchAction