u014738288
gg36000
2009-09-10 10:31

java 中静态变量的问题

  • 领域模型

我在一个类中定义了一个静态变量(一个Map)并且初始化,但是我在另外两个类中分别引用这个Map,其size竟然不一样。
public class Test1 {
public static Map map = new HashMap();
}
public class Test2 {
public static void main(String[] args) {
new Thread() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(1000);
System.out.println(Test1.map.size());
} catch (Exception e) {
}
}

}
}.start();
}
}
public class Test3 {
public static int i = 0;

public static void main(String[] args) {
new Thread() {
public void run() {
while (true) {
try {
Test1.map.put(i++, "");
System.out.println(Test1.map);
Thread.sleep(500);
} catch (Exception e) {
}
}
}
}.start();
}

[b]问题补充:[/b]
我知道肯定会有并发的问题,可是我运行了一分多钟,Test2输出的一直是0,而Test3输出的结果却是一直正常的。

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

6条回答

为你推荐

换一换