我觉得吧,首先,层次化,好看懂,不然,直接写在一个类中不就得咯。干嘛还这么麻烦
既然提到了类加载的双亲委托模式,在这里多提一点吧,在版本更替的时候,会用到自定义类加载器,具体怎么用,有点不清楚,不过,我知道,不同的类加载器,加载相同的类的话,那么将会产生两个不同的类,实体对象的instance of都是不一样的
最主要的优点是:安全
如果,一个黑客在你的程序中,植入了一段,java.lang.Integer代码,这个类并不是通常我们使用的Integer,而是里面有删库的代码,这时候。如果不是采用双亲委托模式的话,你就赶紧跑路吧。
如果,采用的是双亲委托模式的话,java并不会去加载这个黑客植入的代码,而是bootstrop类加载器,加载的是底层的代码。这就保证了安全性了。
这里还要提一下,关于创建对象的一个过程,和销毁一个对象的过程
创建对象: 加载类加载到方法区里面,类初始化,new 时在堆中开辟内存,构造方法初始化,将内存的引用赋值给栈中的变量。但是指令重排,可能会让,将内存的引用赋值给栈中的变量,初始化,变一下,这里单例模式就要注意一下咯。