加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – 为什么使用Simple Least最近使用的缓存机制?

发布时间:2020-12-15 01:33:40 所属栏目:大数据 来源:网络整理
导读:我使用JProfiler检查Java微服务,同时用JMeter模拟并发用户. 使用JProfiler,我可以看到: 导航到方法find(),我意识到该方法有synchronized关键字 在我看来,这种方法导致线程被阻塞的问题.但为什么要使用它?我可以从微服务中禁用这个缓存机制吗?微服务是用Ja

我使用JProfiler检查Java微服务,同时用JMeter模拟并发用户.
使用JProfiler,我可以看到:

导航到方法find(),我意识到该方法有synchronized关键字

在我看来,这种方法导致线程被阻塞的问题.但为什么要使用它?我可以从微服务中禁用这个缓存机制吗?微服务是用Java编写的,它使用Spring,Spring Boot.

谢谢

我从Monitor History的相同JProfiler快照中添加了屏幕截图,以显示ResolvedTypeCache类所花费的时间.有时候时间较少但有时却很大.

最佳答案
你的结论对我来说似乎是非常错误的,特别是当你暗示这是坏的或者有潜在的死锁时.

在该类中存在同步方法的事实并不表示死锁.事实上,有多个线程在单个锁上等待 – 毕竟这是同步的.另外看那些时候,那些看起来像微秒,并且线程留在那里的最多是4000,这是大约4ms – 不是那么多.

由于这是一个内部库,因此没有太多可以做的,可能建议他们实现一个ConcurrentHashMap,它将提高性能或更好地自己制作一个补丁.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读