小根堆还好,手撸图确实难受……不过我能说你的单列模式写错了么?你这个public的构造方法,我不调用 get() 方法,而是直接 new Single() 你如何保证单例?单例的前提是构造方法必须是 private 诶,还有想要用变量来保证单列,该变量必须要加上volatile关键字,否则在多线程下会有数据一致性问题(内存不可见),可能会同时创建出多个实例。下面是单例的双重检索模式,懒加载、线程安全,还可以避免JVM指令重排序问题。 Public Single{ private static volatile Single instance; private Single(){ } public static Single getInstance(){ if(instance == null){ synchronized(Single.class){ if(instance == null){ instance = new Single(); } } } return instance; } }
点赞 2

相关推荐

xxxxOxo:该催就催,想要你的不会因为催就挂,催了就挂的是因为本来就要挂你
点赞 评论 收藏
分享
03-25 19:00
东北大学 Java
程序员牛肉:太好了,是聊天记录。不得不信了。 当个乐子看就好,不要散播焦虑
点赞 评论 收藏
分享
牛客网
牛客企业服务