https://www.bilibili.com/video/BV1Qv411V7qw?p=6

https://cdn.nlark.com/yuque/0/2021/png/576791/1632488577824-a1c8dca7-7117-4757-8222-90d2c33fbf81.png#clientId=u1c87d55a-0b5f-4&from=paste&height=505&id=u62fce9db&originHeight=1010&originWidth=2090&originalType=binary&ratio=1&size=1512495&status=done&style=none&taskId=u1cd33365-e98b-4c3d-8aa5-27a802cf182&width=1045

内存泄漏:

内存泄漏是指本应该被GC回收的无用对象没有被回收,导致的内存空间的浪费。当内存泄漏严重时会导致OOM

内存溢出:

就是通常遇到的 OutOfMemoryError 异常,通俗理解就是内存不够,通常在运行大型程序时候发生,当程序所需要的内存远远超出了 JVM 内存所承受代小,就会报出 OutOfMemoryError 异常。

JVM的参数类型

https://cdn.nlark.com/yuque/0/2021/png/576791/1632489003463-cff86c36-dda6-457d-be64-3e118d10b65e.png#clientId=u3d9a1b9f-8d39-4&from=paste&height=575&id=udc78200a&originHeight=1150&originWidth=2116&originalType=binary&ratio=1&size=1586556&status=done&style=none&taskId=ue9875e18-8b1c-49c8-994b-af7426b6445&width=1058

  1. 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;
  2. 非标准参数(-X),默认JVM实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容;
  3. 非 Stablb参数(-XX),此类参数各个JVM实现会有所不同,将来可能会随时取消,需要慎重使用

JVM 标准参数

https://cdn.nlark.com/yuque/0/2021/png/576791/1632489213280-477c1837-0437-4883-b6dc-72b84d2c7bda.png#clientId=uad9e3dd4-ef09-4&from=paste&height=573&id=nEtKp&originHeight=1146&originWidth=2048&originalType=binary&ratio=1&size=1620780&status=done&style=none&taskId=u7092cadc-bf61-47f0-9b11-0875644e25e&width=1024

JVM 非标准参数