1、在jdk8以后,方法中不是只能写接口还可以写方法,但只能是default或者static修饰的方法
二、单例模式
1饿汉式:在类初始化的时候,直接创建对象,不管你是否需要都会创建(它是线程安全的)
2懒汉式:有的是单线程的,有的是多线程安全,单线程的可以通过加同步锁变成多线程安全
绝对线程安全的方式:静态内部类(类、私有、静态、方法)
public class RequestThreadPool { /** * 使用静态内部类来实现单例的模式(绝对的线程安全) */ public static class Singleton { /** * 私有的静态变量,确保该变量不会被外部调用 */ private static RequestThreadPool requestThreadPool; /** * 静态代码块在类初始化时执行一次 */ static { requestThreadPool = new RequestThreadPool(); } /** * 静态内部类对外提供实例的获取方法 * @return */ public static RequestThreadPool getInstance() { return requestThreadPool; } } /** * 请求线程池类对外提供获取实例的方法 由于外部类没有RequestThreadPool的实例对象,所以除了该方法,外部类无法创建额外的RequestThreadPool对象 * @return */ public RequestThreadPool getInstance() { return Singleton.getInstance(); } }