直接上图(对应JDK8以及以后的HotSpot)
这里主要区分说明一下 方法区于 字符串常量池 的位置更迭:
方法区
JDK7 以及之前的版本将方法区存放在堆区域中的 永久代空间,堆的大小由虚拟机参数来控制。
JDK8 以及之后的版本将方法区存放在 元空间中,元空间位于 操作系统维护的直接内存中,默认情况下只要不超过操作系统承受的上限,可以一直分配。
字符串常量池
JDK6 以及之前的版本存储在方法区中的运行时常量池中
JDK7 以及以后存储在堆(Heap)中
直接上图(对应JDK8以及以后的HotSpot)
这里主要区分说明一下 方法区于 字符串常量池 的位置更迭:
JDK7 以及之前的版本将方法区存放在堆区域中的 永久代空间,堆的大小由虚拟机参数来控制。
JDK8 以及之后的版本将方法区存放在 元空间中,元空间位于 操作系统维护的直接内存中,默认情况下只要不超过操作系统承受的上限,可以一直分配。
JDK6 以及之前的版本存储在方法区中的运行时常量池中
JDK7 以及以后存储在堆(Heap)中
道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。