目录
一. 设计模式
设计模式是在软件工程中解决常见问题的经典解决方案。针对一些特定场景给出的一些比较好的解决方案,只要按照设计模式来写代码,就可以使代码不会太差(保证了代码的下限)。
设计模式比较适用于C++,Java,C#,但是对于 Python 或 Erlang 这些语言,这里的很多设计模式都是不适用的。设计模式适合具有一定的编程经验之后再去学习,如果缺少编程经验,会比较难以理解。
二. 单例模式
单例模式 是Java中最简单的设计模式之一,它确保一个类只有一个实例,并提供一个全局访问点。一个Java程序中,某个类要求只有唯一一个实例,适合使用单例模式(单例模式前提是“一个进程中”,如果有多个Java进程,自然每个进程中都可以有一个实例了)
在Java中,实现单例模式主要有两种方式:“饿汉模式”和“懒汉模式”
单例模式三部曲:
- static 修饰 instance 成员变量(类变量)
- 构造方法私有
- 静态全局访问点
2.1 饿汉模式
在饿汉模式中,单例对象在类加载时就被立即初始化。这意味着类加载完成后,单例对象就已经创建好了,不管你是否需要它。
public class SingletonEager {
//静态实例变量
private static SingletonEager instance = new SingletonEager();
//构造方法私有
private SingletonEager(){
}
//全局访问点(每次需要通过getInstance来获取实例的)
public static SingletonEager getInstance(){
return instance;
}
}
饿汉模式中的 “饿” 的意思是 “迫切”(eager),即在类被加载的时候,就会创建出这个单例的实例。
优点:
- 简单易实现,类加载时就完成了实例化,避免了线程安全问题
缺点:
- 如果自始至终未使用过这个实例,则会造成内存浪费

最低0.47元/天 解锁文章
327

被折叠的 条评论
为什么被折叠?



