8000 GitHub - mylovetop/jvm-sandbox: Real - time non-invasive AOP framework container based on JVM
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

mylovetop/jvm-sandbox

 
 

Repository files navigation

BANNER

JVM沙箱容器,一种JVM的非侵入式运行期AOP解决方案
Real - time non-invasive AOP framework container based on JVM

2014年GREYS第一版正式发布,一路看着他从无到有,并不断优化强大,感慨羡慕之余,也在想GREYS是不是只能做问题定位。
2015年开始根据GREYS的底层代码完成了人生的第一个字节码增强工具——动态日志。之后又萌生了将其拆解成录制回放故障模拟等工具的想法。扪心自问,我是想以一人一个团队的力量建立大而全的工具平台,还是做一个底层中台,让每一位技术人员都可以在它的基础上快速的实现业务功能。我选择了后者。

相关文档

项目简介

JVM-SANDBOX的核心功能是什么?

实时无侵入AOP框架

在常见的AOP框架实现方案中,有静态编织和动态编织两种。

  1. 静态编织
    静态编织发生在字节码生成时根据一定框架的规则提前将AOP字节码插入到目标类和方法中,实现AOP;

  2. 动态编织
    动态编织则允许在JVM运行过程中完成指定方法的AOP字节码增强.常见的动态编织方案大多采用重命名原有方法,再新建一个同签名的方法来做代理的工作模式来完成AOP的功能(常见的实现方案如CgLib),但这种方式存在一些应用边界:

    • 侵入性
      对被代理的目标类需要进行侵入式改造。比如:在Spring中必须是托管于Spring容器中的Bean

    • 固化性
      目标代理方法在启动之后即固化,无法重新对一个已有方法进行AOP增强

热部署特性