Tomcat的Classloader

【二 Deepseek+Coze案例】【 2.2 Coze + Deepseek 实现小红书爆款笔记:打造专属Agent智能体】 摘要 本文介绍了如何利用Coze平台和Deepseek模型构建自动化Agent智能体,用于生成和优化小红书爆款笔记。文章首先分析了爆款笔记的核心特征,包括精准定位、吸引标题、实用内容、精美排版和热门标签。随后提出Agent智能体的功能需求,涵盖热点追踪、内容生成与优化、数据分析及自动发布等模块。在技术实现上,详细阐述了从环境配置、数据采集到内容生成与优化的全流程,并提供了Python代码示例,展示如何调用Coze函数获取热点数据及竞品笔记。该方案通过智能化的内容创作与运营策略,帮助用户高效打造高曝光的小红书 阅读详情
Tomcat的启动是从解析bat文件开始,bat文件最终调用org.apache.catalina.startup.Bootstrap开始类的加载。  
Java代码  收藏代码
  1. commonLoader = createClassLoader("common", null);  
  2.  if(commonLoader == null)  
  3.    commonLoader = getClass().getClassLoader();  
  4.    catalinaLoader = createClassLoader("server", commonLoader);  
  5.    sharedLoader = createClassLoader("shared", commonLoader);  

这是org.apache.catalina.startup.bootstrap;的代码 

初始化Classloader的一个过程 
如果跟踪看createClassLoader 
调用自身的方法 createClassLoader,最终是执行ClassloaderFactory的方法 
Java代码  收藏代码
  1. if(parent == null)  
  2.      classLoader = new StandardClassLoader(array);  
  3.  else  
  4.      classLoader = new StandardClassLoader(array, parent);  
  5.    return classLoader;  

parent就是上面传递的commLoader 
其实他们的parent的class是org.apache.catalina.loader.standardClassLoader 
只是他们的名字是 上面的名字 
例如 commentloader加载的类  getClassLoader是stanardClassLoader 
standardClassLoader是URLClassloader的子类 
(URLClassloader是java.security.SecureClassLoader的子类,java.security.SecureClassLoader 
是Classloader的子类  java.security.SecureClassLoader扩展了Classloader,他还可以支持使用相关的代码源和权限定义类) 
+---------------------------+ 
       |         Bootstrap         | 
       |             |             | 
       |          System           | 
       |             |             | 
       |          Common           | 
       |         /      \          | 
       |     Catalina Shared      | 
       +---------------------------+ 
下面是各自的只能 

