第九章 类加载及执行子系统的案例与实战

Q:如果有10个WEB应用程序都是用Spring来进行组织管理的话,可以把Spring放到Common或Shared目录下(Tomcat5.0)让这些程序共享。Spring要对用户程序的类进行管理,自然要能访问到用户程序的类,而用户程序显然是放在/WEB-INF目录中的。那么被CommonClassLoader或SharedClassLoader加载的Spring如何访问并不在其加载范围内的用户程序呢?

A:使用线程上下文类加载器来实现的,spring加载类所用的classloader都是通过Thread.currentThread().getContextClassLoader()来获取的,而当线程创建时会默认 setContextClassLoader(AppClassLoader),即spring中始终可以获取到这个AppClassLoader(在tomcat里就是WebAppClassLoader)子类加载器来加载bean,以后任何一个线程都可以通过getContextClassLoader()获取到WebAppClassLoader来getbean了

参考博客链接:

代理参考https://www.cnblogs.com/AmyZheng/p/9264215.html

https://blog.csdn.net/u013678930/article/details/51995251

转载于:https://www.cnblogs.com/AmyZheng/p/10550796.html

《深入理解Java虚拟机》读书笔记八相关推荐

  1. Java虚拟机不能满足_深入理解Java虚拟机--读书笔记1/3

    <深入理解Java虚拟机-JVM高级特性与最佳实践> Chap 2 Java内存区域与内存溢出异常 1.Java运行时数据区域 A.程序计数器:当前线程所执行字节码的行号指示器,线程私有( ...

  2. 深入理解java虚拟机-读书笔记

    内存动态分配与内存回收技术已经相当成熟,看起来进入了自动化的时代,为什么还要去了解垃圾收集和内存分配? 当需要排查各种内存溢出.内存泄漏问题时 当垃圾收集成为系统达到更高并发量的瓶颈时 我们就必须对内 ...

  3. 深入理解java虚拟机---读书笔记

    第一章 走近java 1. java 技术体系: java 程序设计语言 各种硬件平台上的java虚拟机 class 文件格式 java API 类库 来自商业机构或者开源机构的第三方java类库 j ...

  4. 深入理解Java虚拟机——读书笔记01

    基础知识 JDK:Java程序设计语言.Java虚拟机.Java API类库 JRE:Java API类库中的Java SE API子集和Java虚拟机 Java技术基础支撑点:JAR文件格式.JDB ...

  5. 深入理解Java虚拟机读书笔记十二

    第 7 章虚拟机类加载机制 7. 1.概述 虚拟机把描述类的'数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. ...

  6. 深入理解Java虚拟机读书笔记七

    3.5.内存分配与回收策略 3.5.1.对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配.当 Eden区没有高足够的空间进行分配 时,虚拟机将发起一次Minor GC. 虚拟机提供- ...

  7. 深入理解java虚拟机-读书笔记2-垃圾收集器和内存分配策略

    垃圾回收重点区域:堆和方法区部分区域. 引用计数算法: 1,引用计数算法: 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器都为0的对象 ...

  8. java虚拟机读书笔记 第三章 垃圾收集器和内存分配策略

    java虚拟机读书笔记 第三章 垃圾收集器和内存分配策略 GC需要完成的三件事情:哪些内存需要回收.什么时候回收.如何回收 垃圾回收器在对堆进行回收前,首先要确定那些对象存活,哪些对象已经死去,判断的 ...

  9. 深入理解JVM虚拟机读书笔记——内存模型与线程

    注:本文参考自周志明老师的著作<深入理解Java虚拟机(第3版)>,相关电子书可以关注WX公众号,回复 001 获取. 1. Java内存模型 JMM概述: Java 内存模型指的是 JM ...

  10. 深入理解Java虚拟机学习笔记-1.JVM内存模型

    JVM内存模型 1.内存模型结构图 名称 特征 作用 配置参数 异常 程序计数器 占用内存小,线程私有, 生命周期与线程相同 大致为字节码行号指示器 无 无 虚拟机栈 线程私有,生命周期与线程相同,使 ...

最新文章

  1. 连接两个点云中的字段或数据形成新点云以及Opennni Grabber初识
  2. Gartner十大IT预测:七大数字巨头,有五家将心甘情愿“自我颠覆”
  3. [转]Oracle 执行计划(Explain Plan) 说明
  4. Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装
  5. Storm精华问答 | Storm的配置需要注意什么问题?
  6. TomCat JDK环境变量
  7. 去除div css背景,jQuery-拖动div CSS背景
  8. 编译 linux 0.01
  9. 审题解题没思路?算法大赛出题方为你指点迷津!
  10. 机器学习: 最大似然估计 (MLE) 最大后验概率(MAP)
  11. HFSS - 同轴馈电矩形微带天线设计与仿真
  12. ubuntu下格式化U盘
  13. 联想Thinkpad T580 20L9 20LA Wistron LTS-2 17812-1笔记本点位图
  14. 中文拼音表,完全包括GB2312字库中的字(除极少数生僻字)
  15. P1138 第k小整数
  16. 名帖81 苏轼 楷书《祭黄几道文卷》
  17. 微信昵称乱码 mysql_微信昵称乱码及mysql编码格式设立(utf8mb4)_mysql
  18. rjs子模板中如何按照顺序并且有序列地执行语句
  19. 简单的ps去掉图片上不想留的文字
  20. 新手选车系列之(五): 手动挡还是自动挡

热门文章

  1. PCB生成光绘文件教程 (Z)
  2. 脉冲多普勒雷达_是人类还是动物? 多普勒脉冲雷达和神经网络的目标分类
  3. 时间序列 线性回归 区别_时间序列分析的完整介绍(带R)::线性过程I
  4. 美元贬值越来越严重,美元会不会有崩溃的一天?
  5. 能过好每一天的人,都不会混得太差
  6. ISERDES Guidelines
  7. 水晶报表10高级开发版下载及序列号
  8. python画二次函数图像的顶点_画二次函数图像的步骤
  9. linux打印jvm内存堆栈_5款强大的JVM 性能调优监控工具
  10. 饿了么风神登录_海底捞首度登陆第三方外卖!联手饿了么全国配送“小火锅”...