java内存中的成员分布以及成员变量与局部变量的对比

1.java内存中的成员分布

方法区:存放class文件;静态地址-->class文件中和堆内存中保存的都是静态标记(地址),该静态成员变量真正的值在静态区;

堆:存放new出来的东西(在堆中开辟一块空间,将类中的东西[成员变量及其赋值,静态地址等]复制一份给新对象);

栈:局部变量、对象名(指向new的地址);

2.成员变量与局部变量的对比

    类中位置

    内存中位置

        生命周期

        初始值

        作用范围

        成员变量                                     

    类中方法外                   

        堆内存                                  

随着对象的创建而出现,

垃圾回收器的回收而消失

有初始值,一般就是数据类型的默认值

         整个类

        局部变量

    方法内

        栈内存

随着方法的入栈而出现,方法的出栈而消失

 没有初始值

定义他的地方开始,到定义他的代码块的结束

若是对此理解不深刻,可做附加上机练习和面试题,便于更好的掌握^_^

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值