Java内存区域

程序计数器、虚拟机栈、本地机栈。

堆。

方法区。

运行时常量池(在方法区)。

永久代(现称为元空间,是方法区的一个具体实现,而且仅针对hotpot虚拟机,其他虚拟机没有这个东西)。

直接内存。它不是运行时数据区的一部分,也不是jvm规范的内存部分,它是通过管道和缓存区的I/O方式的,就它可能在缓存区。

注意。

String s=s1+s2;则会调用对象的append方法,即得到的不是常量池对象,而是堆里的对象。

Integer i=i1+i2;由于i1和i2要先拆箱才能运算,而拆箱后就相当于3+2这种,因此是在运行时常量池。

原文地址:https://www.cnblogs.com/riverer/p/dsdad.html