jvm类加载之双亲委派模型

双亲委派模型
类加载是具有层次结构的,也就是父子关系,这种父子关系不是继承,而是通过组合来复用类加载的代码。Bootstrap 是所有类加载器的父亲。

双亲委派模型的工作过程:
每个类都有缓存,先判断自己的缓存有没有加载的此类,如果没有然后委托父类,父类再查询自己缓存,直到bootstrap ,还是没有,再由当前的类加载器加载,并将其放入它自己的缓存。

这样设计的好处?
主要为了安全性,避免用户自己编写的类动态替换java的一些核心类,同事也避免重复加载,因为jvm中区分不同类,不仅仅是根据类名,相同的class文件被不同的ClassLoader加载就是不同的两个类。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章