当前位置: 首页 > 面试题库 >

使用aop的性能影响

李弘光
2023-03-14
问题内容

我们已经开始将spring aop用于我们应用程序的各个方面(当前的安全性和缓存)。

我的经理虽然十分了解这种技术的好处,但仍担心该技术对性能的影响。

我的问题是,你是否遇到了使用aop(特别是spring aop)引入的性能问题?


问题答案:

只要你能够控制自己的AOP,我就认为它是有效的。无论如何,我们确实确实存在html" target="_blank">性能问题,所以通过我们自己的推理,我们无法完全控制;)这主要是因为重要的是,编写方面的任何人都必须全面了解系统中的所有其他方面以及它们之间的相互关系。如果你开始做“聪明”的事情,你可能会变得轻率。在一个只有很多人只看到系统很小部分的大型项目中做聪明的事情,对性能而言是非常危险的。此建议也可能在没有AOP的情况下也适用,但是AOP可以让你以一些真正优雅的方式在自己的脚上射击。

Spring还使用了进行代理范围,manipluations和多数民众赞成在那里很容易得到不期望的性能损失的区域。

但是,只要你有控制权,AOP唯一真正的痛点就是调试的影响。



 类似资料:
  • 问题内容: 我正在开发一个应用程序,一种设计方法涉及大量使用操作员。虽然我知道OO设计通常会尝试避免使用,但这是另一回事了,这个问题与性能完全相关。我想知道是否会对性能产生影响?是一样快吗? 例如,我有一个包含10个子类的基类。在采用基类的单个函数中,我检查该类是否是子类的实例并执行一些例程。 我想解决的另一种方法是改用“类型ID”整数基元,并使用位掩码表示子类的类别,然后将子类“类型ID”与位掩

  • 问题内容: 这 比这慢 但是呢? 我的测试表明第二个和第三个示例完全相同。如果是这样,我的问题是,为什么要使用“ =”? 问题答案: 使用绑定变量时,有一个明显的区别,绑定变量应该在Oracle中用于数据仓库或其他批量数据操作以外的其他任何操作。 以下列情况为例: Oracle在执行之前不知道:b1的值为’%some_value%’或’some_value’等,因此它将根据启发式方法估计结果的基数

  • 我试图在Spring framework 4.1.6和 AOP方法有clean、jdk动态代理和aspectJ。 我给他们提了一到五个简单的建议,并检查了每个建议的运行时间。 结果: jdk动态代理: null aspect1:2.499秒。 aspect2:2.574 方面3:2.466 方面4:2.436 方面5:2.563 aspectJ(ctw): null 方面1:2.648 方面2:2

  • 问题内容: 我想使用BigDecimal来表示任意精度的数字,例如在每秒处理数千个订单和执行报告的低延迟交易应用程序中的价格和金额。 我不会对它们进行很多数学运算,因此问题不关乎BigDecimal本身的性能,而是关乎BigDecimal对象的数量会影响应用程序的性能。 我担心的是,大量短暂的BigDecimal对象会给GC造成压力,并导致CMS收集器中更大的Stop-The-World停顿-这绝

  • 本文向大家介绍使用匿名函数会影响性能吗?,包括了使用匿名函数会影响性能吗?的使用技巧和注意事项,需要的朋友参考一下 从某种意义上说,使用匿名函数会影响性能,您需要在每次迭代时创建一个新的函数对象。匿名函数始终使用变量名加载。顾名思义,匿名允许创建没有任何名称标识符的函数。它可以用作其他函数的参数。使用变量名调用它们- 示例 这就是可以使用JavaScript匿名函数的方式- 这是一个例子-

  • 问题内容: 我有一个用户表,其中有一个用户名和应用程序列。用户名可以重复,但是用户名+应用程序的组合是唯一的,但是我没有在表上设置唯一约束(出于性能考虑) 问题:两者之间是否有任何区别(在性能方面): 和 - 由于用户名+应用程序的组合是唯一的,因此两个查询将始终返回不超过一条记录,因此TOP 1不会影响结果。我一直以为添加TOP 1会真正加快速度,因为sql server会停止寻找匹配的内容,但