类加载器由上到下有引导类加载器,继承类加载器,应用程序加载器,你还可以自己自定义加载器。
类加载器在加载类的时候,采用的是代理模式,具体代理是双亲代理模式
这里systemout输出的是“123”,为什么kkk.toString()打印出来不是”自定义string”呢,是因为java加载类的时候,默认采用双亲代理机制,即在加载类的时候,不先由本应用程序的类加载器加载,而是由父加载器加载,而父加载器加载类的时候,又由父加载器加载,一旦发现jvm堆内存中已经有该类的,则不加载该类。
类加载器由上到下有引导类加载器,继承类加载器,应用程序加载器,你还可以自己自定义加载器。
类加载器在加载类的时候,采用的是代理模式,具体代理是双亲代理模式
这里systemout输出的是“123”,为什么kkk.toString()打印出来不是”自定义string”呢,是因为java加载类的时候,默认采用双亲代理机制,即在加载类的时候,不先由本应用程序的类加载器加载,而是由父加载器加载,而父加载器加载类的时候,又由父加载器加载,一旦发现jvm堆内存中已经有该类的,则不加载该类。