一/简单介绍 ? BTrace?是一个可靠的,用来动态跟踪Java程序的工具。它通过动态对运行中的Java程序进行字节码生成来工作。BTrace会对运行中的Java程序的类插入一些跟踪操作 来对被跟踪的程序进行热替换。 BTra...
分类:
其他好文 时间:
2015-04-15 15:10:27
阅读次数:
152
JPDA提供了一个API,VirtualMachine#redefineClasses,我们可以通过这个API来实现Java代码的热替换。...
分类:
其他好文 时间:
2015-03-04 01:06:54
阅读次数:
162
构建基于 Java 的在线升级系统 对于许多关键性业务或者庞大的 Java 系统来说,如果必须暂停系统服务才能进行系统升级,既会大大影响到系统的可用性,同时也增加了系统的管理和维护成本。因此,如果能够方便地在不停止系统业务的情况下进行系统升级,则可以很好地解决上述问题。在本文中,我们将基于实例,对....
分类:
编程语言 时间:
2015-02-27 16:36:18
阅读次数:
272
一.1.结构:应用--模块--函数--语句--子语句--表达式--子语句..2.函数式编程a)函数式编程,本身不存放状态,对它的影响只有输入参数,而它的影响就是输出函数。b)函数式编程,是分布式应用中,高并发,代码热替换的基石c)Erlang应用就是由这些函数构成的,它的重要理念,everythin...
分类:
其他好文 时间:
2015-01-07 16:23:36
阅读次数:
197
JDK1.5之后提供了java.lang.instrument.Instrumentation,即java agent机制能够实现类的redefinition和retransform。redefinition对应Instrumentation.redefineClasses()能够实现类的热替换,但遗憾的是功能很有限。最近遇到一个开源项目spring-loaded,看了下官方的介绍文档:发现它功能比JDK自带的强大多了。经过自己的尝试,发现使用spring-loaded项目,确实可以实现java应用的热部署...
分类:
编程语言 时间:
2014-11-03 20:59:47
阅读次数:
300
构建基于 Java 的在线升级系统Java ClassLoader 技术剖析在本文中,我们将不对 Java ClassLoader 的细节进行过于详细的讲解,而是关注于和构建在线升级系统相关的基础概念。关于 ClassLoader 的详细细节许多资料可以参考,有兴趣的读者可以自行研读。要构建在线升级...
分类:
编程语言 时间:
2014-10-25 18:46:07
阅读次数:
285
package test;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.nio.ByteBuffer;import java.nio.channels.Channels;import j...
分类:
编程语言 时间:
2014-09-12 02:24:12
阅读次数:
234
上一篇Spring/Hibernate提升速度的文章主要是通过一些技巧来提升启动速度,还是做不到如类的热部署/热替换。因此再写一篇关于热部署/热替换的文章。之前也有很多人介绍过这些知识,不过比较分散,我写此篇的目的是聚合它们。本文以HotSpot虚拟机为例。首先让我们来看两个概念:热部署、热替换热部...
分类:
编程语言 时间:
2014-07-18 18:21:37
阅读次数:
327
package com.codeconch.util;
import java.lang.instrument.Instrumentation;
public class Monitor {
private static Instrumentation instrumentation;
public static void premain(String args, Instrum...
分类:
编程语言 时间:
2014-05-24 21:39:23
阅读次数:
356