- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试检测神秘的 System.gc() 来自何处,所以我希望在所有对 System.gc() 的调用上创建切入点
该文档描述了如何编织现有的 jar 和现有的目录,但是我如何编织 JDK 本身?
非常感谢
最佳答案
您可以预先编写rt.jar
并将其替换到您的JDK/JRE中。请注意,加载时编织将不起作用,因为 Javaagent 无法访问引导类加载器。
但是,快速搜索发现整个 JDK (Sun 1.6.0_26) 中只有一处显式调用 System.gc()
:
java.nio.Bits#reserveMemory
也许您可以简单地附加一个调试器并在 gc()
方法上放置一个断点?
话虽这么说,您可以使用 call()
建议,而不是 execution()
,后者将编织调用客户端代码而不是目标方法。因此,您只需编写代码和所有库,而不需要编写 JDK。
关于maven - spectj-maven-编译器插件 : how to weave JRE System. *?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7625122/
我试图让aspectj拦截带注释的方法: @Aspect public class InterceptMeAspect { @Around("execution(* *(..))
我有一个库,里面有一些类和一些方面。假设 AspectedLib.jar 是包含此类定义的文件(在 eclipse 中创建,使用“支持aspectj 支持的导出 jar 文件”)。如果我导入 Aspe
我有以下类(class): package Test; public class A { private B b = new B() { @Override
我对 Java 的 AspectJ 注释很陌生,我想知道是否可以在跨线程调用上放置切入点。 这是代码: public class App { public static void main(
我想拦截所有使用特定注释对类进行注释的构造函数调用。 我有一个这样的方面: @Aspect public class ConstructorClassLevelAspect { @Before(
我在让各个方面正常工作时遇到一些问题。由于某种原因,它们似乎只有在我真正了解该方面的应用位置时才起作用。在四个切入点/建议中,只有最后一个匹配并输出任何内容。我在这里缺少什么? public aspe
我有以下内容 @Pointcut("execution(* com.foo..*.*(..))") public void logExecTimeAllMethods() { } //intercep
是否可以仅使用aspectj-maven-plugin来编译具有软化异常(例如:declare soft:Exception:execution(* *.*());)方面的项目?我无法处理它.....
我试图建议大型第三方应用程序使用以下切入点/建议来拦截所有字段访问: before(Object target): get(* *) && target(target) && !within(aspe
我创建了一个JMenuItem,它采用匿名内部类AbstractAction: JMenuItem menuItem = new JMenuItem(new AbstractAction("Item"
我正在尝试检测神秘的 System.gc() 来自何处,所以我希望在所有对 System.gc() 的调用上创建切入点 该文档描述了如何编织现有的 jar 和现有的目录,但是我如何编织 JDK 本身?
带有 Kotlin 和 Gradle 3.0 的 Spring Boot 1.4.2。当我们尝试将 @Transactional 添加到 Controller 方法时,生成的 jar 无法启动并出现错
我是一名优秀的程序员,十分优秀!