zoukankan      html  css  js  c++  java
  • 类加载(总结)

    1、 双亲委派的好处

    解决了各个类加载器的基础类的统一问题(越基础的类由越上层的加载器进行加载)

    三次破坏双亲委派模型:

    (1)看不懂

    (2)自身缺陷导致的,如果基础类又要调用回用户的代码,那该怎么办?

            例子:JNDI服务:需要调用用户的代码。线程上下文类加载器。

    (3)热部署 OSGI

    2、如何自定义类加载器

    3、 OSGI的类加载机制

    4、 为什么说Tomcat破坏了双亲委派

    好了,至此,我们已经知道了tomcat为什么要这么设计,以及是如何设计的,那么,tomcat 违背了java 推荐的双亲委派模型了吗?答案是:违背了。 我们前面说过:

    双亲委派模型要求除了顶层的启动类加载器之外,其余的类加载器都应当由自己的父类加载器加载。

    很显然,tomcat 不是这样实现,tomcat 为了实现隔离性,没有遵守这个约定,每个webappClassLoader加载自己的目录下的class文件,不会传递给父类加载器

    我们扩展出一个问题:如果tomcat 的 Common ClassLoader 想加载 WebApp ClassLoader 中的类,该怎么办?

    看了前面的关于破坏双亲委派模型的内容,我们心里有数了,我们可以使用线程上下文类加载器实现,使用线程上下文加载器,可以让父类加载器请求子类加载器去完成类加载的动作。牛逼吧。

    参考文章:

    1、图解Tomcat类加载机制(阿里面试题)

  • 相关阅读:
    微信公众平台开发教程(一) 微信公众账号注册流程
    DNS----域名解析系统
    C#编程总结(九)字符编码
    向大神学习
    C# 正则表达式
    js 正则表达式 取反
    H5 打开App
    Fiddler 过滤器的使用
    Fiddler 默认不能抓取页面信息的问题
    js 元素Dom新建并插入页面createElement
  • 原文地址:https://www.cnblogs.com/snowwhite/p/9580752.html
Copyright © 2011-2022 走看看