- Bootstrap - 
载入JVM自带的类和$JAVA_HOME/jre/lib/ext/*.jar 
- System    
1.载入$CATALINA_HOME/bin/bootstrap.jar 初始化Tomcat,执行Main方法 
2. $JAVA_HOME/lib/tools.jar Sun的工具类,包括编译Jsp为Servlet的工具类 
- Common     
这个目录下的类虽然对TOMCAT和所有的WEB APP都可见.但是Web App的类不应该 放在这个目录下,所有未打包的Class都在$CATALINA_HOME/common/classes下,所 
  有打包的jar都在 $CATALINA_HOME/commons/endorsed $CATALINA_HOME/common/lib下,默认情况会  包含以下几个包: 
1. jndi.jar JNDI API接口,这个包仅在Java1.2时候装入,1.3以后的版本JDK已 
自动装入. 
2. naming-common.jar JNDI接口实现类,Tomcat用这些类在内存中使用Context. 
3. naming-resources.jar JNDI实现,Tomcat用它们定位Web App的静态资源. 
4. servlet.jar Servlet,Jsp API 
5. xerces.jar XML解析器,特定的Web App可以在自己的/WEB-INF/lib 中覆盖. 
- Catalina 
装入Tomcat实现所有接口的类,这些类对Web App是完全不可见的,所有未打包的类在 $CATALINA_HOME/server/classes所有jar包在$CATALINA_HOME/server/lib下.一 般情况该ClassLoader将Load下面几个包: 
                 1. catalina.jar Servlet容器的Tomcat实现包 
                    2. jakarta-regexp-X.Y.jar 正则表达式,请求过滤时使用 
                    3. servlets-xxxxx.jar Servlet支持包 
                    4. tomcat-coyote.jar Tomcat的Coyote连接实现包 
                    5. tomcat-jk.jar Web Server绑定包,允许Tomcat绑定Apache等作为Web Server 
                 6. tomcat-jk2.jar 功能同上 
                    7. tomcat-util.jar Tomcat工具类,可能被一些Connector用到 
                    8. tomcat-warp.jar 用于Apache Server包 
- Shared   
载入所有WEB APP都可见的类,对TOMCAT不可见. 所有未打包的类在 
  $CATALINA_HOME/shared/classes所有jar包在$CATALINA_HOME /lib下. 
默认情况包含下面几个包: 
1. jasper-compiler.jar Jsp编译器,编译Jsp为Servlet 
2. jasper-runtime.jar Jsp(已编译成Servlet)运行支持包 
3. naming-factory.jar 支持Web App使用JNDI的封装包-WebAppX   Web App ClassLoader,当Web App被部署是该ClassLoader被创建.所有class都在 WEB-INF/classes下,所有jar在WEB-INF/lib下. 
  
特别注意WEB APP自己的ClassLoader的实现与众不同: 
它先试图从WEB APP自己的目录里载入,如果失败则请求父ClassLoader的代理 
这样可以让不同的WEB APP之间的类载入互不干扰.另,Tomcat Server使用的是Catalina   
ClassLoader,一般的Web App使用的是WebApp ClassLoader. 
51单片机 步进电机正反转控制+Proteus仿真 51单片机 步进电机正反转控制+Proteus仿真 Proteus仿真 实例代码 /*************** ******************/ #include <reg52.h> #define uint unsigned int #define uchar unsigned char uchar code FFW[]= { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 }; uchar code REV[]= { 0x09,0x 阅读详情

相关推荐

发那科FOCAS 1/2文档——核心库文件

在开始开发前,明确目标 CNC 的具体型号、连接方式(HSSB/TCP/IP)、软件版本和配置(如轴数、程序号位数),并据此正确配置开发环境和编译选项。开发时需要包含相应的头文件。这是开发跨平台应用时需要特别注意的地方。这是开发应用时必须了解的核心文件。

snailiot的博客 1020

Tomcat Classloader

Tomcat classloader tomcat类加载器结构 Bootstrap ClassLoader 启动类加载器 加载Java核心库(JAVA_HOME/jre/lib)到JVM中.用c/c++实现.是JVM的一部分, JVM一启动就将指定的类加载到内存中,避免以后多次I/O.Java程序无法直接使用它 Extension ClassLoader 拓展类加载器 加载Java拓展库(JAVA_HOME/jre/lib/ext).该类(ExtensionClassLoader)使用Bootstr

flyingzc的博客 845

pentaho-kettle依赖拉取失败?试试这个Maven仓库配置的终极解决方案

本文详细解析了Pentaho Kettle依赖拉取失败的常见原因,并提供了三种Maven仓库配置方案,包括基础pom.xml配置、全局settings.xml设置以及企业级私有镜像仓库搭建。通过实战验证的方法和常见问题排查指南,帮助开发者彻底解决pentaho-kettle依赖问题,提升项目构建效率。

weixin_30275415的博客 202

Tomcat ClassLoader详解

记得前几天写getResourceAsStream()提到后面有时间整理下tomcat的ClassLoader的加载结构。今天有闲暇,笔者就来聊聊我认为的tomcat ClassLoader。 首先提到classloader,笔者首先想到的树的概念,每一层classloader都讲究着寻根方式,一般而言一个类加载到jvm虚拟机的过程, ...

qq_35076190的博客 2577

麦当劳app之sign逆向分析

