通过私有构造器强化不可实例化的能力
上一条讲单例的时候已经提到了私有化构造器。单例模式这么搞是为了保证全局只有一个实例,而这一条规则是为了让工具类一个实例都无法创建。
SPI全称Service Provider Interface,是Java提供的一种让第三方实现或扩展的API。
java平台中很多功能都是以这种方式提供接口给开发者调用的,最典型的如:JDBC,JDNI,JCE(Java加密扩展),JAXP等,看JDK源码或者第三方源码的时候会经常碰到SPI,所以我觉得很有必要写个笔记把SPI记录下来。
SSL/TLS:这两个分别是Secure Socket Layer(安全套接字层),Transport Layer Security(传输层安全)的缩写。TLS是SSL的继承者,如果不是搞安全的专业人员,完全可以认为他们是一样的东西。
关于这两者的差异可以参考https://kb.cnblogs.com/page/197396/
这里使用官方提供的demo进行调试,进入源码分析。
官方demo地址:https://github.com/apache/shiro/tree/master/samples/quickstart