区分栈,堆,方法区,以及存放的内容

69 阅读1分钟

Java的内存分为栈和堆,实际上还有一个方法区。 因为方法区属于一个逻辑概念,所以我们一般说Java的内存分为栈和堆。 方法区:存放static静态区域,常量池,类信息,函数信息。 在1.8以下版本的jdk我们称为永久代,1.8及以上我们称为元空间。  这里有一个需要注意的是,常量池在语法里面归属于方法区,但是它在实际场景里面放在了堆内存里面。