一分钟系列:JDK一些常用的命令

一分钟系列: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)

从上面输出的信息可以得到以下信息:

  1. jdk版本是1.8也就是平常所说的java8。目前版本已经到了java11。
  2. 并且运行时环境是SE(相应的还有ME,EE)。
  3. 接下来表示使用的是64位的hotspot虚拟机,并且在server模式(server模式相比client模式是针对生产环境优化,运行速度快,但是启动速度慢),
  4. 最后表示对代码优化使用的是解释器与编译器的混合模式(相应的还有只有解释器的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表示输出到此文件。

发布了121 篇原创文章 · 获赞 56 · 访问量 167万+

猜你喜欢

转载自blog.csdn.net/u013565163/article/details/87310957