zoukankan      html  css  js  c++  java
  • JVM classloader

    你必须知道的ClassLoader


    为什么必须知道:ClassLoader ClassLoader是类加载的重要类。


    分类:主要分为bootstrapClassLoader,ExtClassLoader,AppClassLoader。
    是基于C++ 实现,主要加载Javahome/lib,ExtClassLoader主要加载javaHome/lib/ext,AppClassLoader主要加载classpath下面的类。

    什么是Classloader :类的初始化装载的一个类,

    加载顺序,先让父加载器加载,如果找不到在用子加载器加载。如果父类想访问子类加载器需要Thread.cureentThread.getClassloader.获取子加载类。


    自定义ClassLoader,为了保证委托双亲委托的原则,需要覆盖findClass. 为什么要双亲委托呢。一般程序是使用AppClassLoader ,上面还有两个ClassLoader,所以叫双亲。

    常用的ClassLoader场景
    SPI和Tomcat
    SPI 使用ClassLoader的Thread.cureentThread.getClassloader 来在lib里面访问自定义标准类如mysql.driver。
    Tomcat 通过自定义类来实现类库复用,程序隔离等。

    参考文档

    https://blog.csdn.net/xyang81/article/details/7292380

    https://blog.csdn.net/briblue/article/details/54973413

    https://mp.weixin.qq.com/s/54ZrYCLD6rzk8T52s4wyOQ

  • 相关阅读:
    HDOJ1024(最大M子段和)
    HDOJ1025(最长上升子序列)
    HDOJ1022(模拟栈)
    HDOJ(1018)
    HDOJ1238(string)
    HDOJ1015(简单深搜)
    HDOJ1016(标准dfs)
    Tabbar视图切换,返回上一视图,添加item
    页面转换方法
    网络状态判断
  • 原文地址:https://www.cnblogs.com/javabeginer/p/9103951.html
Copyright © 2011-2022 走看看