JVM内存模型
jdk1.8内存模型.jpg
修改内容:将方法区移除,添加了元数据区,而且元数据区是在本地内存中,不再受限制于JVM内存的大小,而是和机器内存有关。
修改原因
随着现今框架和程序都包含很多依赖,而这些依赖有很多类对象,都存于永久代中,因此这部分内容往往会内存溢出,于是干脆把这部分内容放到堆内存或本地内存中存储。
元空间有以下特点:
- 每个加载器有专门的存储空间。
- 不会单独回收某个类。
- 元空间里的对象的位置是固定的。
- 如果发现某个加载器不再存活了,会把相关的空间整个回收。