多线程的static class A () { static Object obj = new Object(); ……}在多个线程中初始化A实例的时候,有没有可能造成obj被实例化多次 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会。static属性只会被初始化一次,即在类被加载到Java虚拟机的时候被初始化一次。 static只会被执行一次所以说第二次遇到这个语句就会自动跳过 class A () { static Object obj = new Object(); ……}这个static的obj肯定是在第一次用到A的时候实例化,如果在obj还未实例化的时候,同时有n个线程 new A(),是不是也不会造成冲突。或者说以下这样都写法是更安全还是没有必要class A () { synchronize(this) { static Object obj = new Object(); } ……} 不存在线程问题,static成员是在虚拟机加载这个类的时候初始化的。 static当然只加载一次另外说一下 class A()是啥意思? UDP编程: 发送一个UDP包后,然后进入接收状态,但有时收不到回应包 汉字怎么截取,一半摄取,满2就取 关于server和client端思路的问题 界面设计用布局管理器是好的选择吗? 问个cvs的问题,网上好象这种错误很少,大家看看... 关于JTree右键的问题 对象之间如何通过套接字进行通信? 关于弹出菜单 请问List = new AraayList(20);是不是 向下转型? 比List多那那些东西? 我的APPLET怎么在IE里不能显示啊! netbeans中打开新窗口的问题 java执行cmd的问题
static属性只会被初始化一次,即在类被加载到Java虚拟机的时候被初始化一次。
static Object obj = new Object();
……
}这个static的obj肯定是在第一次用到A的时候实例化,如果在obj还未实例化的时候,同时有n个线程 new A(),是不是也不会造成冲突。或者说以下这样都写法是更安全还是没有必要class A () {
synchronize(this) {
static Object obj = new Object();
}
……
}
另外说一下 class A()是啥意思?