gpt4 book ai didi

java - 在Spring MVC应用程序中不使用AOP记录数千个方法的入口和导出

转载 作者:行者123 更新时间:2023-12-02 11:38:28 28 4
gpt4 key购买 nike

我尝试过Spring AOP + log4j,但由于我的目的是在每个现有方法中记录方法入口+退出时间和一些其他信息,它对性能影响很大,所以我不得不删除AOP代码并寻找替代解决方案。有没有其他方法可以轻松提高性能?我的最后一招是创建一个工具来扫描所有代码并在所有方法中添加日志记录代码,但这最终会导致代码困惑并且变得难以维护。任何意见将不胜感激。

最佳答案

正如 Betlista 所说:如果您想对应用程序中的所有方法调用进行计时并内联代码,您真的认为这会更快吗?你为什么要这么做?如果您想找到瓶颈,只需运行采样分析器即可。

但为了避免 Spring AOP 动态代理带来的不可否认的开销并获得与内联所有语句类似的性能,我建议使用 AspectJ via LTW (load-time weaving) 。如果您通过 AspectJ Maven 插件使用 CTW(编译时编织),您甚至可以在应用程序启动期间摆脱 LTW 性能损失。

不要忘记医生所说的:剂量决定了良药与毒药的区别。因此,即使使用 AspectJ,也只记录/记录您需要的内容以及为您提供所需见解的内容,而不是盲目地执行所有操作。

关于java - 在Spring MVC应用程序中不使用AOP记录数千个方法的入口和导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48748966/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com