zoukankan      html  css  js  c++  java
  • Java 死锁检测及避免

    一、死锁是什么

      在多线程环境下,两条或者多条线程相互持有一些资源,由于竞争资源关系,导致线程堵塞,需要其他线程释放资源才能继续运行。这种情况就是死锁。

      比如:ABA问题

     二、检测死锁

      1. jps 工具

        jps(Java virtual machine process status tool)是JDK5提供的显示所有Java进程pid命令。

    ➜  ~ jps
    79154 Launcher
    77783
    79309 Jps

      2. jstack 工具

        jstack是Java虚拟机提供的堆栈跟踪工具,jstack命令生成Java虚拟机当前时刻的线程快照。

        线程快照是Java虚拟机每条线程的方法堆栈集合,目的是检查线程长时间停顿的原因,如:线程死锁、死循环、请求外部资源的长时间等待。

      3. jconsole 工具

        jconsole是JDK5提供的内置Java性能分析工具。

  • 相关阅读:
    Evaluation
    Version
    bzoj4184-shallot
    jQuery 获取并设置 CSS 类
    jQuery 删除元素
    jQuery 添加元素
    jQuery 设置内容和属性
    jQuery
    jQuery Chaining
    CI 框架增加公用函数-如何使用Helper辅助函数
  • 原文地址:https://www.cnblogs.com/naray/p/15493219.html
Copyright © 2011-2022 走看看