Java bin 目录下的小工具使用与学习

结合周志明著的《深入理解Java虚拟机第三版》
JAVA与C++之间有一堵由内存动态分配和垃圾收集技术围成的高墙,墙外面的人想出去,墙里面的人却想出来。

首先需要注意的是:jdk安装好了之后,不是通过双击bin目录下的应用程序来使用的,是设置环境变量
JAVA_HOME=“jdk目录”,再在path环境变量后面追加%JAVA_HOME%\bin; 然后再直接在cmd里面使用相关命令,否则直接使用的的话会发生闪退的情况。
我使用的是JDK 15 采用的垃圾回收器是ZGC

jps:虚拟机进程状况工具

JVM Process Status Tool

选项 作用
-q 只输出LVMID,省略主类名称
-m 输出虚拟机进程启动时传递给主类main()函数的参数
-v 输出虚拟机进程启动时的JVM参数
-l 输出主类的全名,如果进程执行的是jar包,输出jar包的路径

功能虽然比较单一,但是使用的频率是很高的,因为需要根据此来获取LVMID以供其他的工具使用.
使用的格式:在cmd中 jps [optins] [hostid]
实例分析与使用:
我打开了一个java程序,程序处于运行状态:
在这里插入图片描述

然后打开任务管理器:
在这里插入图片描述
可以看到在我的任务管理器中,有两个java程序在运行?分别有自己的PID。接下来我使用jps:
在这里插入图片描述
9384是jar包在执行,8284是我开启的程序。

jstat:虚拟机统计信息监视工具

介绍:jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据,在没有GUI的图形界面,只提供纯文本控制台环境的服务器上,它将是运行期定位虚拟机问题所在的常用工具。
命令格式:jstat [option vmid [interval[s|ms] [count] ] ]
对于本地的虚拟机进程,VMID与LVMID是一致的;如果是远程虚拟机进程,那么,LVMID的格式如下:
[protocol:][//]lvmid[@hostname[:port]/servername]
参数interval和count代表查询间隔和次数,如果省略这两个参数,代表只查询一次。
eg:jstat -gc 2764 250 20
代表没250毫秒查询一次进程2764的垃圾收集状况,一共查询20次。
jstat主要针对检测:垃圾回收 类加载 运行期编译。
jstat工具主要选项:

选项 作用
-class 监视类加载、类卸载、总空间以及类装载所耗费的时间
-gc 监视java堆的情况,包括Eden区,两个Survivor、老年代、永久代等的容量,已用空间、垃圾收集时间合计
-gcutil 与gc内容基本相同,单输出主要关注于已经使用的空间占总空间的百分比
-gacapacity 与-gc内容基本相同,但是主要关注Java堆各个区域使用到的最大最小空间
-gccause 与-gcutil功能一样,但是会输出导致上一次垃圾收集产生的原因
–gcnew 监视新生代垃圾收集情况
-gcnewcapacity 监视内容与-gcnew相同,主要关注使用到的最大最小空间
–gcold 监视新生代垃圾收集情况
-gcoldcapacity 监视内容与-gcnew相同,主要关注使用到的最大最小空间
-complier 输出即时编译器编译过的方法、耗时等信息
-printcompilation 输出已经被编译的方法

随便写创建一个创建对象的程序如下:

package JVM学习样例;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main2 {
   
    static class TestClass{
   
    private byte[] bytes=new byte[64*1024];
}
    public 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值