java-doc-环境与工具

java环境

1
2
3
4
5
6
7
8
9
10
11
12
13
# 下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

# 新建系统变量JAVA_HOME
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_141

# 新建系统变量classpath
classpath
%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

# 配置path
%JAVA_HOME%\bin

jps

全名:Java Virtual Machine Process Status Tool
作用:显示当前系统用户的Java进程情况及其Id号
原理:Java程序在启动以后,默认会在java.io.tmpdir指定的临时文件夹目录下生成一个类似于hsperfdata_前缀的文件夹(后面跟当前系统用户名称)。里面的文件根据Java进程的pid命名,执行jps其实就是列出此文件夹中的文件名而已。

  • 语法
1
jps [-q] [-mlvV] [<hostname>[:<port>]]
参数 描述
无参数 列出所有jvm进程
-q 值显示pid,不显示class名称、jar文件名和传递给main方法的参数
-m 输出传递给main方法的参数
-l 输出程序main class的完整package名或程序的jar文件完整路径名
-v 输出传递给JVM的参数

jinfo

查看java进程的详细信息(java.io.tmpdir等)

  • 语法
1
jinfo -sysprops pid

jmap

能查看jvm内存中,对象占用内存的情况,还提供非常方便的命令将jvm的内存信息导出的文件。

  • 语法
1
2
3
4
jmap -dump:format=b,file=heap.bin <pid>

# format=b是通过二进制的意思,-dump:format=b,file=heap.bin意思是:把内存结构全部dump到二进制文件heap.bin中。
jmap -dump:format=b,file=D:/heap.bin 64184

jhat

用于分析jmap导出的内存信息。分析的内存信息通过浏览器访问 http://localhost:7000/。查看对象的内存信息http://localhost:7000/histo/

  • 语法
1
jhat -J-Xmx512m heap.bin

jconsole

可视化的java查看应用的工具

apktool

用于解包apk和再封包apk

1
2
3
4
5
# 解包 -f 指定apk -o 指定输出目录
java -jar .\apktool.jar d -f .\plane-client-release.apk -o plane

# 重新打包
java -jar .\apktool.jar b ./plane plane2.apk

apksigner

在sdk的built-tool目录

1
java -jar .\apksigner.jar sign --ks .\planeIceFox.jks --ks-pass pass:12345678 --out .\plane-client-release21.apk .\plane-client-release2.apk

https://blog.csdn.net/qq_32115439/article/details/55520012