小弟java菜鸟一枚,请教各位大神。我们知道,在函数内的变量我们称作是局部变量,储存在栈内存中。直接定义在类中的变量是成员变量,据说所有的成员变量都会储存在堆内存中,是这样吗?假设我现在定义一个成员变量int a = 10,据说成员变量要存放在堆内存中,但是int本身是基本类型数据,基本类型不是应该存放栈中吗?同样的我假设定义一个局部变量String s = “william”,但是有人说过,局部变量应该存放在栈内存中,但是“String”类型是引用型变量,引用变量不是存放在堆内存中吗?我都搞晕了。