2020年4月初,网易笔试考到了单例模式;4月22日,阿里总监面又问到了设计模式;几天之后,我同学面拼多多,面试官又让他手写单例模式。在面试过程中,单例模式被考察到的频率实在太高了。
饿汉式
线程安全
1 | class Singleton { |
典型示例:java.lang.Runtime
1 | public class Runtime { |
懒汉式
线程不安全。
1 | class Singleton { |
加锁
1.同步方法
1 | class Singleton { |
2.同步代码块
1 | class Singleton { |
DCL
双重锁定检查(Double Check Locking,简称DCL),线程安全。
1 | class Singleton { |
静态代码块
1 | class Singleton { |
静态内部类
1 | class Singleton { |
枚举
1 | enum Singleton { |