`

java类加载的思考

 
阅读更多

问题From:

前几天开发一个需求,涉及到industry_center服务化的改造,在预发布验证时,发现服务化的改动并没有起效果,检查发现ops同学已将最新的rpm包部署到预发布机上了,查看服务启动时间发现原来部署后服务没有重启,内存加载的依然是旧版本。因此有一个假设,如果java命令运行一个程序后(类似while循环不会自动退出),删除其java源文件、编译后的class文件,并不会打断其运行。。

实例验证:

测试程序


进入到class文件目录下

java collection.TreeSetTest ,,此时有结果输出在控制台

然后删掉class文件

发现控制台的结果依然在打印.

此时修改TreeSetTest的源文件,重新生成新的class文件,发现的控制台的输出结果没有变。

重新执行java collection.TreeSetTest,输出的是新的结果

恢复手动删除的class文件,可采用Clean操作

分享到:
评论

相关推荐

    java经验积累java经验积累

    本文将基于"java经验积累"这一主题,深入探讨Java的相关知识点,包括类加载器、并发处理、注解(Annotation)、线程池、泛型、自定义注解以及Java与模式思考。 首先,我们来关注"深入探讨 Java 类加载器"。Java的类...

    android J2ME加载器 可以在android机上运行java游戏

    Android平台上的J2ME加载器是一款特殊的软件,它允许用户在Android设备上运行基于Java ME(J2ME)开发的游戏和应用程序。Java ME是Java的一个轻量级版本,主要用于移动设备和嵌入式系统,因此许多早期的移动游戏都是...

    java大富翁_Java游戏_大富翁Java游戏_

    【描述】中的"java玉玺游戏好玩的很好玩的小虞兮西撒哈拉上线啦上线啦思考和"这部分似乎包含了一些拼写错误和不完整的句子,可能是在表达游戏的趣味性和新版本发布的信息。"玉玺游戏"可能是对"Java游戏"的一种形象...

    corejava基础重要知识点总结

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

    java知识集合

    Java作为一门广泛使用的编程语言,...综上所述,Java的知识体系包括但不限于JVM运行机制、内存管理、垃圾回收、并发编程、IO/NIO、类加载机制等多个方面,Java开发者在学习过程中需要对这些知识点有系统的理解和掌握。

    Java项目:植物大战僵尸(java+swing)

    解谜模式可能涉及到特定的策略和思考,要求玩家用有限的资源解决特定的挑战。 实现这些模式需要良好的游戏设计和编程结构。开发者可能使用面向对象编程(OOP)原则,为游戏中的每个实体(如植物、僵尸、子弹等)...

    关于Java语言教学的思考.pdf

    此外,Java的动态特性允许程序在运行时动态加载所需类,这是C++无法做到的。 再者,将数据结构与算法结合到Java语言教学中,可以深化学生对程序设计核心的理解。在教授数据结构课程时,通过使用Java实现各种数据...

    Thinking Java Programming Code

    12. **JVM原理**:理解Java虚拟机的工作原理,包括类加载、内存管理(堆、栈、方法区)、垃圾回收等,有助于优化代码性能。 13. **设计模式**:学习常见的设计模式(如单例、工厂、观察者等),能够提升代码的可...

    java程序设计-五子棋

    - **面向对象编程**:Java是一种面向对象的语言,五子棋项目会涉及到类的设计,包括棋盘类、棋子类、玩家类等,这些类将封装各自的功能和数据。 - **GUI编程**:游戏界面通常通过Java的图形用户界面(GUI)来实现...

    java类和对象

    - **特点**: 随着类的加载而加载,优先于对象存在,被所有对象共享,可以直接通过类名调用。 - **注意事项**: 静态方法只能访问静态成员,且不能使用`this`或`super`关键字。 #### 三、示例代码分析 1. **Person...

    JAVA工程师实习一周总结【推荐下载】.doc

    这一周的实习让我对JAVA开发有了更深入的理解,特别是对Java虚拟机(JVM)和类加载器(ClassLoader)机制有了初步的认识。 Java虚拟机是Java语言运行的基础,它负责管理程序的内存空间,包括堆内存、栈内存、方法区...

    风中叶 Java常见笔试、面试题目深度剖析Java 笔试 面试 题目

    JVM的工作原理,如类加载机制、内存模型(堆、栈、方法区等)、字节码执行、性能优化等方面,都是面试官可能会考察的内容。理解这些不仅能帮助解决实际问题,还能提升程序的运行效率。 接着,我们讨论Java多线程和...

    计算机软件Java编程特点及其技术的思考.pdf

    除此之外,Java虚拟机(JVM)提供的安全机制,如类加载器和字节码校验器,可以有效防止未授权代码的执行。 技术的发展同样促进了Java技术的应用。企业级的应用和跨平台的开发需求推动了Java技术的进步。例如,在...

    java常用API-适合初学者

    - **Class类**:代表运行时的类信息,用于动态加载和操作类。 - **Constructor类**:表示类的构造方法。 - **Method类**:表示类的方法。 - **Field类**:表示类的字段。 7. **泛型** - **泛型类**:在类声明...

    《Java设计模式》课后习题参考答案-刘伟(20180723).pdf

    - java.util.ResourceBundle#getBundle(),加载资源束。 ***.URL#openConnection(),创建一个URL连接实例。 - java.sql.DriverManager#getConnection(),通过驱动管理器获取数据库连接。 b) 建造者模式(Builder...

    用java编写的中国象棋

    - 类与对象:Java是面向对象的语言,中国象棋游戏中的每个棋子可以被看作是一个对象,它们各自有自己的属性(如棋子类型、位置、状态等)和行为(如移动、攻击等)。这些对象可以通过定义类来实现。 - 继承与多态...

    计算机软件Java编程特点及其技术的思考 (1).pdf

    Java的类和库可以动态加载,程序可以动态扩展新的功能。Java还支持反射机制,允许程序在运行时检查或修改其行为。 在技术应用方面,Java被广泛应用于各行各业,从嵌入式设备到企业级应用,再到移动和无线计算领域。...

    变态的java面视题(全)

    这里我们探讨的“变态的Java面试题”可能是指那些具有挑战性、需要深入思考的问题,它们通常涉及到Java语言的核心概念、并发编程、集合框架、内存管理以及JVM(Java虚拟机)的工作原理等多个方面。 首先,Java是一...

    深入浅出类加载机制

    类加载器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语言程序设计(一)》课后习题答案(课程编号04747)

    3. **加载和链接**:Java解释器(即JVM)加载字节码文件到内存,并进行链接处理。 4. **执行**:JVM解释执行字节码,或通过JIT编译器将其编译成本地机器码执行。 #### 1.2 开发与运行JAVA程序的重要步骤 1. **环境...

Global site tag (gtag.js) - Google Analytics