java八大基本类型存储位置疑云

可能从刚开始学习java,就有各种视频老师、书籍、博客教导我们以下关于八大基本类型的知识


java八大基本类型存储位置疑云_第1张图片
image.png

其实说的过于片面

当属于实例变量时

public class Test {
  int a;
}

实例变量属于共享变量,所以存储在堆中,一定是4个字节。

当属于局部变量

public class Test {
  void func(int a) {
   ...
  }
}

局部变量属于私有变量,存储在栈中,所占用的字节随着机器位数有变化,32位4个字节,64位8个字节。

你可能感兴趣的:(java八大基本类型存储位置疑云)