Adr*_*ian 6 java spring profiling jprofiler spring-boot
我使用JProfiler检查Java微服务,同时用JMeter模拟并发用户.使用JProfiler,我可以看到:
导航到方法find(),我意识到该方法有synchronized关键字

在我看来,这种方法导致线程被阻塞的问题.但为什么要使用它?我可以从微服务中禁用这个缓存机制吗?微服务是用Java编写的,它使用Spring,Spring Boot.
谢谢
我从Monitor History的相同JProfiler快照中添加了屏幕截图,以显示ResolvedTypeCache类所花费的时间.有时候时间较少但有时却很大.

你的结论对我来说似乎非常错误,特别是当你暗示这要么不好,要么存在潜在的僵局时。
该类中存在synchronized方法这一事实并不表示存在死锁。事实上,有多个线程等待单个锁——这synchronized毕竟是事实。还要看看那些时间,那些看起来像微秒,线程最多停留在 4000 个左右4ms——没有那么多。
由于这是一个内部库,因此您无能为力,可能会建议他们实现一个ConcurrentHashMap可以提高性能的库,或者更好地自己制作补丁。
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |