`
zhanghonglun
  • 浏览: 92484 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Jboss Classloader 分析

阅读更多

从应用的层面讲 Jboss 中的Classloader 分为三个层次


War Loader  -加载WEB-INF\lib,WEB-INF\classes
Application Loader(UCL),加载${server}\lib,common\lib 等
System Loader,加载%SERVER_HOME%\lib 下面的类和JVM 相关的类,即Class_path 下面指定的类
重点:

1,可见性从上到下
2,默认情况,UCL 使用共享的类仓库,传说中的扁平类加载器,可以使用Class Scope 配置来改变这种结构,所谓Scope 就是将本应用的类仓库更其它仓库隔离起来,并优先使用自己仓库中的类,并且这些类对其他应用是不可见的
3,如果War Loader 不使用Jboss 的UCL(java2ClassLoadingCompliance=false),那么代理其加载类的类加载器是System Loader,而不是Application Loader,意味着,不使用共享库,自己就要提供一切。

  • 大小: 18.5 KB
2
0
分享到:
评论

相关推荐

    jboss 5 原理 2 classloader

    JBoss 5的ClassLoader项目分为三个子项目: 1. `classloader`:包含了自定义的`java.lang.ClassLoader`扩展,但没有特定的类加载策略。这个子项目主要关注类加载的基础功能,即从何处加载类以及如何加载。 2. `...

    JBoss JMX实现架构

    当需要加载类时,先由父类加载器尝试,如果找不到则递归到更高级别的父类加载器,直到到达根类加载器(Bootstrap ClassLoader)。这种机制确保了类型安全,防止了不同版本的类冲突。 2.2.2 类装载和Java中的类型 ...

    JBoss管理与开发核心技术_第三版电子书

    #### 异常示例分析 当在动态环境中(如应用服务器)进行类装载时,可能会遇到以下几种异常: - **ClassCastException**:当尝试将对象转换为不兼容的类型时抛出。例如,将`java.net.URL`对象放入`java.util....

    jboss4.0.5-GA在使用RMI时的大坑

    压缩包中的"jboss+classloader分享.ppt"很可能包含了一个关于JBOSS类加载机制的详细讲解,这将有助于理解类加载如何影响RMI的使用,以及如何解决相关的类冲突问题。这个PPT可能涵盖了以下内容: - JBOSS类加载层次...

    Jboss管理与开发核心技术(第三版)

    通过深入分析JBoss 3.x版本中类装载器架构的改进以及Java类型系统中的关键概念,我们可以更好地理解如何在现代应用服务器环境中高效地管理和部署服务。这些改进不仅增强了服务的交互性和热部署能力,而且还解决了...

    spring-boot-web-JBoss5

    JBoss5 + Java6 + SpringBoot 尝试在 Java6 + JBoss5 上部署 Spring Boot 战争的尝试和错误的残骸。这是不完整的。 忘记删除 spring-boot-starter-tomcat。 java.lang.UnsupportedClassVersionError: org/apache...

    实战JAVA虚拟机随书源码

    2. JBoss ClassLoader Enhancer:研究如何利用这个工具在不重启JVM的情况下更新类文件。 3. ClassPath Hacking:理解如何修改运行时的类路径,实现类的动态替换,从而实现热部署。 四、实战经验 源码中的实战案例将...

    java类重载,可以用于热更新

    JVM通过一些工具和插件,如JRebel、JBoss ClassLoader、Spring Boot DevTools等,实现了类的热更新。 热更新的基本原理是利用JVM的类加载机制。在Java中,类是由ClassLoader加载的,当一个类被加载后,如果该类的....

    关于java热部署知识.doc

    除了手动编写自定义ClassLoader,还有一些开源工具可以帮助实现Java热部署,例如JRebel、JBoss Tools中的HotSwap等。这些工具能够监控源代码的变化,并自动触发类的重新加载,极大地提高了开发效率。 总的来说,...

    jaxb-2_1_9.zip

    java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file://build/web/WEB-INF/lib/jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class...

    java class加密保护工具

    Tomcat、Jboss等Java application server修改启动脚本, 把执行java的命令行后面加上参数-agentlib:<动态链接库文件所在路径>\classloader 适应环境: 操作系统:所有操作系统,Windows系统、Linux/Unix,只是运行...

    java class加密保护(完全免费) v2.1

    Tomcat、Jboss等Java application server修改启动脚本, 把执行java的命令行后面加上参数-agentlib:<动态链接库文件所在路径>\classloader 适应环境: 操作系统:所有操作系统,Windows系统、Linux/Unix,只是运行...

    Java类加密工具v2.2(免注册)

    Tomcat、Jboss等Java application server修改启动脚本, 把执行java的命令行后面加上参数-agentlib:<动态链接库文件所在路径>\classloader 适应环境: 操作系统:所有操作系统,Windows系统、Linux/Unix,只是...

    java类加密工具v2.1

    Tomcat、Jboss等Java application server修改启动脚本, 把执行java的命令行后面加上参数-agentlib:<动态链接库文件所在路径>\classloader 适应环境: 操作系统:所有操作系统,Windows系统、Linux/Unix,只是运行...

    我心飞扬java类加密工具2.1(亲测可用)

    Tomcat、Jboss等Java application server修改启动脚本,把执行java的命令行后面加上参数-agentlib:<动态链接库文件所在路径>\classloader 适应环境: 操作系统:所有操作系统,Windows系统、Linux/Unix,只是运行...

    jmx资料

    从Java 1.2开始,`ClassLoader`类引入了类的类型安全性,以防止类加载过程中的安全问题。然而,Vijay Saraswat的论文揭示了Java类型系统的潜在不安全性,这主要是由于类加载器可以跨越正常的委托模型,导致类的不...

    读取war包或jar包内的文件

    1. **Java ClassLoader**: 读取JAR或WAR包内的文件通常需要借助Java的ClassLoader。ClassLoader是Java中负责加载类的组件,它知道如何从不同的源(如文件系统、网络或ZIP文件)加载类和资源。 2. **getResource() ...

    应用服务架构及性能调优详解

    内容概要:该文档介绍了常见的三种Java应用服务器(JBoss, Tomcat, Jetty)的整体架构及其启动流程,并深入探讨了它们各自的特性与配置要点。此外,文中还详细阐述了应用服务器的关键组件如类加载器(ClassLoader)的...

    spring源代码

    import org.jboss.vfs.VFS; import org.jboss.vfs.VirtualFile; import org.jboss.vfs.spi.RealFileSystem; import org.junit.Test; import org.springframework.core.io.Resource; import org.springframework.core...

    porquebox:像 TorqueBox,但用于 PHP。 所以PorqueBox

    不过,Stock Quercus 有 ClassLoader 问题。 修补 Quercus 可以解决这个问题。 无论如何,Quercus 无法运行所有 Drupal 7,这是我感兴趣的主要应用程序。 当 Quercus 兼容时,我希望我希望它运行 Drupal 8。 路线图...

Global site tag (gtag.js) - Google Analytics