易截截图软件、单文件、免安装、纯绿色、仅160KB

Java类加载器

    如果你想对java加载类的机制有比较深入的理解的话,请你花点时间好好阅读一下这篇东西.
    这里从三个方面讲述java classloader
    1,将从web应用出发模拟一下web应用的classloader(这节是重点)
    2,通过测试2实现的classloader来加深理解
    3,翻译一下classloader的相关技术文章(来自Core Java第二卷的Chapter 9. Security),由于我的英文水平有限,难免有不合适,请大家指出.
看看怎么实现一个自己的ClassLoader(我们以web应用的classloader为例来讲解 )
大家都很熟悉tomcat,比如我们要写一个servlet运行的话.
1,我们通常会在tomcat的webapps目录下建一个自己的web目录(比如myweb),然后让自己的myweb至少具有以下目录结构.
└─WEB-INF
    ├─classes
    └─lib
2,直接把class文件拷贝到classes目录下,或者把自己做的servet打成jar放到lib下
3,启动tomcat就能访问servlet了.
再说一点:不少人了解struts,也做过基于struts的应用.其实struts对于我们来说只是几个jar而已,我们要在自己的应用中用struts,
只不过就象上面一样把struts的各个lib拷贝到web应用的WEB-INF/lib下就OK了.
再综合前面的基础部分,其实web应用是有自己的classloader的,他专门负责加载WEB-INF/lib和WEB- INF/classes的类。下面我们就来模拟一下web应用的classloader,相信看了下面的代码你就会对classloader的理解又上一个台阶.
 view plaincopy to clipboardprint?
import java.io.File;  
import java.io.FilenameFilter;  
import java.lang.reflect.Method;  
import java.net.MalformedURLException;  
import java.net.URL;  
import java.net.URLClassLoader;  
/* 
 * web应用的classloader 
 * 带你步入classloader的天堂 
 */ 
public class WebAppClassLoader{  
    URLClassLoader myClassLoader = null;      
    /* 
     * 用法:new WebAppClassLoader(webRoot) 
     *   比如:new WebAppClassLoader("c:/web") 
   &


相关文档:

java 知识点总结

//java解析.mdb文件的表名集合 
this.tableList.clear();
  
  conn = null;
  st = null;
  rs = null;
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  String url ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+dbName;// ......

java实现冒泡排序算法

  package ch01;
 
 public class BubbleSort
 {
    
   
    public static void main(String[] args){
        int[] values ={
          &n ......

通过观察者模式和Reactor模式深入理解JAVA NIO 线程

 
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打
开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那
么改进做法就是开设线程,让线程去等 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号