单例模式

定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供

应用:像Windows的任务管理器,做网站访问次数统计(当一个类需要频繁应用销毁操作时单例比较适合)

优点:节约内存;限制了实例的个数,有利于Java垃圾回收

懒汉式:延迟加载,省资源,不加同步锁可能造成并发,加同步锁访问处理效率变慢(推荐使用静态内部类)

public class Singleton {

private static Singleton singleton;

private Singleton() {

}

public static synchronized Singleton getSingleton() {

if (singleton == null) {

singleton = new Singleton();

}

return singleton;

}

}

②饿汉式:线程安全,多个线程进行访问时不会实例化多个对象;

缺点是无论是否用到该实例都会被初始化,无故的开销变大

public class Singleton2 {

private static Singleton2 singleton2 = new Singleton2();

private Singleton2() {

}

public static Singleton2 getsingleton2() {

return singleton2;

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容