JVM常用命令工具

JVM给我们提供了一些用于监控管理的命令,具体查看JDK的bin目录:

可见工具非常多,我们来一一看看常用的命令。

一、命令

01、javac:将.java文件编译成.class文件

02、java:执行.class文件

03、javah:基于.class文件生成C++ .h头文件,主要用于jni调用时使用,如下:

/* DO NOT EDIT THIS FILE - it is machine generated */

#include<jni.h>

/* Header for class Test */

#ifndef_Included_Test

#define_Included_Test

#ifdef__cplusplus

extern"C"{

#endif

#ifdef__cplusplus

}

#endif

#endif

04、javap:反编译,可以将编译后的.class文件,反编译成java类,输出出来,如下:

03、jps:查看当前运行的java进程,可以查看到线程的ID、入口类、启动参数等

04、jstat:查看指定虚拟机进程的各种运行状态信息,包含:类装载、垃圾收集、运行期编译状况等信息

05、jinfo:可以实时查看虚拟机的各项参数,比如:System.getProperties()的参数,并且可以修改其值

06、jmap:生成堆内存的dump日志

生成到文件:

07、jstack:查看指定虚拟机各个线程的运行状态

08、jhat:针对dump文件,暴露一个http服务,供外部可以查看分析

另外,还可以通过OQL语言查询指定对象的内容

二、其他工具

1、jconsole

2、jvisualvm:实现对内存、线程、CPU的可视化查看;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 服务异常的处理流程 查看服务的资源消耗 查看机器 cpu 的负载 top -b -n 1 |grep java|a...
    hugoren阅读 3,211评论 1 1
  • native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)...
    时待吾阅读 3,685评论 0 2
  • native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)...
    时待吾阅读 4,827评论 0 1
  • 什么是JNI? JNI Java Native Interface java本地接口 JNI 能够解决什么问题? ...
    安仔夏天勤奋阅读 9,078评论 0 3
  • 一、NDK产生的背景 Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于J...
    Ten_Minutes阅读 8,917评论 1 27