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

Java 类的热替换 —— 概念、设计与实现

http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/index.html
Java 类的热替换 —— 概念、设计与实现
构建基于 Java 的在线升级系统
 
 
级别: 中级
孙 鸣
,
邓 辉
,
2010 年 1 月 14 日

于许多关键性业务或者庞大的 Java
系统来说,如果必须暂停系统服务才能进行系统升级,既会大大影响到系统的可用性,同时也增加了系统的管理和维护成本。因此,如果能够方便地在不停止系统业
务的情况下进行系统升级,则可以很好地解决上述问题。在本文中,我们将基于实例,对构建在线升级 Java
系统的基础技术和设计原则进行了深入的讲解。相信读者能够根据文中的技术构建出自己的在线升级系统来。
Java ClassLoader 技术剖析
在本文中,我们将不对 Java ClassLoader 的细节进行过于详细的讲解,而是关注于和构建在线升级系统相关的基础概念。关于 ClassLoader 的详细细节许多资料可以参考,有兴趣的读者可以自行研读。
要构建在线升级系统,一个重要的技术就是能够实现 Java 类的热替换 —— 也就是在不停止正在运行的系统的情况下进行类(对象)的升级替换。而 Java 的 ClassLoader 正是实现这项技术的基础。

Java 中,类的实例化流程分为两个部分:类的加载和类的实例化。类的加载又分为显式加载和隐式加载。大家使用 new
关键字创建类实例时,其实就隐式地包含了类的加载过程。对于类的显式加载来说,比较常用的是 Class.forName。其实,它们都是通过调用
ClassLoader 类的 loadClass 方法来完成类的实际加载工作的。直接调用 ClassLoader 的 loadClass
方法是另外一种不常用的显式加载类的技术。
图 1. Java 类加载器层次结构图


ClassLoader
在加载类时有一定的层次关系和规则。在 Java
中,有四种类型的类加载器,分别为:BootStrapClassLoader、ExtClassLoader、AppClassLoader
以及用户自定义的 ClassLoader。这四种类加载器分别负责不同路径的类的加载,并形成了一个类加载的层次结构。
BootStrapClassLoader
处于类加载器层次结构的最高层,负责 sun.boot.class.path 路径下类的加载,默认为 jre/lib 目录下的核心 API 或
-Xbootclasspath 选项指定的 jar 包。ExtClassLoader 的加载路径为 java.ext.dirs,默认为
jre/lib/ext 目录或者 -Djava.ext.dirs 指定目录下的 jar 包加载。AppClassLoader 的加载路径为
java.class.path,默认为环境变量 CLASS


相关文档:

Java 1.5新特性简介

“JDK1.5”的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。
一. 首先简单介绍一下各种特性及其使用
1.泛型(Generic)
C++通过模板技术可以指定集合的元素类型,而J ......

java中的Synth外观

 java中的Synth外观 
   Synth,它是一个完整的外观,而不是一个主题,它针对的并不是程序员,而是界面设计人员,让他们不必掌握Java 知识便能够进行相应界面的选择定制。采用了Synth 后,我们不能从现有外观或主题派生子类、修改字体或颜色,而是通过转载不同的XML 文件以达到对 ......

Java几个常用的布局管理器类

Java几个常用的布局管理器类:


特点
java.awt
CardLayout
将组件象卡片一样放置在容器中,在某一时刻只有一个组件可见
java.awt
FlowLayout
将组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行继续放置
java.awt
GridLayout
形似一个无框线的表格,每个单元格中放一个组件
java.awt ......

java中的final关键字所起的作用

final的作用随着所修饰的类型而不同
       1、final修饰类中的属性或者变量
              无论属性是基本类型还是引用类型,final所起的作用都是变量里面存放的“值”不能变。
    &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号