`
java-mans
  • 浏览: 11438785 次
文章分类
社区版块
存档分类
最新评论

java类加载的思考

 
阅读更多

问题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类加载器和类加载机制以及类加载原理  学习目标:掌握类加载机制和原理,能够独立开发自己的类加载器。  1.类的加载  什么是类加载? 类加载是指将类的...

    corejava基础重要知识点总结

    CLASSPATH:类加载器使用 让类加载器明确去哪里加载.class文件 通常不需要设置 默认值:. .:当前目录(.java) CLASSPATH相当于中国的低保制度 JAVA_HOME:其他的程序使用 WEB 设置方式: 1:一次性的设置 ...

    JAVA基础课程讲义

    静态初始化块(经常用来初始化类,加载类信息时执行!) 67 package 68 JDK中的主要包 68 import 68 eclipse的使用 69 继承(extend, inheritance) 70 为什么需要继承?继承的作用? 70 继承介绍 70 如何实现继承? ...

    深入浅出类加载机制

    类加载器2.1 类加载器种类2.1.1 Java虚拟机自带的类加载器2.1.2 用户自定义的类加载器2.2 双亲委派机制2.2.1 为什么要有双亲委派机制2.2.2 可不可以自定义一个String/Object类?2.3 破坏双亲委派2.3.1 为何要破坏...

    java深入解析

    目 录 第1章 基本概念 1 话题1 开门见山——测试你的Java水平 1 话题2 世外隐者——隐居深山的“关键字” 2 话题3 疑团满腹——标识符更深层的思考 6 话题4 鞭长莫及——我的特殊字符,你不能用! 10 话题5 移星换斗...

    基于Java小区疫情防控系统的设计与实现论文

    Java语言是静态面向对象编程语言的代表,是面向对象理论的优秀实现,使程序员能够优雅地思考复杂的编程。 Java是简单性的、面向对象、分布式、健壮性、安全性、平台独立、可移植性的、多线程、动态性的。它的应用使...

    《Java程序设计案例教程》教学课件09Java数据库编程.pptx

    9.2 数据库操作准备 9.2.2 加载JDBC数据库连接驱动 单击"打开"按钮,返回"Properties for myPro"窗口,在"Java Build Path"的"Libraries"选项卡中出现了加载的MySQL连接驱动,如图9-4所示。 图9-4 MySQL连接驱动...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    3.2.1 加载国际化资源文件 132 3.2.2 使用国际化消息 134 3.2.3 动态数据国际化 137 3.2.4 让用户选择语言 142 3.3 使用转换器完成类型转换 143 3.3.1 转换器概述、用途 144 3.3.2 JSF内建转换器 144 3.3.3 使用转换...

    java简易版开心农场源码-blog:建树进口

    P开始限制私有API的访问权限,这导致我们项目的基础架构插件框架无法使用,思考其影响,其他的都好说,最重要的是资源加载这块,可以说一个apk的代码分为两种,java代码和xml这种dsl代码,java代码通过类加载器加载...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    11.5 思考题 363 第3部分 jsp篇 第12章 jsp技术 366 12.1 jsp简介 366 12.2 jsp的运行机制 366 12.3 jsp的语法 371 12.3.1 指令元素(directive elements) 371 12.3.2 脚本元素(scripting elements) 374 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    11.5 思考题 363 第3部分 jsp篇 第12章 jsp技术 366 12.1 jsp简介 366 12.2 jsp的运行机制 366 12.3 jsp的语法 371 12.3.1 指令元素(directive elements) 371 12.3.2 脚本元素(scripting elements) 374 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    11.5 思考题 363 第3部分 jsp篇 第12章 jsp技术 366 12.1 jsp简介 366 12.2 jsp的运行机制 366 12.3 jsp的语法 371 12.3.1 指令元素(directive elements) 371 12.3.2 脚本元素(scripting elements) 374 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    11.5 思考题 363 第3部分 jsp篇 第12章 jsp技术 366 12.1 jsp简介 366 12.2 jsp的运行机制 366 12.3 jsp的语法 371 12.3.1 指令元素(directive elements) 371 12.3.2 脚本元素(scripting elements) 374 ...

    基于JAVA的推箱子游戏+LW资源+PPT+讲解视频

    将游戏地图做成通用的关卡设计,关卡用二维数组实现,在二维数组中设置值域来表示不同对象,运用二维数组的遍历算法来加载对应图片实现了游戏图片初始化状态。同时,通过初始化多个不同二维数组实现了游戏地图关卡的...

    4.29药品商品采购系统

    Java语言是静态面向对象编程语言的代表,是面向对象理论的优秀实现,使程序员能够优雅地思考复杂的编程。 Java是简单性的、面向对象、分布式、健壮性、安全性、平台独立、可移植性的、多线程、动态性的。它的应用使...

    大学生心理测试系统小程序lw.doc

    Java语言是静态面向对象编程语言的代表,是面向对象理论的优秀实现,使程序员能够优雅地思考复杂的编程。 Java是简单性的、面向对象、分布式、健壮性、安全性、平台独立、可移植性的、多线程、动态性的。它的应用使...

    副本家具销售电商平台论文(1).doc

    Java语言是静态面向对象编程语言的代表,是面向对象理论的优秀实现,使程序员能够优雅地思考复杂的编程。 Java是简单性的、面向对象、分布式、健壮性、安全性、平台独立、可移植性的、多线程、动态性的。它的应用使...

    ssm小程序校内二手交易网站.docx

    Java语言是静态面向对象编程语言的代表,是面向对象理论的优秀实现,使程序员能够优雅地思考复杂的编程。 Java是简单性的、面向对象、分布式、健壮性、安全性、平台独立、可移植性的、多线程、动态性的。它的应用使...

    关于javascript模块加载技术的一些思考

     这位网友的问题引起了我对javascript模块加载技术的思考,上篇文章我给出了自己写的一个javascript库的基本结构,其实写这篇文章的一个起因就是因为我想使用requirejs或者seajs这样的技术来重新设计我写javascript...

    Notes:This is a learning note | Java基础,JVM,源码,大数据,面经

    jvm类加载机制 Java的内存模型 锁优化 Think In Java Java容器 Java并发 Java Concurrency in Practice 对象的共享 对象的组合 基础构建模块 JavaGC监控与优化 垃圾回收机制 垃圾回收机制的监控 优化垃圾回收机制 ...

Global site tag (gtag.js) - Google Analytics