当前位置:首页 > 内存 > 正文

内存泄露和内存溢出的区别(内存溢出是什么意思)

  • 内存
  • 2024-09-05 00:20:01
  • 500

一、jvm内存溢出和内存泄漏的区别内存溢出OutOfMemory是指当程序请求内存时,没有足够的内存空间供其使用,发生OutOfMemory,例如请求一个整数,但是里面可以存储一个long,那就是内存溢出。
内存泄漏是指程序在请求内存后无法释放所分配的内存空间。内存泄漏的危害可以忽略不计,但是累积内存泄漏的后果很严重,或者以后会被占用。
内存泄漏最终会导致outofmemory!
内存溢出是指你要求分配的内存超过了系统能给你的内存,系统无法满足需求,所以发生了溢出。


二、java什么是内存泄漏?内存泄漏是指无用对象(不再使用的对象)继续占用内存或者无用对象的内存无法及时释放,
造成浪费内存空间
如果长寿命对象引用了短寿命对象,则可能会发生内存泄漏。
即使不再需要短寿命对象。
由于长期存在的Periodic对象会保留其引用,无法回收。
这就是Java中发生内存泄漏的场景内存溢出,内存溢出超过限制最大使用区域。比如系统分配给你1G内存。