gg36000
2009-09-10 10:31java 中静态变量的问题
我在一个类中定义了一个静态变量(一个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条回答
为你推荐
- java的静态变量和非静态变量
- java
- 1个回答
- java中用volatile修饰的静态变量线程可见,不修饰我发现还是可见,不知道怎么回事????
- java
- intellij-idea
- java-ee
- maven
- 3个回答
- Java静态变量可以销毁吗?怎么销毁
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- java对象静态变量放在jvm的什么区域?
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- EL表达式获取java类中的静态变量
- java
- jstl
- 8个回答