变量在内存中的分布

JAVA中有三大变量?

  实例变量:在堆中

  静态变量:在方法区

  局部变量:在栈中

以上三大变量中:局部变量永远不会存在线程安全问题,因为局部变量不共享(一个线程,一个栈)。局部变量在栈中,所以局部变量永远不会共享

实例变量在堆中,堆只有一个

静态变量在方法区中,方法区只有一个

堆和方法区都是多线程共享的,所以可能存在线程安全问题

局部变量 + 常量:不会有线程安全问题。

成员变量: 可能会有线程安全问题。

posted @ 2022-12-29 18:23  阿文程序猿  阅读(40)  评论(0)    收藏  举报