问一个比较弱的问题,内存泄露的定义是什么? 就是这个了相对于内存溢出:length = 5的数组往里面添加10个数据,这就造成溢出。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在形成一套严密的理论体系之前,并非所有的词语都要有一个严格“定义”,有的甚至只是人们约成俗成的叫法而已。至于“Memory Leak”,wiki上倒是有不错的解释:http://en.wikipedia.org/wiki/Memory_leak 在C++中,new 出的东西必须要有delete与之配对。如果没delete很可能就出现内存泄露。java中一般很少出现,主要注意向 文件打开关闭,数据库连接打开和关闭等等,这些要配对。处理完要及时释放 分配内存后不能回收,就是泄漏。实际上,内存分配后,长时间既不用也不回收,也可以认为是泄漏了。其他资源如文件锁、Socket、数据库连接等资源都可能出现泄漏。 对于java来说内存由jvm管着呢你使用system.gc()也只是 建议 jvm来进行垃圾收集内存泄漏指new了新对象并分配空间由于特定的情况但jvm的垃圾回收算法不能将其回收造成这块内存在程序执行期间不能被释放实际上这块内存存储的数据已经无用了举例如下:你new了几个对象然后把它们放在一个静态的arraylist中然后呢对于你的程序来说这几个对象不再使用但由于没有从arraylist中remove它们造成jvm判断这些对象还存在引用所以不进行垃圾回收造成内存泄漏 简单地理解,就是申请了太多无用的内存。如果严格按照定义理解,应该是申请的内存无法被程序释放才叫泄漏。这种情况在Java中是不存在的,因为有GC定期扫描内存中没有被引用的对象,一旦发现即回收。内存不够用并不等于出现了内存泄漏,比如,程序的可用内存为1M,但却读取了一个大于1M的文件,这时内存不够用,但并没有出现泄漏。 三位数的水仙花数。 在JFreeChart的柱状图中单个柱状图的背景色如何设置???急!!! 大家帮忙给出经典的方法 验证码刷新后session当中保存的是上次的值!!! 用过MINA的朋友进来帮个忙! 正则表达式取反问题 关于数据库和jtable的问题!!急!!! 一个ArrayList里的元素全部是Byte对象.怎么才能把这个ArrayList转换成一个byte[](不是Byte[]) java中读写文件为何是乱码?请大家看看 外行问题:想学Java,难学否?怎么入门?要多长时间算可以了? 正则表达式对一串数字如何匹配其中没有某个数字的 请问,如何判断Jframe是否出于最前端?
至于“Memory Leak”,wiki上倒是有不错的解释:
http://en.wikipedia.org/wiki/Memory_leak
java中一般很少出现,主要注意向 文件打开关闭,数据库连接打开和关闭等等,这些要配对。处理完要及时释放
实际上,内存分配后,长时间既不用也不回收,也可以认为是泄漏了。
其他资源如文件锁、Socket、数据库连接等资源都可能出现泄漏。
内存由jvm管着呢
你使用system.gc()也只是 建议 jvm来进行垃圾收集
内存泄漏指new了新对象并分配空间
由于特定的情况
但jvm的垃圾回收算法不能将其回收
造成这块内存在程序执行期间不能被释放
实际上这块内存存储的数据已经无用了
举例如下:
你new了几个对象
然后把它们放在一个静态的arraylist中
然后呢
对于你的程序来说
这几个对象不再使用
但由于没有从arraylist中remove它们
造成jvm判断这些对象还存在引用
所以不进行垃圾回收
造成内存泄漏
如果严格按照定义理解,应该是申请的内存无法被程序释放才叫泄漏。这种情况在Java中是不存在的,因为有GC定期扫描内存中没有被引用的对象,一旦发现即回收。
内存不够用并不等于出现了内存泄漏,比如,程序的可用内存为1M,但却读取了一个大于1M的文件,这时内存不够用,但并没有出现泄漏。