private static产生的错误 我在程序中使用了private static定义变量,在两个客户端同时操作一个页面的数据时,会产生数据混乱的现象,怎么解决这个问题呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去掉static static是同一类型对象公用的数据 static是静态变量,你可以认为是全局变量,产生数据混乱是正常的!! static是静态变量,你可以认为是全局变量,产生数据混乱是正常的!! 别用static这是真的是真理,真的,等你完全明白了以后再用不迟 别用static 这是真的是真理,真的,等你完全明白了以后再用不迟 static是静态变量,你可以认为是全局变量,产生数据混乱是正常的!!别用static 这是真的是真理,真的,等你完全明白了以后再用不迟 static,用来放公共的方法,只要不是改变其值的引用操作,我认为static没有什么不妥,也没有什么混乱问题 我在程序中使用了private static定义变量,在两个客户端同时操作一个页面的数据时,会产生数据混乱的现象static 既然是全局的,你为什么还要private呢因为static是全局的,所以操作变量,肯定不能用static了 我也遇到你这个问题了,还被痛骂一顿 ,是全局变量在方法体内 ,值被覆盖了,导致前后不是一个对象所导致的,应该去掉那个修饰词,Static 就可以,定义成局部变量就好,可以做一个测试。类1: public static void main(String[] args) throws InterruptedException { // TODO Auto-generated method stub TestThread TestThread =new TestThread(); TestThread.start(); System.err.println("111111111111111111111111"); TestThread1 TestThread1 =new TestThread1(); TestThread1.start(); }类2:public class TestThread extends Thread { public void run() { TestStatic TestStatic = new TestStatic(); System.err.println("TestThread a:" + TestStatic.getObj()); try { Thread.currentThread().sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.err.println("TestThread b:" + TestStatic.getObj()); }}类3:public class TestThread1 extends Thread { public void run() { TestStatic TestStatic = new TestStatic(); System.err.println(TestStatic.getObj()); }}类4:工具类 我们执行类来监控类4的getObj方法里的值public class TestStatic { private static List list =null; private static Object obj =null; public TestStatic() { obj = new Object(); } public Object getObj() { return obj; } public List getString (){ list =new ArrayList(); int i=0; i++; list.add(String.valueOf(i)); return list; }}一目了然 。深有感触,与你分享。 怎么用代码删除磁盘文件 求asp.net报表的插件、样式等相关信息 设置LazyLoadingEnabled EF 4.X POCO Entity Generator for C# 如何把.txt的文件读取到asp页面上 递规 (高手请来)datagrid模板列的问题! 上传网站后.net控件看不到 如何获取sql server的错误 asp.net 的web网站在保存时报"无法将文件''*******"保存到WEB服务器。服务器错误:文件夹*****已被标识为可执行。您不能将文件放入此服务器上的可执行文件夹中。" 一个添加主键时的发现的问题 音乐论坛 加载配置文件时出错
别用static 这是真的是真理,真的,等你完全明白了以后再用不迟
static 既然是全局的,你为什么还要private呢因为static是全局的,所以操作变量,肯定不能用static了
类1:
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
TestThread TestThread =new TestThread();
TestThread.start();
System.err.println("111111111111111111111111");
TestThread1 TestThread1 =new TestThread1();
TestThread1.start();
}
类2:
public class TestThread extends Thread { public void run() {
TestStatic TestStatic = new TestStatic();
System.err.println("TestThread a:" + TestStatic.getObj());
try {
Thread.currentThread().sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.err.println("TestThread b:" + TestStatic.getObj());
}}
类3:public class TestThread1 extends Thread { public void run() { TestStatic TestStatic = new TestStatic();
System.err.println(TestStatic.getObj());
}}
类4:工具类 我们执行类来监控类4的getObj方法里的值public class TestStatic { private static List list =null;
private static Object obj =null;
public TestStatic() {
obj = new Object();
}
public Object getObj() {
return obj;
}
public List getString (){
list =new ArrayList();
int i=0;
i++;
list.add(String.valueOf(i));
return list;
}
}
一目了然 。深有感触,与你分享。