基本数据类型的值存放位置

今天在看java堆栈方法区的内容,怕自己忘了,做个记录。
基本数据类型数据的值,可以存放在堆,也可以存放在栈,这取决于他的声明位置

public class Test{
	public static int a = 1;	// 类静态变量,存放在方法区中
	int b = 2;	//类成员变量,
	public void test(){
		int c = 3; 局部变量

a:类静态变量,随类的加载而加载,存放在方法区中,类可以直接调用。(jdk1.7及以后,静态变量存放在堆中的Class对象上

b:类成员变量,随对象的创建而加载,对象存放在堆中(对象的引用存放在栈中),则b的值2存放在堆中。
c 存放在栈中,随方法的调用而入栈,

多谢评论区朋友的纠错,类静态变量确实存放在方法区中,已改正。

感谢评论区大佬,三年过去了,早已物是人非了,博主也从一个青葱少年变成抠脚大汉了,已然不从事纯后端的开发工作了,哈哈哈哈哈,但知识不分领域,类静态变量,根据现在常用java版本,雀食存在于堆中Class对象中,感谢

你可能感兴趣的:(java基础,java,java)