1. 运行时常量池和静态变量都存储到了堆中,MetaSpace存储类的元数据,MetaSpace直接申请在本地内存中(Native memory),这样类的元数据分配只受本地内存大小的限制,OOM问题就不存在了.除此之外,还有其他很多好处: 2. 其实,移除永久代的工作从JDK1.7就开始了.JDK1.7中,存储在永久代的部分数据就已经转移到了Java Heap或者是 Native Heap.但永久代仍存在于JDK1.7中,并没完全移除,譬如符号引用(Symbols)转移到了native hea