1. 程式人生 > >JAVA中 Thread Dump 的方法

JAVA中 Thread Dump 的方法

Thread Dump用來診斷Java應用的問題,可以用來查詢記憶體洩露,發現死鎖執行緒等等。通過它可以得到執行緒,執行緒執行狀態、標識、呼叫的堆疊,堆疊包含完整的類名,所執行的方法,以及原始碼所在的行數等等資訊

使用方法:

Windows平臺:
使用組合鍵 Ctrl + Break。

例如,控制檯執行 tomcat, 即在cmd 命令列下面執行tomcat的 bin 目錄下面的 startup.bat 批處理檔案啟動tomcat。
然後,在該控制檯視窗按組合鍵 Ctrl + Break,即可打印出當前的Thread Dump

Linux、Unix平臺:
使用命令 kill –3 pid

例如,控制檯運行了 tomcat, 使用 ps -aux |grep tomcat 得到 tomcat 程式執行的pid,例如得到是 1677, 則在控制檯執行 kill –3 1677,即可打印出當前的Thread Dump

tomcat 輸出在/logs/catalina.out檔案中


使用java自帶命令jstack:

jstack <pid>

相關推薦

JAVA Thread Dump方法

Thread Dump用來診斷Java應用的問題,可以用來查詢記憶體洩露,發現死鎖執行緒等等。通過它可以得到執行緒,執行緒執行狀態、標識、呼叫的堆疊,堆疊包含完整的類名,所執行的方法,以及原始碼所在的行數等等資訊 使用方法: Windows平臺: 使用組合鍵 Ctrl + Break。 例如,控制檯執行 t

Java Thread的sleep、join方法解析

開始 system sleep main gen 解析 等待時間 calling trace 1.Thread中sleep方法作用是使當前線程等待,其他線程開始執行,如果有線程鎖,sleep不會讓出鎖 沒有加鎖代碼如下: public class Synchronized

javaThread類run()方法和start()方法的區別

run方法:不啟動新執行緒 public void run() { if (target != null) { target.run(); } } start()方法:啟動一個執行緒 public synchronized void start()

JavaThread類不常用的一些方法

1.Thread.dumpStack()     該方法打印出當前執行緒棧的一些基本資訊,比如下面的一些資訊     java.lang.Exception: Stack trace     at java.lang.Thread.dumpStack(Thread.java

JAVA重寫equals()方法的同時要重寫hashcode()方法

內存地址 his mov bool args 變量 維護 log obj object對象中的 public boolean equals(Object obj),對於任何非空引用值 x 和 y,當且僅當 x 和 y 引用同一個對象時,此方法才返回 true;註意:當此方法

淺談Java的hashCode方法

implement state ask get() 存在 rsa key 沖突 如何 哈希表這個數據結構想必大多數人都不陌生,而且在很多地方都會利用到hash表來提高查找效率。在Java的Object類中有一個方法: public native int hashCode(

Java的main()方法詳解

普通 什麽 javac 無限 reflect ase 理解 jvm cep 在Java中,main()方法是Java應用程序的入口方法,也就是說,程序在運行的時候,第一個執行的方法就是main()方法,這個方法和其他的方法有很大的不同,比如方法的名字必須是main,方法必須

java的equals方法

equal zjoi csb wow kvc gfw 因此 sas hid 一、equals方法介紹 1.1.通過下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4

Java學習筆記十六:Java的構造方法

IT one public pac 不但 添加 tel spa png Java中的構造方法 1.使用new+構造方法 創建一個新的對象; 2.構造方法是定義在Java類中的一個用來初始化對象的方法; 3.構造方法與類同名且沒有返回值; 4.語法格式;   public

java的構造方法,this、super的用法

重寫 需要 註意事項 進行 private class print 沒有 系統 1、構造方法 定義:與類同名沒有返回值的方法稱為構造方法; public class test1 {private String name;private int age;public test

原碼,反碼,補碼,及Java數字表示方法

進行 負數 java ava 一位 進制 數字 反碼 二進制 原碼:原碼是符號位加上真值的絕對值, 即用第一位表示符號, 其余位表示值. 如:如果是八位二進制1即用00000001表示,-1即用10000001表示。 反碼:正數的反碼就是其本身,負數的反碼是在其原碼的基礎上

java 多執行緒學習(JavaThread 和 Runnable的區別)

今天剛學習java多執行緒 在網上查了幾篇博文學習,個人覺得寫的不錯,但是有的地方有個疑問:Java中Thread 和 Runnable的區別。 然後,在網上查詢相關資料,發現幾乎都是一樣的。 下面貼出相關的程式碼: 如果一個類繼承Thread,則不適合資源共享。但是如果實現了

Java字串比較方法equals()和equalsIgnoreCase()的區別

1. equals() equals( )是比較兩個字串是否相等,它的一般表示式如下: /** * Compares this string to the specified object. The result is {@code * true} if and o

javaSynchronized的方法介紹

Java中Synchronized的用法 synchronized是Java中的關鍵字,是一種同步鎖。它修飾的物件有以下幾種: 1. 修飾一個程式碼塊,被修飾的程式碼塊稱為同步語句塊,其作用的範圍是大括號{}括起來的程式碼,作用的物件是呼叫這個程式碼塊的物件; 2. 修飾一個方法,被修

Java的substring方法

1. 在處理字串的過程中有很多情況下會遇到需要擷取字串的情況,這個時候使用Java中提供的substring方法來擷取就非常方便了 2. 其中比較經常使用到的方法有兩個: ①public String substring(int beginIndex) 這個方法擷取的字串是從索

Java的clone()方法有什麼作用

Java在處理基本資料型別(例如int、char、double等)時,都是採用值傳遞(傳遞的是輸入引數的副本)的方式執行,除此之外的其它型別(物件啊,String型別等)都是按引用傳遞(傳遞的是物件的一個引用)的方式執行。物件除了在函式呼叫時是引用傳遞,在使用“=”也是採用引用傳遞 cl

Java的getClass()方法

Java中的getClass()方法 2018年03月09日 10:40:16 LittleLawson 閱讀數:862 版權宣告:如若轉載,請聯絡作者。 https://blog.csdn.net/liu16659/article/details/79494201

javafinal修飾方法傳入引數的含義

final型別修飾的引數分為兩種型別 基本型別 與引用型別  引數加final 1、斯坦福教授說的好,方法可以比喻成一臺機器(麵包機),沒錯,在我的機器(方法)裡面,我要的引數加了final(要原料),你給我傳過來的引數,機器裡面就無法改了,也就是說在機器裡的這個引數,一直指向的都

java重寫equals方法為什麼要重寫hashcode方法

參考博文:https://www.cnblogs.com/dolphin0520/p/3681042.html hashcode方法作用 hashcode方法是Object類的本地方法,public native int hashcode(); Java中hashcode方法主要用於雜湊

java的構造方法

初始化 靜態聯編 color 出口 參數類型 out 默認 args -s 構造方法就是與類同名的那個方法,它的作用是可以用來初始化 class Person{public Person(String n,int a){ //構造方法 name = n; age = a