【问题标题】:AspectJ load-time weaving in production systems生产系统中的 AspectJ 加载时编织
【发布时间】:2009-05-18 03:59:48
【问题描述】:

有没有人有在生产系统中使用纯 AspectJ 加载时间编织的经验(主要是有趣的 Tomcat 相关活动)?我有点担心内存占用和 CPU 开销。

【问题讨论】:

标签: java performance tomcat aop aspectj


【解决方案1】:

我不认为它会对其他与 AOP 相关的库(如 cglib)产生显着不同的影响,我们在生产系统中大量使用这些库在 Spring 中生成 AOP 代理。性能很好,但是 permgen 池中的内存占用增加了(由于生成了大量的合成类),如果不仔细管理可能会出现问题。

【讨论】:

  • 我为 AspectJ 买的两分钱。带有 LTW 选项的 1.6.4 版最初为我的 tomcat 应用程序占用了大约 60-80Mbs 的 RAM。在 1.6.5 版本中,选项“typeDemotion”用于减少内存占用。详情在这里 - andrewclement.blogspot.com/2009/04/…
【解决方案2】:

我鼓励你为 aspectj 做编译时编织。您可以在您的构建中使用 ant 或 maven 以及在 Eclipse 中使用 AJDT 插件进行开发。

加载时间编织在 tomcat 中工作。我有一个生产系统运行了几个月,但切换到编译时编织使配置和维护变得更加容易。

【讨论】:

  • 我能问你为什么决定改用编译时编织吗?内存占用/CPU 性能有什么问题吗?
  • 正如 skaffman 所说,内存占用量增加了一点,但我们没有遇到任何 CPU 使用问题
猜你喜欢
  • 2011-07-27
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-04
相关资源
最近更新 更多