我用tomcat做jsp时,用一条语句调用另一个类(暂命名为A)的一个静态方法,这样载入了类A,使其静态成员被初始化.本以为再次request这个页面时,会重新载入类A,重新初始化其静态成员.但事实好像是当页面运行完后类A没有被卸载,第二次request这个页面时,类A的静态成员没有重新初始化.直到stop那个web application时类A才被卸载,有点晕.问题:
1.java类在内存中驻留的多少时间?什么时候被卸载?
2.application到底是一个进程还是一个线程?

解决方案 »

  1.   

    类的 卸载由JVM的垃圾收集器管理
    application是一个进程
      

  2.   

    如果对象的引用设置为null时,即没有指向它的引用时,JVM会自动释放资源..........
      

  3.   

    在jdk 1.5 中并不推荐使用 object=null 的做法,感觉jvm 的内存管理算法还有待改进
      

  4.   

    至于何时收回,可以看看jvm的一些资料,还有你可以看看你jsp转换为servlet的代码,servlet只会被加载一次,存在一定安全隐患。