论坛首页 Java企业应用论坛

Robbin关于App class loader的总结

浏览 43239 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-11-03  
引用
[本来我理解是,Web App Class Loader即使找到,也是由APP ClassLoader 根据CLASSPATH所指定路径下的来初始化的。

我也同意你的看法,classloader采用delegate方式,会首先向它的parent classloader请求载入class,找不到的话再自己找。
0 请登录后投票
   发表时间:2004-12-29  
跟app server的实现有关系。tomcat会按Robbin讲的从war的目录里找,jboss3.2用了一个UCL的概念,会先到上层的class库找
0 请登录后投票
   发表时间:2005-01-02  
不错,如果能够加上机群的classloader机制就完美了
0 请登录后投票
   发表时间:2005-02-21  
引用
如果你把Hibernate放到了CLASSPATH变量指定的路径下,而你在WEB-INF\lib也放了一份,那么Web App Class Loader由于load范围所限,它会首先找到WEB-INF\lib下的那份Hibernate,按照它的配置来初始化Hibernate。


ClassLoader在Load class的时候不是一种代理的机制么?这里为什么不是Web App Class Loader的父ClassLoader- AppClassLoader来装载Hibernate先呢?按照代理机制,不是应该先由父ClassLoader去装载么?
0 请登录后投票
   发表时间:2005-03-08  
我还有一个问题不太明确,对于EAR中的非EJB的jar是否需要写该jar引用的相应的jar到 META-INF\MANIFEST.MF的Class-Path?尤其是遇到多重引用的情况.

还有就是在EAR下面建立的子目录中的jar是否会被遍历到?

over
0 请登录后投票
   发表时间:2005-03-08  
eway 写道
引用
如果你把Hibernate放到了CLASSPATH变量指定的路径下,而你在WEB-INF\lib也放了一份,那么Web App Class Loader由于load范围所限,它会首先找到WEB-INF\lib下的那份Hibernate,按照它的配置来初始化Hibernate。


ClassLoader在Load class的时候不是一种代理的机制么?这里为什么不是Web App Class Loader的父ClassLoader- AppClassLoader来装载Hibernate先呢?按照代理机制,不是应该先由父ClassLoader去装载么?

按照Servlet 规范, Web App Classloader的行为和普通的ClassLoader不同,它要先去load所需的Class,不成功在交给Parent来装入。
请参阅Servlet 2.3 Spec SRV 9.7.2。
0 请登录后投票
   发表时间:2005-03-27  
javalife 写道
是不完全的交给Parent来处理,Tomcat的wepapp,ClassLoader的级别是这样的:JVMClassLoader,ExtClassLoader,WebAppClassLoader,..再是其它Tomcat/common/等的loader,只有当基本库和Ext没有的情况下再交给webappClassLoader,然后再是Tomcat/Common下的,要不然如果是完全违反parent模式的话,我们在web app里面岂不可以把基本库:java.*这些都给覆盖掉.
kewan 写道
按照Servlet 规范, Web App Classloader的行为和普通的ClassLoader不同,它要先去load所需的Class,不成功在交给Parent来装入。
请参阅Servlet 2.3 Spec SRV 9.7.2。


拜托你再看看Servlet 2.4 Spec SRV.9.7.2吧。
0 请登录后投票
   发表时间:2005-08-08  
我想问一下: 在jvm里面一般有多少个不同的class loader,  另外我还想问一下: class loader的实现是什么模式?  你可不可以写一个例子来实现class loader来实现如下功能, 功能: 写了一个java文件, 叫 ImportFile.java, 然后把它发布网络上或者其它地方, 但是我不想别人通过反编译工具反编译出我的源代码, 或者就是能够反编译出来源代码, 其代码是被加密之后的代码使别人看不懂, 这样的功能就可以了, 另外我听说可以改变class的字节码内容, 可不可以介绍一下。
0 请登录后投票
   发表时间:2005-08-08  
其实我对jvm内存管理不是很了解, 能不能讲一下jvm的机制其实现原理。
0 请登录后投票
   发表时间:2006-03-03  
war 包会不会 ,先找 parent class loader
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics