jvm基础第五节: 类加载器


  1. 类加载器的作用
    实现通过一个类的全限定名来获取描述此类的二进制字节流, 并将字节流装载到虚拟机中

每一个类加载器都拥有一个独立的类名称空间. 对于任意一个java类, 它需要由加载它的类加载器和该类本身一同确立其在java虚拟机中的唯一性

  1. 系统预定义的类加载器
  • 启动类加载器(bootstrap classloader)
  • 扩展类加载器(extension classloader)
  • 应用程序类加载器(application classloader)
  1. 类加载器的双亲委派模型(parent delegation model)
    类加载器的双亲委派模型

双亲委派模型 的优点: 保证了java核心类库的类型安全, 保证java程序的稳定运作;

  1. 线程上下文类加载器(thread context classloader)
    线程上下文类加载器(thread context class loader)是从 JDK 1.2 开始引入的. 类java.lang.Thread中的方法 getContextClassLoader()setContextClassLoader(ClassLoader cl) 用来获取和设置线程的上下文类加载器. 如果没有通过 setContextClassLoader(ClassLoader cl) 方法进行设置的话,线程将继承其父线程的上下文类加载器. Java 应用运行的初始线程的上下文类加载器是系统类加载器. 在线程中运行的代码可以通过此类加载器来加载类和资源。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容