如果使用AOP性能会比这更好,因为它是经过良好测试和优化的框架来做这样的操作.无论如何,您可以通过减去开始和结束时间来检查.
您可以使用当前代码和AOP实现的代码来检查性能.这将是非常有趣的工作.做如下所示的设置开始和结束时间和减去.
System.currentTimeMillis()
以上语法,返回当前时间(以毫秒为单位).请注意,虽然返回值的时间单位为毫秒,但该值的粒度取决于底层操作系统,并且可能较大.例如,许多操作系统以几十毫秒为单位测量时间.
有关“计算机时间”和协调世界时间(UTC)之间可能出现的轻微差异的讨论,请参阅课程的说明Date.
有许多AOP Opensource框架可用.
> Spring AOP:AOP与Spring框架.广告. Spring Framework的关键组件之一是面向Aspect的编程(AOP)框架.面向方面的编程需要将程序逻辑分解成不同的部分,称为所谓的问题.
AspectJ:AspectJ是面向Java编程语言的无缝面向扩展,与Java平台兼容,易于学习和使用. AspectJ可实现横切关注的干净模块化,例如:错误检查和处理,同步,上下文相关行为,性能优化,监控和日志记录,调试支持,多对象协议.
> AspectWerkz:AspectWerkz是一个动态,轻量级和高性能的AOP框架的Java. AspectWerkz提供了强大的功能和简单性,可帮助您轻松将AOP集成到新项目和现有项目中. AspectWerkz利用运行时字节码修改来在运行时编写你的类.它挂接并编写除了引导类加载器之外的任何类加载器加载的类.它具有丰富且高度正交的连接点模型.方面,建议和介绍用纯Java编写,您的目标类可以是常规POJO.您可以添加,删除和重新构建建议,以及在运行时交换介绍的实现.您可以使用XML定义文件或使用运行时属性来定义您的方面.
编辑1
Spring还支持AspectJ.我用AspectJ 1.7.2测试它不会显示内存泄漏.您可以通过创建大量的bean,然后在一段时间后进行堆转储,从而在应用程序中复制相同的内容,因为垃圾回收需要一段时间不是即时的.
作为,根据我的测试.性能很好,电话不大.
注意:您应该修改您的问题性能是测量的时间和空间.而且,根据你的评论,看起来你正在询问更多的内存优化或管理的东西.此外,您的问题主题与问题不同.