jstack分析线程的技巧

1. 关于jstack的说明

jstack prints Java stack traces of Java threads for a given Java process or core file or a remote debug server.

jstack用于打印一个JAVA进程里面的线程堆栈,是我们排查性能瓶颈时常用的工具。

2. 准备知识

2.1 Java Thread的状态

一般操作系统中线程的生命周期是这样的:

使用tshark在命令行进行网络抓包

使用wireshark的客户端进行抓包,或者tcpdump抓包再用wireshark分析,网上已经有很多资料了,这里就不再赘述了。不熟悉的可以看看网上的资料:http://www.jianshu.com/p/a62ed1bb5b20 或者官方文档user guide:https://www.wireshark.org/docs/wsug_html_chunked/

线上问题排查,有时候时间争分夺秒,或者一些私有云环境完全隔离,根本没法让你导出抓包的文件,这时候需要直接使用命令行进行抓包分析。今天我们就来学习下tshark的使用。PS: tshark基本上可以替代tcpdump,抓包的文......

jenv来管理多个版本的java

1. 安装

我们这里以mac系统为例说明安装和使用。如果Linux安装可以参考jenv官网

brew install jenv

# for bash

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile

echo 'eval "$(jenv init -)"' >> ~/.bash_profile

# for zsh

echo 'export PATH="$HOME/.jenv/bin:$PATH&quo......