内存泄漏:程序无法释放某块不会再使用的内存。
内存溢出:运行程序所需内存不够。三种情况:即类信息、类的变量、类的对象
- Metaspace区域用来存放类信息,有可能会发生OOM
- 线程创建时对应创建虚拟机栈或虚拟机栈扩容,有可能发生内存溢出。(局部变量会放在栈帧中,每执行一个方法建一个栈帧,栈帧放在虚拟机栈中,一个可能造成栈溢出,另一个则是线程创建需空间1m左右,如果申请创建的线程比较多时超过剩余内存时会抛出OOM)
- 创建的对象放在堆内存中,有可能溢出
内存泄漏:程序无法释放某块不会再使用的内存。
内存溢出:运行程序所需内存不够。三种情况:即类信息、类的变量、类的对象