类加载机制

类加载的类型

  • 根类加载器-BootstrapClassLoader:由c实现,加载JRE的核心类库,比如jre目录下的rt.jar、charsets.jar等。
  • 扩展类加载器-ExtensionClassLoader:由Java实现,负责加载jre扩展目录ext中的jar包。
  • 系统类加载器-ApplicationClassLoader:负责加载classpath路径下的包。

类加载机制

  • 全盘负责委托机制:当一个ClassLoader加载一个类时,除非显示的使用另一个ClassLoader,否则该类所依赖和引用的类也都由这个ClassLoader加载。
  • 双亲委派机制:指先委托父类加载器寻找目标类,在找不到的情况下再在自己的路径中查找并载入目标类。

双亲委派机制的好处

  • 沙箱安全机制:自己写的api中的类(比如:自己写一个String类)不会被加载,防止api库被随意篡改。
  • 避免重复加载类:当父(上级)类加载器已经加载了该类时,就没有必要子(下级)类加载器再重复加载了。

你可能感兴趣的:(类加载机制,Java笔记)