0x01:单例模式
java.lang.Runtime
从源码看标准的饿汉模式,Runtime类封装了Java运行时的环境。每一个java程序实际上都是启动了一个JVM进程,那么每个JVM进程都是对应这一个Runtime实例,此实例是由JVM为其实例化的。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。
在Java的GUI编程接口上也有几个单例模式的实现,但是Java的GUI编程在国内几乎被淘汰了,这里就不介绍了。
0x02:工厂模式
java.util.Calendar
分析源码可以知道Calendar使用了简单工厂模式,通过getInstance()方法进去,而getInstance()方法调用了createCalendar()方法。
从DocumentBuilderFactory源码上看提供了一个默认的实现DocumentBuilderFactoryImpl.java,看到该类的newDocumentBuilder,可以看出只要调用newInstance()方法就会返回一个新的DocumentBuilder对象