tomcat类加载体系

前言

jvm中有一个很重要的模块,就是类加载机制,而且由于其双亲加载机制的设计,保证了java核心库的安全性,更进一步,保证了共享对象这一机制,从而达到信息的高度共享。有意思的是,java的ClassLoader并不是final的,也就是我们完全可以通过继承它而改写这个类加载体系,tomcat就是这么做的。这篇博客就是来介绍tomcat为了实现其实际的需求,改写类加载体系的。

一、类加载

在JVM中并不是一次性把所有的文件都加载到内存,而是一步一步的,按照需要来加载。

比如JVM启动时,会通过不同的类加载器加载不同的类。当用户在自己的代码中,需要某些额外的类时,再通过类加载机制加载到JVM中,并且存放一段时间,便于频繁使用。

二、JVM类加载

JVM类加载采用父类委托机制,(注意,上下级之间是委托关系,不是继承关系)如下图所示:

这里写图片描述

JVM中包括集中类加载器:

  1. BootStrapClassLoader 引导类加载器
  2. ExtClassLoader 扩展类加载器
  3. AppClassLoader 应用类加载器
  4. CustomClassLoader 用户自定义类加载器

他们的区别上面也都有说明。需要注意的是,不同的类加载器加载的类是不同的,因此如果用户加载器1加载的某个类&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值