static变量的问题。

liujava10 2006-03-22 03:22:23
如定义了一个public的static变量aa。
A用户操作使aa变成了2;
再时B用户再操作就是使用aa变量的值2;
因为他是static的。改变一次后,以后就是使用第一次的值。应该怎么避免这种情况。
...全文
108 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
iambic 2006-03-22
设计问题。即public又static就不要可变。
回复
cleansunshing 2006-03-22
把static去掉
回复
dreamover 2006-03-22
static本来就是设计成这样用的啊
回复
ChDw 2006-03-22
如果你希望每个线程见到的变量值都不相同,可以使用ThreadLocal

你调用的set(Object)只会在本线程中get回来,其它线程是无法获得A中set的值的
回复
ChDw 2006-03-22
那你为什么要声明为static,你的用法明显与static背道而驰
回复
gks_cn 2006-03-22
可以把这个变量放在一个类里面。然后声明为不是static的。然后在页面中创建一个session的类实例<jsp:useBean id="classId" class="package1.ClassName" scope="session"/>
ClassName中包含aa这个变量就可以用这个类的set和get方法来访问了。
回复
ywb1973 2006-03-22
需要多个用户修改的变量就不要定义成静态的,静态变量一般在应用初始化的时候赋初值,之后就不再改变,一般只用于类似宏定义一样的功能
回复
pigengler 2006-03-22
static变量就是这样啊

如果你想根据用户不同存储不同的数据,为什么不用session
回复
wizardblue 2006-03-22
操作这个变量的方法加synchronize
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-22 03:22
社区公告
暂无公告