摘要:本文分析了麦当劳APP请求参数sign的逆向过程。通过抓包发现32位sign参数疑似MD5加密,使用frida-trace工具跟踪CC_MD5函数验证其为标准MD5算法。加密参数包含时间戳、token、版本号等固定和动态字段,拼接后经MD5加密生成sign。文章提供了JS和Python两种实现方案,包含完整的请求头参数和加密逻辑,最终成功获取API响应数据。该研究仅用于逆向技术学习,展示了移动应用常见加密参数的逆向分析方法。

佛系更新... 2436

海洋与地质地理信息数据下载网站汇总集锦

各种海洋与地质地理信息数据集合

qq_36980284的博客 1268

Tomcat 的 ClassLoader

ClassLoader结构引入 ClassLoader cl = this.getClass().getClassLoader(); while(cl != null){ System.out.println(cl.getClass().getCanonicalName()); cl = cl.getParent(); } 将会打印以下内容 org.apach

wuhulala的休息室 1103

《大数据最全面试题-Offer直通车》目录

做好这些不用担心试用期不通过:程序员入职新公司如何快速上手项目本人遇到大数据面试题和参考答案(超过1万字精华版)大数据面试英文自我介绍参考(万字长文)大数据运维应用场景面试题汇总及参考答案(持续更新)万字数据仓库面试题及参考答案数据仓库数据质量监控和处理方法最佳实践数据仓库建模方法万字详解Doris的3种数据模型详解和数据仓库每一层的模型选用大数据面试临阵磨枪不知看什么?看这份心理就有底了-大数据常用技术栈常见面试100道题最全Hive面试题2024年(2万字详解)Elasticsearch 面试题及参考答

大模型大数据攻城狮的专栏 2638

org.apache.catalina.loader.StandardClassLoader@1af33d6

严重: Error loading WebappClassLoader   delegate: false   repositories:     /WEB-INF/classes/ ----------> Parent Classloader: org.apache.catalina.loader.StandardClassLoader@1af33d6   java.lang.Cl

kongjunlongaa的博客 2414

基于YOLOv11的手术器械计数系统:从数据集构建到Web应用部署

m2cai16-tool数据集:包含15种腹腔镜手术器械的标注图像Cholec80数据集:包含80个胆囊切除手术视频,标注了7种器械SurgicalTools数据集:包含超过10,000张手术器械图像,涵盖21类常见器械手术剪(Scissors)止血钳(Hemostat)持针器(Needle Holder)手术刀(Scalpel)镊子(Forceps)拉钩(Retractor)吸引器(Suction)

YOLO 394

【R语言】基于Biomod2集成平台探究物种分布区的构建流程(SDMs)

我为什么想要写这个内容呢?其实我已经想了很久了,但是一直没有把所有的代码给理清楚,此外这将是我之后研究的主要方向。本博客讲述了如何基于Biomod2集成平台构建物种分布模型的全流程,以及我在使用该模型时的一些心得,同时还有我提供的一些小福利(一键处理代码),可以十分快捷的帮助你完成SDMs的构建,写出你的中英文论文。

amyniez的博客,欢迎交流讨论 3889

springmvc 开发问题

problem1: org.apache.catalina.loader.StandardClassLoader@2f93c0cf org.springframework.servlet.DispatcherServlet java.lang.ClassNotFoundException: org.springframework.servlet.DispatcherServlet 原因:

xulanshan33的博客 253

目标跟踪与视频时序分析基础

两帧均有目标,却因快速移动导致检测框无重叠,仅靠交并比(IoU)无法维持身份关联。本文通过手算与纯Python实现最小跟踪流程,揭示IoU仅为位置线索,不能应对快速位移或遮挡。实验表明,即使目标真实存在,低重叠也会触发新编号。强调跟踪需结合运动预测、外观特征与阈值验证,避免误判。

Mr数据杨 2335

Tomcat 之 ClassLoader

