单例设计模式
设计模式
即解决某类问题的最优方案,强调解决问题的思想。
某种问题有各种解决的办法,从中选取最好的一种办法,最为以后处理问题的统一处理方式,该办法就成为一种模式!
?
?
单例设计模式
解决的问题:
确保一个类在内存中只有唯一的对象;
步骤:
构造方法私有化,保证外界无法创建对象
本类创建自己的对象,并对外提供获取该唯一对象的“接口”
外界通过这个接口获取返回的对象的引用
?
饿汉式(推荐开发中使用)
类一加载就在堆内存创建对象,在外界获取之前就创建好。
代码如下:main()创建多线程环境进行测试//测试,线程睡眠的时候,修改配置文件中的数据,线程醒过来后应该读取到新的配置//前提是autoReload = truepublic static void main(String[] args) {for(int i=0;i<100;i++) {new Thread(new Runnable() {@Overridepublic void run() {try {int time = 1000+new Random().nextInt(100000);System.out.println(Thread.currentThread().getName()+":sleep\t"+time/1000);Thread.currentThread().sleep(time);} catch (InterruptedException e) {e.printStackTrace();}ConfigManager instance = ConfigManager.getInstance();String value = instance.getConfigItem("ip");System.out.println(value);}}).start();}}?