工作中经常使用IDE开发很久没有使用JDK自带的命令进行操作,都快忘记常用命令,记录一下作为备忘录
1. java -version
通过该命令可以看到四点
- JDK的版本 64bit-JDK8
- Java虚拟机类型为HotSpot
- 虚拟机的运行在Server 模式,对应的还有Client
- 使用的是编译和解释执行的混合模式(mixed mode)
2.javac 和java
javac命令:用于编译.java文件生成.class文件
java命令:用于执行.class文件
文本编辑器编写最简单的Hello类
备注:通常我们可能写的Java类可能依赖JDK以外部jar包,这个时候我们编译和运行的时候需要携带其他参数,源代码如下。
package com.test.demo;
import org.apache.commons.lang.StringUtils;
public class HelloWorld2 {
public static void main(String[] args) {
System.out.println(StringUtils.equals("hello","hello"));
}
}
执行以下命令:
javac -Djava.ext.dirs=/Users/tanpengwei/Documents/项目/study/src/lib -encoding utf-8 -d /Users/tanpengwei/Documents/项目/study/out/production/study /Users/tanpengwei/Documents/项目/study/src/com/test/demo/HelloWorld2.java
参数说明
• -Djava.ext.dirs :Java类所依赖的外部jar包的文件夹
• - encoding :编码方式
• -d :编译后的class文件存储路径
执行以下命令进行运行:
java -Djava.ext.dirs=/Users/tanpengwei/Documents/项目/study/src/lib -classpath /Users/tanpengwei/Documents/项目/study/out/production/study com.test.demo.HelloWorld2
参数说明:
• -Djava.ext.dirs :Java类所依赖的外部jar包的文件夹
• -classpath:class编译后的文件不再当前目录使用其指定class文件目录
运行结果如下图:
4.jps
jps (JVM Process Status)命令用于列出当前运行虚拟系的进程和加载的主类
参数 -l:输出主类的全名
参数 -v:输出进程启动时JVM的参数
5.Jinfo
jinfo命令:用于事实查看虚拟机的参数
jinfo pid(进程号)
6.javap
javap:用于对.class文件进行反汇编,不常用