06 2011 档案

摘要:在hostswap dcevm中我们对Dynamic Code Evolution VM有了一个简单的了解,这篇文章将介绍Dynamic Code Evolution VM的实现原理。 有两个概念需要区别下: Dynamic Code Evolution (下文简称DCE):泛指java在运行时修改程序的技术.例如aop等. Dynamic Code Evolution VM(下文简称DCE VM... 阅读全文
posted @ 2011-06-14 15:50 redcreen
摘要:GluonJ是一个简单的面向切面编程(AOP)的java工具.GluonJ针对面向对象的语言(OOP)结构提供了一个极其简单的扩展方式实现了AOP的特性,非常独特:不同于其他流行的AOP框架,没有采用pointcut-advice,而是采用了revisers 和 within methods. Gluonj是较高级别的API,底层使用javassist进行java类文件处理. 有意思的项目名称:Gluon+J,J指的是java,Gluon翻译后是胶子(物理名词),gluonJ的特性与胶子还真是有几分相似之处.项目的作者对物理也有研究? Gluonj的HelloWold 原始类:Person . 阅读全文
posted @ 2011-06-03 15:05 redcreen 阅读(2734) 评论(0) 推荐(0)
摘要:什么是dcevm dcevm(DynamicCode Evolution Virtual Machine)是java hostspot的补丁(严格上来说是修改),允许(并非无限制)在运行环境下修改加载的类文件.当前虚拟机只允许修改方法体(method bodies),decvm,可以增加 删除类属性、方法,甚至改变一个类的父类。原理参见Dynamic Code Evolution for Java... 阅读全文
posted @ 2011-06-03 11:21 redcreen 阅读(6438) 评论(0) 推荐(1)
摘要:以下的相关介绍都是在未使用dcevm的情况 classLoader的卸载机制 jvm中没有提供class及classloader的unload方法.那热部署及osgi中是通过什么机制来实现的呢?实现思路主要是通过更换classLoader进行重新加载.之前的classloader及加载的class类在没有实例引用的情况下,在perm区gc的情况下会被回收掉. perm区gc时回收掉没有引用的cl... 阅读全文
posted @ 2011-06-02 17:39 redcreen 阅读(10500) 评论(1) 推荐(1)