`

ClassLoader 和 反射加载的区别

 
阅读更多
在websphere中,类加载顺序是
java核心库
sharelib库(自己插入的)
websphere库
app库

在运行时候,在调用sharelib库中的类的时候, sharelib库中的类可以通过反射调用 app库中的类和方法。


在weblogic中,类加载顺序是
java核心库
weblogic库
app库

这里我遇见一个问题就是在app库中的类调用SerializationUtils.clone会报某个app类找不到的错误。SerializationUtils在weblogic库中,即weblogic库中的类查找app库中的类。

是因为
    In WebLogic 10, commons-lang jar is loaded by a system class loader, and its loading order is always prior to webapp's classloader.
    (FYI, in WebLogic 10, commons-lang jar is located in the system library directory: bea/modules/com.bea.core.apache.commons.lang_2.1.0.jar.)
    So, SerializationUtils.deserialize() cannot find classes because SerializationUtils class is loaded by a parent classloader, not by the webapp classloader.

所以在调用serialization/deserialization时候,
weblogic库的classloader是无法找到app库中的类的。
分享到:
评论

相关推荐

    Java实现热加载完整代码;Java动态加载class;Java覆盖已加载的class;Java自定义classloader

    1. 定义好接口和实现类 2. 让代理类通过反射的方式调用实现类,对外暴露的是代理类。 3. 自定义URLClassLoader。检查实现类.class文件的修改时间,如果是更新的.class文件则重新加载该实现类的class。 4. 调用方法前...

    Java类加载机制与反射-PPT

    Java的类加载机制:加载,连接,初始化。JAVA类加载器: Bootstrap ClassLoader : 根类加载器, Extension ClassLoader: 扩展类加载器, System ClassLoader : 系统类加载器, Java反射

    ClassLoader

    类加载器完整实例,通过类全名来实例化对象,有点类似反射

    12.尚硅谷_java基础_反射

    理解 Class 类 理解 Java 的类加载机制 学会使用 ClassLoader 进行类加载 理解反射的机制 掌握 Constructor、Method、Field 类的用法 理解并掌握动态代理

    apk加壳和动态加载技术

    5.利用反射技术将ClassLoader 设置成系统的lassLoader。该技术可以有效的防止逆向分析、被破解、被加壳等问题。 第五种 apk加壳解壳 加壳的程序可以有效阻止对程序的反汇编分析,以达到它不可告人的目的。这种技术...

    service_classloader

    工程名为service_classloader,功能全部使用corejava实现,使用maven管理依赖,没有使用任何框架(junit除外)。 使用的技术主要包括:classlaoder,加密解密,线程,ThreadLocal使用,反射,IO操作,jdbc, 序列化,...

    尚硅谷_佟刚_Java基础_反射.pdf

    理解Class 类 理解Java 的类加载机制 学会使用ClassLoader 进行类加载 理解反射的机制 掌握Constructor、Method、Field 类的用法 理解并掌握动态代理

    xml与反射.txt

    第一:获取类加载器:ClassLoader loader=Thread.currentThread().getContextClassLoader();//获取当 前线程的上下文类加载器 第二:通过类加载器获取类 Class clazz=loader.loadClass("com.taobao.reflect.car")//...

    Android 使用classloader原理进行热更新

    使用Android的classloader加载器实现热更新,通过反射机制获取到源码的Elements数组替换classes.dex实现更新,只能重启软件进行更新,无法实现实时更新。

    Java反射在JVM的实现11

    3.1. Classloader加载过程ClassLoader用于加载、连接、缓存Class,可以通过纯Java或者native进行实现 3.2. 初始化过程当

    java设计模式【之】JDK动态代理【源码】【场景:帮爸爸买菜】.rar

    * 动态代理中的静态方法:java.lang.reflect.Proxy.newProxyInstance (ClassLoader(类加载器),interface(接口),handler(监听处理器)) * * 代码示例:《帮爸爸买菜》 * 1.Father: 被代理类,必须需要实现接口 ...

    ClassLoaderTest:测试如何正确关闭类加载器,以便可以关闭基础jar文件上的文件句柄

    ClassLoaderTest 测试自定义的URLClassLoader以加载类 测试如何正确关闭类加载器。 测试如何使用反射关闭JarFile来修复资源泄漏。

    Java 基础面试题

    该文档主要整理了常见的Java基础面试题,包含以下内容: ...32. Class.forName()和ClassLoader.loadClass()的区别 34. 如何防止创建的类名不能java为已有类名,Java加载双亲委派机制 35. 堆和栈的区别

    Kotlin中的反射机制深入讲解

    这些字节码文件是与平台无关的,使用时通过Classloader去加载这些.class字节码文件,从而让程序按照我们编写好的业务逻辑运行。Java的反射主要是从这些.class文件中获取我们想要得到的内容,那么Java中的反射能够...

    day021-反射和注解笔记和代码.rar

    loader:可以指定一个类加载器加载字节码文件 2. 全限定类名.class 3. 对象名.getClass() Class类中方法newInstance():创建当前字节码对象(只能调用无参且是public修饰的构造...

    Java基础知识点.html

    类加载器 ClassLoader 反射 Stream 流 函数式编程 Lambda 表达式 网络编程-协议 网络编程-端口 网络编程-IP 多线程 IO流-字节流 IO流-字符流 IO流-转换流 File Map HashMap 序列化和反序列化 可变参数 类型通配符 ...

    J2SE笔记讲解个人修订(1.1).docx

    14 JAVA类加载器CLASSLOADER 15 JAVA简单工厂模式 16 JAVA中的注解 17 JAVA 图形界面 18 JAVA多线程 19 JAVA 反射机制 20 JAVA克隆CLONE(复制) 21 JAVA 网络编程 22 JAVA 其他未归类 23 JNI概述

    Java 基础核心总结 +经典算法大全.rar

    JDBC 加载数据库驱动类反射的优势及缺陷 增加程序的灵活性破坏类的封装性 性能损耗 代理模式 静态代理与动态代理常见的动态代理实现JDK Proxy CGLIB JDK Proxy 和 CGLIB 的对比动态代理的实际应用 Spring AOP 变量 ...

    AOP ClassLoader Suite-开源

    一组Java类加载器,使用“加载时反射”(在类加载时修改字节码)来扩展现有的Java类。 它使用了出色的BCEL库(http://bcel.sf.net)。

Global site tag (gtag.js) - Google Analytics