栈溢出、內存溢出、Java內存泄露

来源:互联网 发布:python scatter 气泡 编辑:程序博客网 时间:2024/04/25 22:49
栈溢出、內存溢出、Java內存泄露

栈溢出:
在调用函数时,程序执行会创建函数栈帧。栈溢出出现在递归调用栈帧超出一定层数。

內存溢出:
申请巨大内存时出现内存溢出。

Java內存泄露:
内存泄露一般在c和c++中多见,因为c和c++中的内存创建和释放都是由程序员主动调用,如果创建了而没有释放,则产生内存泄露。
Java有垃圾回收器,程序员无法主动释放内存,内存释放由垃圾回收器自己完成。是不是java就没有内存泄露呢?
内存泄露的定义是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃
创建而不释放会使内存占用随时间增长,还有就是持有无用内存使得垃圾回收器无法释放也会造成内存占用随时间增长。
Java内存泄露体现在文件打开而不主动关闭,数据库创建连接而不主动关闭,网络连接创建而不主动关闭,其产生原因涉及到系统对资源的管理。


示例源码:

参考链接:

http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/

http://www.doc88.com/p-282601019640.html



2 0
原创粉丝点击