zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Jvm-sandbox简介

JVM 简介 Sandbox
2023-09-27 14:23:03 时间

场景:
小李:“小明,你的接口没有返回数据,麻烦帮忙看一下?”
小明:“我这边的数据也是从别人的服务器中拿到的,但是我不确定是因为逻辑处理有问题导致没有结果,还是因为我依赖的服务有问题而没有返回结果,我需要确认一下。”
小明:“哎呀,线上没有日志,我需要加一下日志发布一个版本。”
30分钟之后
……
小明:“不好意思,日志加错地方了……稍等……”

一、AOP实现方式

AOP(面向切面编程,AspectOrientedProgramming)技术已被业界广泛应用,其思想是面向业务处理过程的某个步骤或阶段进行编程,这个步骤或阶段被称为切面,其目的是降低业务逻辑各部分之间的耦合,常见的AOP实现基本原理有两种:代理和行为注入。

代理模式(动态编织)

通过创建一个代理对象来代理原对象的行为,代理对象拥有原对象行为执行的控制权,是基于代理对象在原对象行为执行的前后插入代码来实现AOP。

行为注入模式(静态编织)

这种方式不会创建一个新的对象,而是修改原对象,在原对象行为的执行前后注入代码来实现AOP,这种方式是在字节码生成时根据一定的规则提前将AOP字节码插入到目标类和方法中,实现AOP。

上述aop实现方案的局限性:

  • 1、侵入性:需要在目标应用代码中进行改造
  • 2、固化性:目标方法在启动之后即固化,无法