Classloader 参考:http://www.iteye.com/topic/83978             http://longdick.iteye.com/blog/442213 1,作用: 它就是用来加载Class文件到JVM,以供程序使用。所有java class 加载过程从此开始。 2,实现: 最上级的Classloader是由C++编写,名叫:boots

Slowing down your step,you will enjoy more 1201

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

浅议tomcat与classloader

关于tomcat和classloader的文章,网上多如牛毛,且互相转载,所以大多数搜到的基本上是讲到了tomcat中classloader的几个层次,对于初接触classloader,看了之后还是只知其然不知其所以然。     我以为,学习tomcat classloader,先得追溯到为什么tomcat要自己造一堆自己的classloader出来,了解了这个之后才知道classloader用

笨狐狸 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Tomcat研究之ClassLoader

Tomcat研究之ClassLoader 在研究Tomcat之前,一般是借用现有的UML工具分析Tomcat整体结构,但要分析Tomcat的流程就必须从分析Tomcat的StartUp入手。Tomcat的启动是从解析bat文件开始,bat文件最终调用org.apache.catalina.startup.Bootstrap开始类的加载。 一.Tomcat的ClassLoader:     

老码农的专栏 8223

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Tomcat的classloader

1 - Tomcat的类载入器的结构 Tomcat Server在启动的时候将构造一个ClassLoader树,以保证模块的类库是私有的Tomcat Server的ClassLoader结构如下:其中:- Bootstrap - 载入JVM自带的类和$JAVA_HOME/jre/lib/ext/*.jar- System - 载入$CLASSPATH/*.class- Common - 载入$...

iteye_11331的博客 268

Tomcat ClassLoader研究

http://tomcat.apache.org/tomcat-4.1-doc/class-loader-howto.html Tomcat的ClassLoader层次结构:  Bootstrap | System |

星星的技术专栏 2545

为什么tomcat要自定义classloader

一、 提起tomcat 中的classloader 莫过于经典的委托机制,上图: 不过这个流传于世间的大图为tomcat5的classloader模型,对于目前比较主流的,支持nio 的tomcat7而言,classloader结构也不一样,tomcat7中的classloader委托模型:...

Jaylon Wang的专栏 960

tomcat的classloader机制

本系列博客打算分析一下tomcat7.x的源码,其中可能会穿插一些java基础知识的介绍 读tomcat的源码的时候,我建议和官方的User Guide一起阅读,明白tomcat做某件事情的目的之后,看源码会容易一点。另外,debug当然是一个非常重要的工具。源码上了规模之后,如果单纯静态地看,基本是看不出什么来的,但是跟着数据流走一走,很多问题就清楚了 debug环境的搭建方法,请看另外一篇

kyfxbl 1225

ClassLoader与Tomcat的ClassLoader

基本概念ClassLoaderClassLoad:类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。双亲委派机制什么时候需要加载类?java虚拟机规范虽然

小9的专栏 2634

ClassLoader in Tomcat[转贴]

ClassLoader in Tomcat1 - Tomcat的类载入器的结构 Tomcat Server在启动的时候将构造一个ClassLoader树,以保证模块的类库是私有的Tomcat Server的ClassLoader结构如下:        +-----------------------------+        |         Bootstrap           |   

rosonsandy的专栏 1277

Tomcat ClassLoader 机制与热部署原理

在前面的几篇文章中,我们已经分析了 Tomcat 的 启动流程、容器体系、Servlet 执行链路、线程模型和 Session 管理。 Web 应用的 隔离和热部署 依赖于 Tomcat 自定义的 ClassLoader 体系。本篇文章将详细剖析:Tomcat 的类加载器体系如下: BootstrapClassLoader:加载 JDK 核心类 SystemClassLoader:加载系统类路径下的类 CommonClassLoader:加载 Tomcat 核心库和共享库 WebAppClassLoade

波波烤鸭的博客 1296
上一篇: 解决spring3 mvc中乱码的问题。
下一篇: $.post(),$.ajax(),$.get()和load()
java85140031
博客等级 码龄18年 34粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值