如果不在 java 8 rcp 应用程序中指定 maxmetaspace 参数,会发生什么情况?

What happens if you don't specify the maxmetaspace parameter in a java 8 rcp app?

如果您在未指定 jvm 参数 MaxMetaspaceSize 和元空间大小的情况下启动并使用重型 java 8 rcp 桌面应用程序,会发生什么情况?

堆内存消耗的内存和非堆(元空间)消耗的内存差不多是正常的吗?

最后一个问题:不指定metapace size参数会导致应用崩溃吗?

除非指定,否则

MaxMetaspaceSize 是无限的,就像您拥有的内存一样。您在某些时候看到元 space 与堆大小相同 是可能的 。但是,堆和 meta-space 都被垃圾收集了;所以这些值可以快速改变。

不指定它,实际上意味着尽可能多地增长(我认为甚至包括交换)。我不认为该应用程序会因此而崩溃,除非 在您填充 MetaSpace 时出现 OutOfMemory;我个人非常怀疑。