Java初级-再次学习
设计模式
单例设计模式 (Singleton Pattern)
具体步骤:
- 构造器私有化 -> 防止直接 new
- 类的内部创建对象
- 向外暴露一个静态的公用方法 (getInstance)
- 代码实现
单例模式就时采取一定方法保证整个软件系统中,某个类只能存在一个对象实例,并且只提供一个取得对象实例的方法。
饿汉式
1 | public class SingleTon1 { |
缺点:创建了没有用,造成资源浪费
懒汉式
1 | public class SingleTon2 { |
总结:
- 二者最主要的区别在于创建对象的时机不同:饿汉式是在类加载就创建了对象实例,而懒汉式是在使用时才创建。
- 饿汉式不存在线程安全问题,懒汉式存在线程安全问题。
- 饿汉式存在浪费资源的可能。因为如果程序员一个对象实例都没有使用,那么饿汉式创建的对象就浪费了,懒汉式是使用时才创建,就不存在这个问题。
- 在我们 javaSE 标准类中,java.lang.Runtime 就是经典的单例模式。
异常
Java 语言中,将程序执行中发生的不正常情况叫做异常。开发过程中的语法错误和逻辑错误不是异常
执行过程中发生的异常事件可以分为两类:
- Error:Java 虚拟机不能解决的严重问题,如 JVM 系统内部错误、资源耗尽等严重情况。比如 StackOverflowError 栈溢出,和 OOM(out of memory),Error是严重类型错误,程序会崩溃
- Exception:其它因编程错误和偶然的外在因素导致的一般性问题,可以用针对性的代码进行处理,例如空指针访问,试图读取不存在的文件,网络连接中断等,Exception 分为两大类:运行时异常和编译时异常