java类加载的思考
2011-12-10 23:31
246 查看
问题From:
前几天开发一个需求,涉及到industry_center服务化的改造,在预发布验证时,发现服务化的改动并没有起效果,检查发现ops同学已将最新的rpm包部署到预发布机上了,查看服务启动时间发现原来部署后服务没有重启,内存加载的依然是旧版本。因此有一个假设,如果java命令运行一个程序后(类似while循环不会自动退出),删除其java源文件、编译后的class文件,并不会打断其运行。。
实例验证:
测试程序package collection; import java.util.Set; import java.util.TreeSet; /** * 类TreeSetTest.java的实现描述:TODO 类实现描述 * * @author onlyone 2011-12-10 下午11:15:09 */ public class TreeSetTest { public static void main(String[] args) { while (true) { // TODO Auto-generated method stub Set set = new TreeSet(); set.add(3.23); set.add(1.12); set.add(3.23); set.add(6.4); Object[] o = set.toArray(); System.out.println(o[2]); System.out.println("-------------"); // Long a=null; // Long b=1L; // System.out.println(b-a); } } }
进入到class文件目录下
java collection.TreeSetTest ,,此时有结果输出在控制台
然后删掉class文件
发现控制台的结果依然在打印.
此时修改TreeSetTest的源文件,重新生成新的class文件,发现的控制台的输出结果没有变。
重新执行java collection.TreeSetTest,输出的是新的结果
恢复手动删除的class文件,可采用Clean操作
相关文章推荐
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- 【Java进阶】关于Java类加载双亲委派机制的思考
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- Java类加载双亲委派机制的一点思考
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- 由两个bug引发的对Java类加载时机的思考
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- 关于Java类加载双亲委派机制的思考(附一道面试题)
- java类的动态加载
- java类加载机制
- 关于Java类加载的双亲委派机制
- java类加载机制
- 详解JAVA类加载机制(推荐)
- JAVA类加载机制
- 【JVM基础知识】java类加载机制
- Java类加载机制
- JVM总结2-Java类加载机制