本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- zysnba
- xiangjie88
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- tanling8334
- arpenker
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- mengjichen
- lemonhandsome
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- siemens800
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
最新文章列表
使用JDK自带的工具jstack找出造成运行程序死锁的原因
Java多线程编程也是Java面试中经常考察的内容。刚接触Java多线程编程的朋友们,可能会不慎写出一些会导致死锁(deadlock)的应用出来。如何分析造成Java多线程的原因呢?很多时候我们在怀疑造成死锁的语句设置断点,单步调试,反而又不能重现了。这种现象很正常,因为咱们单步调试和直接运行程序,代码执行的时序是不同的,很可能无法满足死锁的触发条件。
实际上,JDK已 ...
mysql一次Waiting for table metadata lock问题解决
最近在测试环境的mysql执行一个alter table 语句时一直处于阻塞状态,通过 show processlist 查看线程一直处于Waiting for table metadata lock,排查了所有线程没发现有其他线程获取到锁,一直疑惑到底是什么线程持有了锁没释放,
在网上查询得知MySQL在进行一些alter table等DDL操作时,如果该表上有未提交的事务则会出现 Waitin ...
oracle存储过程编译卡死(资源dll锁)
今天频繁编译一个存储过程时突然编译不过去,开始是一直不报错,每次编译都是卡主不动,然后PLSQL DEVELOPER会卡死,焦急的等待+重启电脑、重启plsql均无效。排除了网络问题后,想到是程序在执行无法编译亦或是dll锁了程序。百度一番,解决步骤如下:
多次编译不过去,终于报错了 ora-04021
ORA-04021: timeout occurre ...
不恰当的update语句使用主键和索引导致mysql死锁
背景知识:
截至目前,MySQL一共向用户提供了包括DBD、HEAP、ISAM、MERGE、MyIAS、InnoDB以及Gemeni这7种Mysql表类型。其中DBD、InnoDB属于事务安全类表,而其他属于事务非安全类表。
DBD Berkeley DB(DBD)表是支持事务处理的表,由Sleepycat软件公司开发。它提供MySQL用户期待已久的功能--事务控制。事务控制在 ...
Quartz 1.8.0版本的死锁问题
先说问题的结论:https://jira.terracotta.org/jira/browse/QTZ-45
问题的解决方法:https://issues.jboss.org/browse/JBAS-8598 其实就是升级到1.8.3 就解决了
问题的源头:
...
项目中死锁问题简单记录
并发死锁问题
项目上线后发现死锁问题,数据量级并不大,现将分析过程和解决方案整理一下,以作记录
场景:申购,赎回两个接口并发做下单操作
描述:并发下单操作时,频繁的更新同一张表同一条记录,导致死锁现象发生
问题分析:由于是并发操作下才会出现死锁,考虑到有可能是两个接口当中的业务更新sql有交叉的可能,导致了互相竞争锁资源引起死锁问题
解决方案;分析两个业务的所有sql及执行顺序,找出交叉的业务(sq ...
一次mysql死锁的排查过程
一次mysql死锁的排查过程
一、背景
17号晚上要吃饭了,看旁边的妹子和佐哥还在调代码,就问了下什么问题啊,还在弄,妹子说,在测试环境测试给用户并发发送卡券时,出现了死锁,但看代码没有死锁,问题如下图
看日志确实发生了死锁,按照死锁产生的原因:一般死锁是两把锁两个人争抢,每个人都获得其中一把,谁都不让谁,等待对方释放锁,死循环导致的,图示如下
不过这次说看代码没有问题 ...
总结线上遇到的MySQL死锁问题
线上遇到了MySQL死锁的相关问题,需要查看MySQL出现的Deadlock日志,可以通过执行:
show engine innodb status
来查看innodb类型数据库的状态,查找laster detected deadlock部分,可以看到最近造成死锁的两条sql
------------------------
LATEST ...