开发者学堂课程【Java 高级编程:反射与单例设计模式】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/379
反射与单例设计模式
内容简介:
1、范例:观察懒汉式单例设计模武的问题.
2、修改 getInstance() 方法进行同步处理
3、在 Java 中使用到单例设计模式
1.观察懒汉式单例设计模武的问题.
单例设计模式的核心本质在于:
类内部的构造方法私有化,在类的外部产生类产生实例化对象之后通过 static 方法获取实例化对性行类中的结构调用,单例设计模式一共有两类:懒汉式、饿汉式。
范例:
2.修改 getInstance() 方法进行同步处理
单例设计模式的最大特点是在整体的运行过程之中只允许产生一个实例化对象,当有了若干线程之后当前的程序就可以产生多个实例化对象,、此时就不是单例设计模式。
问题造成的关键在于代码本身出现了不同步的情况,而要想解决的关键核心在于需要进行同步处理,使用 synchronized 类
范例:
此时同步效率低,因为整体代码里实际只有一部分进行同步处理, instance 对象的实例化处理部分
范例:更合理的同步处理
3.在 Java 中使用到单例设计模式
Runtime 类 Class 类、Pattern 类、Spring 框架