11:snail : ` Java ` 相关脚本
22====================================
33
4- :beer : [ show-busy-java-threads.sh] ( show-busy-java-threads.sh )
4+ :beer : [ show-busy-java-threads.sh] ( ../ show-busy-java-threads.sh)
55----------------------
66
77在排查` Java ` 的` CPU ` 性能问题时(` top us ` 值过高),要找出` Java ` 进程中消耗` CPU ` 多的线程,并查看它的线程栈,从而找出导致性能问题的方法调用。
@@ -67,7 +67,7 @@ The stack of busy(26.1%) thread(24018/0x5dd2) of java process(23269) of user(adm
6767
6868[ silentforce] ( https://github.com/silentforce ) 改进此脚本,增加对环境变量` JAVA_HOME ` 的判断。
6969
70- :beer : [ show-duplicate-java-classes] ( show-duplicate-java-classes )
70+ :beer : [ show-duplicate-java-classes] ( ../ show-duplicate-java-classes)
7171----------------------
7272
7373找出` java ` 库(即` jar ` 文件)或` class ` 目录中的重复类。
@@ -82,21 +82,32 @@ The stack of busy(26.1%) thread(24018/0x5dd2) of java process(23269) of user(adm
8282# 查找当前目录下所有Jar中的重复类
8383show-duplicate-java-classes
8484
85- # 查找指定目录下所有Jar中的重复类
86- show-duplicate-java-classes path/to/lib/dir
85+ # 查找多个指定目录下所有Jar中的重复类
86+ show-duplicate-java-classes path/to/lib_dir1 /path/to/lib_dir2
8787
88- # 查找多个指定Class目录下的重复类
89- show-duplicate-java-classes path/to/lib/dir1 /path/to/lib/dir2
88+ # 查找多个指定Class目录下的重复类。 Class目录 通过 -c 选项指定
89+ show-duplicate-java-classes -c path/to/class_dir1 -c /path/to/class_dir2
9090
9191# 查找指定Class目录和指定目录下所有Jar中的重复类的jar
92- show-duplicate-java-classes -c path/to/classes/dir1 -c path/to/classes/dir2 path/to/lib/dir1 / path/to/lib/dir2
92+ show-duplicate-java-classes path/to/lib_dir1 / path/to/lib_dir2 -c path/to/class_dir1 -c path/to/class_dir2
9393```
9494
9595### 示例
9696
9797``` bash
9898$ show-duplicate-java-classes WEB-INF/lib
99- $ show-duplicate-java-classes -c WEB-INF/classes WEB-INF/libFound duplicate classes in below class path:
99+ COOL! No duplicate classes found!
100+
101+ ================================================================================
102+ class paths to find:
103+ ================================================================================
104+ 1 : WEB-INF/lib/sourceforge.spring.modules.context-2.5.6.SEC02.jar
105+ 2 : WEB-INF/lib/misc.htmlparser-0.0.0.jar
106+ 3 : WEB-INF/lib/normandy.client-1.0.2.jar
107+ ...
108+
109+ $ show-duplicate-java-classes -c WEB-INF/classes WEB-INF/lib
110+ Found duplicate classes in below class path:
1001111 (293@2): WEB-INF/lib/sourceforge.spring-2.5.6.SEC02.jar WEB-INF/lib/sourceforge.spring.modules.orm-2.5.6.SEC02.jar
1011122 (2@3): WEB-INF/lib/servlet-api-3.0-alpha-1.jar WEB-INF/lib/jsp-api-2.1-rev-1.jar WEB-INF/lib/jstl-api-1.2-rev-1.jar
1021133 (104@2): WEB-INF/lib/commons-io-2.2.jar WEB-INF/lib/jakarta.commons.io-2.0.jar
@@ -126,19 +137,6 @@ Duplicate classes detail info:
126137 ...
127138...
128139
129- ================================================================================
130- class paths to find:
131- ================================================================================
132- 1 : WEB-INF/lib/sourceforge.spring.modules.context-2.5.6.SEC02.jar
133- 2 : WEB-INF/lib/misc.htmlparser-0.0.0.jar
134- 3 : WEB-INF/lib/normandy.client-1.0.2.jar
135- 4 : WEB-INF/lib/xml.xmlgraphics__batik-css-1.7.jar-1.7.jar
136- 5 : WEB-INF/lib/jakarta.ecs-1.4.2.jar
137- ...
138-
139- $ show-duplicate-java-classes WEB-INF/lib
140- COOL! No duplicate classes found!
141-
142140================================================================================
143141class paths to find:
144142================================================================================
@@ -154,7 +152,7 @@ class paths to find:
154152
155153[ tgic] ( https://github.com/tg123 ) 提供此脚本。友情贡献者的链接[ commandlinefu.cn] ( http://commandlinefu.cn/ ) |[ 微博linux命令行精选] ( http://weibo.com/u/2674868673 )
156154
157- :beer : [ find-in-jars.sh] ( find-in-jars.sh )
155+ :beer : [ find-in-jars.sh] ( ../ find-in-jars.sh)
158156----------------------
159157
160158在当前目录下所有` jar ` 文件里,查找类或资源文件。
0 commit comments