写点什么

java 面试常被问到的 JDK 命令,你知道几个?,2021 最新 Java 面试笔试

用户头像
极客good
关注
发布于: 刚刚


[](


)JPS


======================================================================



说明:首先通过上图,我们看到使用 jps 或者 jps | grep -v Jps 命令的时候是可以找到当前系统所有 JVM。上面第二条命令是过滤本身的 Jps 程序。可以看到,输入这个命令后,会展示出当前系统所有的 Java 程序,并且会输出进程号 pid(也就是前面的数字)。


我们通过命令 man jps 简单的看下说明,如下:



可以看到 jps 命令有五个参数,每个参数的含义如下,


  • -q: 不输出类名信息和参数,只输出进程号

  • -m:展示输入到 main 方法的参数

  • -l:展示 main class 全路径

  • -v:展示输入 JVM 的参数

  • -V:不输出路径,只输出进程号和 jar


我们依次输入试下,如下图



[](


)Jinfo


========================================================================


通过上一步我们可以获得对应 JVM 的进程号,这为我们后续的操作提供了便利,后续的操作都会使用到进程号。


我们先使用一下命令,在使用前我们先获取进程号,我这里服务器运行的进程号为 2528,然后输入 jinof 2528



通过上图,我们看到当前 JVM 的版本以及其他详细信息,并且可以看到服务器以及环境变量等一系列信息。同样的我们使用 man jinfo 命令看下手册。



该命令主要是用户查看当前虚拟机相关信息,我们就不过多介绍了。


[](


)Jstat


========================================================================


jstat 命令主要是用来监控虚拟机的状态的,可以查看虚拟机 GC 的情况,如下命令 jstat -gcutil 2528 1000 10 表示每 1000 毫秒输出一次进程 2528 的 GC 情况,并且总共输出 10 次。



jstat 的手册比较长,大家感兴趣可以自行去查看下,这里只贴上面一部分给大家看下。



上面执行的 jstat -gcutil 2528 1000 10 如果修改成这个 jstat


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


-gcutil -h3 2528 1000 10,最后的效果会是下图,我们可以看到每三行就增加了一个表头,更多命令大家可以自己试试。



[](


)Jmap


=======================================================================


jmap 命令用于生成 dump 文件,jmap -dump:live,format=b,file=dump.bin 2528 创建 dump 文件如下。



通过 jmap 命令我们可以生成内存快照文件,用于分析程序异常时的内存信息,并且配合 jhat 命令可以更好的使用。

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
java面试常被问到的 JDK 命令,你知道几个?,2021最新Java面试笔试