java.lang.instrument与AspectJ

java.lang.instrument与AspectJ,java,aspectj,instrumentation,Java,Aspectj,Instrumentation,对于Java中的插装,为什么Java.lang.instrument比AspectJ更受欢迎,尽管两者的插装工作相同。使用java.lang.instrument有什么特别的优势吗?提前感谢…这是两件完全不同的事情。插装API为JVM运行时提供了一个挂钩,允许Java代理访问JVM的更高级功能。它还为JVM的类加载提供了一个钩子,可以在加载类时通知代理并重新定义其类文件。类似地,可以重新定义/重新传输已加载的类 AspectJ是一个提供关于重新定义现有类的更高级视图的库。它使用切入点和连接点来解

对于Java中的插装,为什么Java.lang.instrument比AspectJ更受欢迎,尽管两者的插装工作相同。使用java.lang.instrument有什么特别的优势吗?提前感谢…

这是两件完全不同的事情。插装API为JVM运行时提供了一个挂钩,允许Java代理访问JVM的更高级功能。它还为JVM的类加载提供了一个钩子,可以在加载类时通知代理并重新定义其类文件。类似地,可以重新定义/重新传输已加载的类


AspectJ是一个提供关于重新定义现有类的更高级视图的库。它使用切入点和连接点来解释类应该如何重新定义。AspectJ的重新定义可以在编译时借助Maven等工具应用,也可以在运行时使用Java agebt和instrumentation API应用类的重新定义。

这是两件完全不同的事情。插装API为JVM运行时提供了一个挂钩,允许Java代理访问JVM的更高级功能。它还为JVM的类加载提供了一个钩子,可以在加载类时通知代理并重新定义其类文件。类似地,可以重新定义/重新传输已加载的类


AspectJ是一个提供关于重新定义现有类的更高级视图的库。它使用切入点和连接点来解释类应该如何重新定义。AspectJ的重新定义可以在编译时借助Maven等工具应用,或者AspectJ可以使用Java agebt和instrumentation API在运行时应用类的重新定义。

与字节码操作的实现一样,最好比较AOP框架。例如AspectJ vs。java.lang.instrument不是AOP框架。

与字节码操作的实现一样,最好比较AOP框架。例如AspectJ vs。java.lang.instrument不是AOP框架。

AspectJ不是内置的?它是EclipseSpectJ的插件库不是内置的?它是Eclipse的插件库不是最好的比较,因为Spring AOP是在AspectJ上构建的。@RafaelWinterhalter这不是绝对正确的。Spring有一些AspectJ支持,但主要的方法是,我的意思是Spring提供了高级代码生成,它构建在诸如AspectJ这样的低级解决方案之上,后者利用了instrumentation API。可以说,Spring在金字塔中更高一级。我非常同意Rafael的评论,当我第一次读到这个答案时,我对这个问题毫无意义。这也不是最好的比较,因为Spring AOP建立在AspectJ上。@RafaelWinterhalter这不是绝对正确的。Spring有一些AspectJ支持,但主要的方法是,我的意思是Spring提供了高级代码生成,它构建在诸如AspectJ这样的低级解决方案之上,后者利用了instrumentation API。可以说,春天是金字塔中更高的一个层次。我非常同意拉斐尔的评论,当我第一次读到这个答案时,我对这个问题毫无意义。