java – 为什么使用Simple Least最近使用的缓存机制?
发布时间:2020-12-15 01:33:40 所属栏目:大数据 来源:网络整理
导读:我使用JProfiler检查Java微服务,同时用JMeter模拟并发用户. 使用JProfiler,我可以看到: 导航到方法find(),我意识到该方法有synchronized关键字 在我看来,这种方法导致线程被阻塞的问题.但为什么要使用它?我可以从微服务中禁用这个缓存机制吗?微服务是用Ja
我使用JProfiler检查Java微服务,同时用JMeter模拟并发用户. 导航到方法find(),我意识到该方法有synchronized关键字 在我看来,这种方法导致线程被阻塞的问题.但为什么要使用它?我可以从微服务中禁用这个缓存机制吗?微服务是用Java编写的,它使用Spring,Spring Boot. 谢谢 我从Monitor History的相同JProfiler快照中添加了屏幕截图,以显示ResolvedTypeCache类所花费的时间.有时候时间较少但有时却很大. 最佳答案
你的结论对我来说似乎是非常错误的,特别是当你暗示这是坏的或者有潜在的死锁时.
在该类中存在同步方法的事实并不表示死锁.事实上,有多个线程在单个锁上等待 – 毕竟这是同步的.另外看那些时候,那些看起来像微秒,并且线程留在那里的最多是4000,这是大约4ms – 不是那么多. 由于这是一个内部库,因此没有太多可以做的,可能建议他们实现一个ConcurrentHashMap,它将提高性能或更好地自己制作一个补丁. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |