Java基础学习总结(119)——Java8 JVM与Java7 JVM比较

jdk 7的jvm 内存分配,请看下图:
Java基础学习总结(119)——Java8 JVM与Java7 JVM比较_第1张图片
在JDK7以及其前期的JDK版本中,JVM空间可以分成三个大区,新生代、老年代、永久代。其中新生代可以划分为三个区,Eden区,两个幸存区。
一个对象被创建以后首先被放到新生代中的Eden内
存中,如果存活期超两个Survivor之后就会被转移到老年代(Old Generation)中。
永久内存中存放着对象的方法、变量等元数据信息。通过如果永久内存不够,我们就会得到如下错误:
java.lang.OutOfMemoryError: PermGen
JDK8 HotSpot JVM 将移除永久区,使用本地内存来存储类元数据信息并称之为:元空间(Metaspace);
Java基础学习总结(119)——Java8 JVM与Java7 JVM比较_第2张图片

你可能感兴趣的:(Java基础学习总结)