1、饿汉单例;
public class Starving {
private Starving() {}
private final static Starving starving = new Starving();
public static Starving getInstance() {
return starving;
}
}
2、模拟高并发测试;
public class LazyingTest {
public static void main(String[] args) {
// 发令枪 1000个并发
int num = 1000;
final CountDownLatch countDownLatch = new CountDownLatch(num);
for (int i = 0; i < num; i++) {
new Thread() {
@Override
public void run() {
Lazying lazying= Lazying.getInstance();
System.out.println("时间点:"+System.currentTimeMillis()+"实例:"+"【"+lazying+"】");
try {
countDownLatch.await();
} catch (Exception e) {
}
}
}.start();
countDownLatch.countDown();
}
}
}
3、经过多次测试,线程安全。