Java:共享成员变量是什么意思啊?

Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。

谁能深入浅出的解释下这个是什么意思吗?

   Java共享成员变量是指在同一个类中或者不同包下的类,使用同一个变量进行操作。示例如下:

public class Car {
        private String color; // å®šä¹‰æ±½è½¦é¢œè‰²ï¼Œå…¨å±€å˜é‡
        private int numLuntai; // å®šä¹‰æ±½è½¦è½®èƒŽæ•°ï¼Œå…¨å±€å˜é‡
 
        public Car(String color, int numLuntai){
                  super();
                  this.color = color;
                  this.numLuntai = numLuntai;
        }
        public void run() {
                  System.out.println(this.numLuntai+ "个轮子的" +this.color + "轿车在马路上行驶着");
        }
}
 
public class ClassTest {
        public static void main(String[] args){
                  Car bmw = new Car("黑色", 4);      // åˆ›å»ºä¸€ä¸ªè½¿è½¦å¯¹è±¡ï¼Œåå­—为bmw
                  bmw.run();
        }
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-12
成员变量:

如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作,这多个线程是共享一个成员变量的。

局部变量:

如果一个变量是局部变量,那么多个线程对同一个对象进行操作,每个线程都会有一个该局部变量的拷贝。他们之间的局部变量互不影响。本回答被网友采纳
第2个回答  2014-01-12
就是说 这个类的所有对象 所拥有的这个对象是同一个对象
第3个回答  2014-01-13
建议你看看 计算机操作系统 这本书 里面关于进程的这一块,同步进程,共享代码块,共享变量。讲得很详细
第4个回答  2014-01-12
没有遇到过这个问题,我理解共享成员变量应该是类变量也就是类静态变量
相似回答