文章目录
一分钟系列:JDK一些常用的命令
对程序员来说命令行的效率很多时候比图形界面高很多,所以学会了解命令行的使用能极大的提高我们的效率。
本文希望能够帮助读者了解java中的一些命令。
java -version
查看jdk版本信息。
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
从上面输出的信息可以得到以下信息:
- jdk版本是1.8也就是平常所说的java8。目前版本已经到了java11。
- 并且运行时环境是SE(相应的还有ME,EE)。
- 接下来表示使用的是64位的hotspot虚拟机,并且在server模式(server模式相比client模式是针对生产环境优化,运行速度快,但是启动速度慢),
- 最后表示对代码优化使用的是解释器与编译器的混合模式(相应的还有只有解释器的interpreted mode 以及只有编译器的compild mode)。
javac xxx.java
执行javac(java compile)是.java文件转变为.class文件的过程。也就是java源码到虚拟机可执行的字节码的过程。正是有这个过程才保证了 Write once, Run Anywhere。
java -jar xxxx.jar
执行打包成jar后缀的class文件集合。
目前业界流行的springboot最常用的用法就是最终打包一个jar的格式来执行。
jps
jps(JVM process status tool)查看本台服务器所运行的java项目的进程号。
jstat -gc pid
输出一次虚拟机的新生代,老年代内存情况,以及YGC以及FullGC的情况。
jstat -gc pid 1s 10
间隔1秒输出10次堆信息
jmap -histo:live pid
堆转储快照,显示堆中对象统计信息,执行此命令会触发一次FullGC
jstack pid >xxx
生成虚拟机当前的线程快照(线程快照:线程正在执行的方法堆栈)。xxx表示输出到此文件。