当前位置: 首页 > news >正文

沈阳关键词网站排名常平镇仿做网站

沈阳关键词网站排名,常平镇仿做网站,wordpress 建门户网站,优化网站广告优化文章目录 单例模式饿汉式单例懒汉式单例懒汉式加锁单例双重锁校验单例静态内部类单例枚举单例 单例模式 单例模式主要是确保一个类在任何情况下都只有一个实例,并提供一个全局访问的点。 主要有以下几种 饿汉式单例 /*** 饿汉式* 类加载到内存后,就实…

文章目录

  • 单例模式
    • 饿汉式单例
    • 懒汉式单例
    • 懒汉式加锁单例
    • 双重锁校验单例
    • 静态内部类单例
    • 枚举单例

单例模式

单例模式主要是确保一个类在任何情况下只有一个实例,并提供一个全局访问的点。
主要有以下几种

饿汉式单例

/*** 饿汉式* 类加载到内存后,就实例化了一个单例,JVM保证线程安全* 简单实用,推荐使用此方式* 缺点:无论是否用到,都会在类加载的时候就完成实例化*/
public class Singleton01 {private static final Singleton01 instance = new Singleton01();private Singleton01(){}public static Singleton01 getInstance(){return instance;}public static void main(String[] args) {Singleton01 instance1 = Singleton01.getInstance();Singleton01 instance2 = Singleton01.getInstance();System.out.println(instance1 == instance2);}
}

懒汉式单例

/*** 懒汉式单例* 什么时候用,什么时候初始化实例* 虽然也可以返回单例,但是会有线程安全问题*/
public class Singleton02 {private static Singleton02 instance;private Singleton02(){}public static Singleton02 getInstance(){if (instance == null){instance = new Singleton02();}return instance;}
}

懒汉式加锁单例

/*** 懒汉式加锁单例* 这里解决了线程安全的问题,但是性能也下降了*/
public class Singleton03 {private static Singleton03 instance;private Singleton03(){}public synchronized static Singleton03 getInstance(){if (instance == null){try {Thread.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}instance = new Singleton03();}return instance;}public static void main(String[] args) {for (int i = 0; i < 100; i++) {new Thread(() -> {System.out.println(Singleton03.getInstance().hashCode());}).start();}}
}

双重锁校验单例

/*** 双重锁校验* 这样可以缩小锁锁定的代码块,并且也保证了线程安全*/
public class Singleton04 {private static volatile Singleton04 instance;private Singleton04(){}public static Singleton04 getInstance(){if (instance == null){synchronized (Singleton04.class){if (instance == null){instance = new Singleton04();}}}return instance;}public static void main(String[] args) {for (int i = 0; i < 100; i++) {new Thread(() -> {System.out.println(Singleton04.getInstance().hashCode());}).start();}}
}

静态内部类单例


/*** 静态内部类方式* JVM保证了单例* 加载外部类时不会加载内部类,这样也实现了懒加载*/
public class Singleton05 {private Singleton05(){}private static class SingletonHolder{private static final Singleton05 instance = new Singleton05();}public static Singleton05 getInstance(){return SingletonHolder.instance;}public static void main(String[] args) {for (int i = 0; i < 100; i++) {new Thread(() -> {System.out.println(Singleton05.getInstance().hashCode());}).start();}}
}

枚举单例

/*** 枚举实现单例* 枚举本身就是单例的* 解决了线程安全问题,也防止反序列化*/
public enum Singleton06 {INSTANCE;public static void main(String[] args) {for (int i = 0; i < 100; i++) {new Thread(() -> {System.out.println(Singleton06.INSTANCE.hashCode());}).start();}}
}
http://www.yayakq.cn/news/481543/

相关文章:

  • seo网站关键词优化快速官网怎样申请企业邮箱账号
  • 怎么优化网站程序哈尔滨百度引擎
  • 网站运营需要做什么无忧网站建设推荐
  • 网站建设与制作实训报告中信建设有限责任公司是国企吗
  • 温州快速网站推广公司中国网站建设第一品牌
  • 做网站需要多少钱 爱问知识人网站宣传推广
  • 苏州 网站设计 知名logo设计网站官网
  • 教育网站建设案例医院咨询男科
  • 南京明辉建设集团网站seo公司哪家好用
  • 网站建设设计制作维护股票交易网站建设
  • 百度网站排名规则网页视频下载手机
  • 更改host文件把淘宝指向自己做的钓鱼网站网站开发如何共用菜单栏require
  • 简述建设网站建设的基本流程中国石油工程建设有限公司网站
  • 大连 网站制作易销云建站公司
  • 自己做社交网站吗团购网站模板html
  • 移动网站开发教程下载关键词排名优化公司成都
  • 网站开发项目项目运营访客留言网站
  • 2017优秀网站设计欣赏wordpress网易云音乐插件
  • 福田专业做网站公司游览器大全
  • 大兴网站建设网络推广都有哪些渠道
  • 能做外链的产品网站上海短视频推广公司
  • 菠菜导航网站可以做建筑模板使用寿命多久
  • 江苏做帖子网站做网站在线
  • 石家庄微网站建设公司哪家好郑州市重点项目建设办公室网站
  • 江苏高效网站制作公司北京到安阳的高铁
  • 台州商城网站建设做企业推广的公司
  • 单页网站欣赏网站建设毕设
  • 网站开发设计费 怎么入账网站直播怎么做的
  • 晋江市建设招投标网站应该知道的网站
  • 网站栏目 英文山东鲁桥建设有限公司网站