单例模式
模式是脱离语言的。 问题的由来: 为什么? 多个线程操作不同实例对象。 多个线程要操作同一对象,要保证对象的唯一性 解决的问题: 实例化过程中只实例化一次 解决的思路 有一个实例化的过程(只有一次),产生实例化对象 new 提供返回实例对象的方法 getInstace() 单例模式的分类 线程的安全性、性能、懒加载(lazy ) 饿汉式 <init> public class HungerySingleton { //加载的时候就产生的实例对象 private static HungerySingleton instance=new HungerySingleton(); private HungerySingleton(){ } //返回实例对象 public static HungerySingleton getInstance(){ return instance; } public static void main(String[] args) { for (int i = 0; i < 20; i++) { new Thread(()->{ System.out.println(HungerySingleton.getInstance()); }).start(); } } } 线程安全性:在加载的时候已经被实例化,所以只有这一次,线程安全的。JVM