Skip to content

Commit d892a32

Browse files
committed
JAVA 知识体系
1 parent 6401b51 commit d892a32

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

MD/Linux.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
### 用一行命令输出正在运行的java进程
2+
jps 用法 参数说明<br>
3+
-q:只输出进程 ID
4+
-m:输出传入 main 方法的参数
5+
-l:输出完全的包名,应用主类名,jar的完全路径名
6+
-v:输出jvm参数
7+
-V:输出通过flag文件传递到JVM中的参数
8+
19
### 查找Cpu过高查找方法
210
#### 第一步,找到占用cpu最高的一个线程
311
方法一:top -p [pid]
@@ -7,4 +15,14 @@
715
方法一:echo "obase=64;n"|bc
816
方法二:printf 0x%x n
917
#### 下一步,执行jstack -l pid| grep spid -A 100 打印后面100行分析问题
10-
或者  Jstack -l PID >> 123.txt输出到文件后(spid等于文件中的nid)然后根据spid搜索定位问题
18+
或者  Jstack -l PID >> 123.txt输出到文件后(spid等于文件中的nid)然后根据spid搜索定位问题
19+
20+
### 用一行命令查看文件的最后五行。
21+
可以使用head(查看前几行)、tail(查看末尾几行)两个命令。
22+
23+
24+
### [top 命令之后有哪些内容,有什么作用。](https://www.cnblogs.com/lxyit/p/8946741.html)
25+
26+
27+
28+

README.md

+2-16
Original file line numberDiff line numberDiff line change
@@ -88,24 +88,10 @@
8888
- Linux系统下你关注过哪些内核参数,说说你知道的。
8989
- [Linux下IO模型有几种,各自的含义是什么。](https://juejin.im/post/5b94e93b5188255c672e901e)
9090
- epoll和poll有什么区别。
91-
- 平时用到哪些Linux命令。
92-
- 用一行命令查看文件的最后五行。
93-
> 可以使用head(查看前几行)、tail(查看末尾几行)两个命令。
94-
- 用一行命令输出正在运行的java进程。
95-
> jps 用法 参数说明<br>
96-
-q:只输出进程 ID
97-
-m:输出传入 main 方法的参数
98-
-l:输出完全的包名,应用主类名,jar的完全路径名
99-
-v:输出jvm参数
100-
-V:输出通过flag文件传递到JVM中的参数
91+
- [平时用到哪些Linux命令。以及如何排查线上问题](https://github.com/randian666/algorithm-study/blob/master/MD/Linux.md)
10192
- 介绍下你理解的操作系统中线程切换过程。
10293
- 进程和线程的区别。
103-
- top 命令之后有哪些内容,有什么作用。
104-
- 线上CPU爆高,请问你如何找到问题所在。
105-
>1、top命令找到cpu占用过高的进程<br>
106-
2、使用top -p 进程号 -H 找到cpu使用最高的线程<br>
107-
3、把线程id转换成16进制线程ID(print "%x/n" 线程id/也可以在线转换)<br>
108-
4、使用 jstack 线程cpu使用最高的PID | grep 16进制线程ID 查出线程执行情况或者使用jstack pid命令查看当前java进程的堆栈状态 在thread dump中每个线程都有一个nid,找到对应的nid(16进制线程ID)即可
94+
10995
### 多线程
11096

11197
- 多线程的几种实现方式,什么是线程安全。

0 commit comments

Comments
 (0)