立即加载/“饿汉模式”

编程

public class MyObject {

private static MyObject myObject = new MyObject();

public MyObject() {

}

public static MyObject getInstance(){

//此代码版本为立即加载

//此版本的代码的缺点是不能有其他实例变量

//因为getInstance()方法没有同步

//所以有可能出现非线程的安全问题

return myObject;

}

}

public class MyThread extends Thread{

@Override

public void run() {

System.out.println(MyObject.getInstance().hashCode());

}

}

public class Run {

public static void main(String[] args) {

MyThread t1 = new MyThread();

MyThread t2 = new MyThread();

MyThread t3 = new MyThread();

t1.start();

t2.start();

t3.start();

}

//控制台打印的hashcode是同一个值,说明对象是同一个。

}

以上是 立即加载/“饿汉模式” 的全部内容, 来源链接: utcz.com/z/513427.html

回到顶部