static变量的问题。

liujava10 2006-03-22 03:22:23
如定义了一个public的static变量aa。
A用户操作使aa变成了2;
再时B用户再操作就是使用aa变量的值2;
因为他是static的。改变一次后,以后就是使用第一次的值。应该怎么避免这种情况。
...全文
145 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