java变量存储

时间:2018-12-04 16:43:33   收藏:0   阅读:95

类内部方法外部定义的变量为成员变量,方法内部定义的变量为局部变量。

局部变量为基本数据类型(int,long,string,double等)的存储在虚拟机栈中,相应的数据也存放在栈中。

局部变量为引用类型(new)的变量本身存储在虚拟机栈中,相应的引用对象存放在堆中。

成员变量存储在该类在堆中生成的对象中。

方法的形参同局部变量管理。

局部变量在虚拟机栈中,属于线程私有,不会出现线程安全问题,随方法的执行结束消失。

成员变量在堆中,属于共享内存,会出现线程安全问题,所以在多线程的使用中需要考虑同步处理,在对象引用释放之后等待垃圾回收处理。

原文:https://www.cnblogs.com/it-abang/p/10064539.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!