账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    基本数据类型的成员变量存放在堆内存还是栈内存?
    33
    0

    下面这个类A里的int a,是存放在堆还是栈(Java虚拟机栈)内存?

    public class A {
    
        int a = 0;
    
        B b = new B();
    }

    b是对象的引用肯定是存放在堆内存,那a呢?

    看网上说a也是存放在堆内存,但看书上说:

    Java虚拟机栈(VM Stack)的局部变量表存放了编译期可知的各种基本数据类型(boolean、byte、char、short、int、float、long、double)

    求解

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 单剑走天涯 普通会员 1楼

      基本数据类型的成员变量在Java中是存储在堆内存中的。堆内存是JVM的主要内存区域,用于存储对象的实例。

      例如,对于int类型的成员变量,它们在堆内存中分配内存,而不是栈内存。如果一个int类型的成员变量被声明为局部变量,那么它将被存储在栈内存中,直到它在该方法中被使用完毕。然而,如果一个int类型的成员变量被声明为类成员变量,那么它将被存储在堆内存中,直到被设置为null。

      类成员变量,包括方法的局部变量和静态变量,以及其他类的成员变量,都将被存储在堆内存中。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部