成员变量与局部变量与sychronized和效率与线程安全的关系
从JVM内存的层面来讲,线程不安全是因为多线程共用堆内存引起的,多线程是为了提高程序运行效率而来的,因为成员变量在堆内存中,而局部变量是随栈的所以不会影响线程安全,另外可以通过sychronized(){}修饰代码或方法达到对共用数据的保护。这样我们就有了三种模式,三种模式各有利弊。
1,使用成员变量
优点节约了栈消耗的内存,总体节约了内存
缺点是多线程下会造成线程不安全
2,使用
原创
2017-03-23 16:26:23 ·
841 阅读 ·
0 评论