原文:记一次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