logo头像

BUG本天成,妙手偶得之

死锁的四大条件与处理策略

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 比如:两个线程A、B...

CPU占用高如何排查

程序里少不了运算,如果不是环境太恶劣,CPU基本是能支撑应用运行的。但如果发现CPU居高不下,就需要思考是否程序有问题。 当服务器CPU居高不下,可以从下面几个方面入手定位问题。 找到JAVA进程 pid方法一: jps那个jar...

内存泄漏如何排查

JAVA的垃圾回收机制给了程序猿便利,我们可以不需要显式释放资源。但想高枕无忧却是不能,OOM像个隐藏在暗处的幽(hua)灵(nong),威胁着可怜、弱小又漂亮的程序猿。 一般来说,一个健康的程序,它是不应该出现OOM的。内存里的...

JAVA GC 简析

作为一个落魄的JAVA开发,在面试中常被问道:你是什么垃圾?哦不,是你对JAVA的垃圾回收机制有了解吗? 接下来就对GC做一个全方位的总结,希望下次可以自信地回答面试官:我是可以被贵公司回收的那种。 GC的时机首先,根据内存区域不...