整理一下!
饿汉式单例类
- public class SingleManager {
- private SingleManager() {
- System.out.println("Singleton!");
- }
- private static final SingleManager instance = new SingleManager();
- public static SingleManager getInstance() {
- return instance;
- }
- public static void main(String[] args) {
- SingleManager.getInstance();
- }
- }
懒汉式单例类
- public class SingleManager {
- private SingleManager() {
- System.out.println("Singleton!");
- }
- private static SingleManager instance = null;
- public static synchronized SingleManager getInstance() {
- if (instance == null) {
- instance = new SingleManager();
- }
- return instance;
- }
- public static void main(String[] args) {
- SingleManager.getInstance();
- }
- }
内部类式单例类
- public class SingleManager {
- private SingleManager(){
- System.out.println("Singleton!");
- }
- static class SingletonHolder{
- private static SingleManager instance = new SingleManager();
- }
- public static SingleManager getInstance(){
- return SingletonHolder.instance;
- }
- public static void main(String[] args){
- SingleManager.getInstance();
- }
- }