元空间共享字节码(可回收)
意图:存储类的元信息。
https://stuefe.de/posts/metaspace/what-is-metaspace/
类的元信息。

类元信息不是 java 对象,不在 Java 堆中:

何时被释放:

类下没有任何实例

被释放的空间通常会被保留,并不会归还给 OS。
设置空间大小的两个参数
| 参数名 | 描述 |
|---|---|
| -XX:MaxMetaspaceSize | Metaspace 最大空间。默认无限制 |
| -XX:CompressedClassSpaceSize |
metaspace 分为两块

metaspace
Metaspace used 2677K, capacity 4486K, committed 4864K, reserved 1056768K
class space used 279K, capacity 386K, committed 512K, reserved 1048576K
committed: 向 jvm 申请的内存(>=used, 因为你去申请的一般都会超过你使用的)
userd: 已使用的内存
参考
https://www.javadoop.com/post/metaspace
这个是上面这个的一个作者的翻译 + 理解,可以先看下英文版,再看下这个作者的。
这个没咋看懂,理解的比较少。