1:单例模式:
保证一个类中只有一个实例,并提供一个访问它的实例的方法。
最牛逼的单例模式是双重检验:
class Singleton{ private Singleton(){}; //私有方法 private static Singleton instance=null; //将类的实例定义为静态的 public Singleton getInstanSingleton(){ if(instance==null){ //因为同步是费时间的,所以先判断是否为空,再同步 synchronized (Singleton.class) { //同步的是Singleton的class对象; if(instance==null){ //因为前面同步的原因,多线程下有可能其他的线程已经创建了实例,所以这个时候还必须再次判断! instance=new Singleton(); } } } return instance; } }
java源码举例:
Runtime.getRuntime(); 返回与当前 Java 应用程序相关的运行时对象。
Calendar.getInstance();获取当前环境下的一个日历;
应用场合是在:资源管理的时候,比如说:windows的回收站,仅有一个。
时间: 2024-10-20 09:17:54