如何用Jstack把java进程中的堆栈信息输出到 1.2 Thread Dump特点1.能在各种操作系统下使用2.能在各种Java应用服务器下使用3.可以在生产环境下使用而不影响系统的性能4.可以将问题直接定位到应用程序的代码行上1.3 Thread Dump 能诊断的问题1.查找内存泄露,常见的是程序里load大量的数据到缓存;2.发现死锁线程;1.4如何抓取Thread Dump一般当服务器挂起,崩溃或者性能底下时,就需要抓取服务器的线程堆栈(Thread Dump)用于后续的分析.在实际运行中,往往一次 dump的信息,还不足以确认问题。为了反映线程状态的动态变化,需要接连多次做threaddump,每次间隔10-20s,建议至少产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。有很多方式可用于获取ThreadDump,下面列出一部分获取方式:操作系统命令获取ThreadDump:Windows:1.转向服务器的标准输出窗口并按下Control+Break组合键,之后需要将线程堆栈复制到文件中;UNIX/Linux:首先查找到服务器的进程号(process id),然后获取线程堆栈.1.ps –ef|grep java2.kill-3注意:一定要谨慎,一步不慎就可能让服务器进程被杀死。kill-9 命令会杀死进程。
java 如何停止一个死循环? 明显你的frame.show()就不应该放在actionPerformed里面,窗口只要显示一次就可以了。另外,我怀疑你是否设置,关闭窗口的动作是退出程序。你用的Frame,建议用JFrame,对Frame进行拓展的了,Frame的很多方法过时了。看看下面这个简化的例子:import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Random;import javax.swing.JFrame;import javax.swing.Timer;public class test {static int n=0;static Random rd=new Random();public static void main(String[]args){final JFrame frm=new JFrame();frm.setSize(300,400);关闭窗口时动作 为 退出frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);设置标题 通过变量 n 测试是否成功刷新frm.setTitle(\"标题-\"+n+);显示窗口frm.setVisible(true);Timer t=new Timer(1000,new ActionListener(){Overridepublic void actionPerformed(ActionEvent e){frm.setTitle(\"标题-\"+n+);窗口大小也改变 随机frm.setSize(rd.nextInt(500),rd.nextInt(600));}});t.start();开始 刷新}}
linux系统里面的java进程是干什么用的,可以杀掉吗? java 11843 weblogic mem REG 253,1 33858 3719457/app/weblogic/Oracle/Middleware/modules/com.oracle.vmm.client_1.1.0.0.jar java 11843 weblogic mem REG 253,1 。