原文:記一次Java項目死鎖問題的排查思路

為了提升項目的響應速度,為用戶提供更好的體驗,原來的DAO使用的是JdbcTemplate,最近開發了一個有點類似Hibernate的組件,用來支持DAO對象的緩存。在數據插入和數據刪除時,多次使用鎖,有CLH自旋鎖和ReentrantReadWriteLock讀寫鎖。設計的時候就覺得,多線程下邏輯有點復雜,很可能會發生死鎖,開發完成后進行測試,多線程同時進行查詢 插入和刪除操作,在測試程序執行了 ...

2020-11-23 10:37 1 425 推薦指數:

查看詳情

一次 RR 與 RC 死鎖問題排查

記錄一下開發過程中遇到的死鎖問題和解決方案 首先是隔離級別,mysql有四個隔離級別,從寬松到嚴格依次是 讀未提交 Read Uncommitted 讀提交 Read Committed (線上環境使用的隔離級別) 可重復 ...

Sat Dec 04 23:26:00 CST 2021 0 93
一次linux通過jstack定位CPU使用過高問題排查線上死鎖問題

一、java定位進程 在服務器中終端輸入命令:top 可以看到進程ID,為5421的cpu這列100多了。 記下這個數字:5421 二、定位問題進程對應的線程 然后在服務器中終端輸入命令:top -Hp 5421 作用是查看里程內部線程資源占用情況。5421為第二步獲取 ...

Fri Jun 21 18:01:00 CST 2019 0 428
一次 HttpClient 死鎖問題

= "..") 方式執行定時任務 定時任務中並發使用 HttpClient 拉取數據 但是定時任務只會執行一次 ...

Thu Jul 25 06:21:00 CST 2019 0 1544
一次內存溢出問題排查、分析過程及解決思路

謹以此文獻給自學路上的兄弟 起因 這個測試工具的開發已有一段時間了,由於數據量過大,寫入數據較慢,導致工具執行耗時較長,所以再次優化了實現方案,進行二階段的程序開發。 經優化后,200 ...

Mon Sep 21 02:26:00 CST 2020 0 1644
一次排查CPU高的問題

背景 將log4j.xml的日志級別從error調整為info后,進行壓測發現CPU占用很高達到了90%多(之前也就是50%,60%的樣子). 問題排查 排查思路: 看進程中的線程到底執行的是什么,導致CPU占用較高. 1. 使用top命令查看到底是哪個應用 ...

Fri Nov 05 23:34:00 CST 2021 0 435
一次服務器高CPU的排查思路

現象 排查思路 另一台服務器CPU正常,由於消息中心有部分老接口是域名調用的,網關已做負載均衡,並且pinpoint上的兩台服務器gc如圖,初步猜測是否是負載不均衡導致。 經運維調試nginx權重無效,證明與負載均衡無關。那么先看子線程,這種情況 ...

Wed Sep 25 22:46:00 CST 2019 0 673
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM