原文 http://www.javaranger.com/archives/367

java -verbose[:class|gc|jni] 在输出设备上显示虚拟机运行信息。

java -verbose:class

在程序运行的时候有多少类被加载!你可以用verbose:class来监视,在命令行输入java -verbose:class XXX  (XXX为程序名)你会在控制台看到加载的类的情况。
verbose和verbose:class含义相同,输出虚拟机装入的类的信息,显示的信息格式如下: 
[Opened D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.Object from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.io.Serializable from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.Comparable from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.CharSequence from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.String from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.reflect.Type from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.Class from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.Cloneable from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.ClassLoader from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.System from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
[Loaded java.lang.Throwable from D:\Java\jdk1.6.0_25\jre\lib\rt.jar]
当虚拟机报告类找不到或类冲突时可用此参数来诊断来查看虚拟机从装入类的情况。

java –verbose:gc

在虚拟机发生内存回收时在输出设备显示信息,格式如下: [Full GC 256K->160K(124096K), 0.0042708 secs] 该参数用来监视虚拟机内存回收的情况。
public class JvmVerbose {
/**
* JVM -verbose[:class|gc|jni] 参数测试
* @param args
*/
public static void main(String[] args) {
JvmVerbose jvmVerbose = new JvmVerbose();
System.gc();
}
}
在这个例子中,一个新的对象被创建,由于它没有使用,所以该对象迅速地变为可达,程序编译后,执行命令: java -verbose:gc JvmVerbose 后结果为:
[GC 647K->256K(124096K), 0.0274253 secs]
[Full GC 256K->160K(124096K), 0.0042708 secs]
箭头前后的数据256K和160K分别表示垃圾收集GC前后所有存活对象使用的内存容量,说明有256K-160K=96K的对象容量被回收,括号内的数据124096K为堆内存的总容量,收集所需要的时间是0.0042708秒(这个时间在每次执行的时候会有所不同)。

java –verbose:jni

-verbose:jni输出native方法调用的相关情况,一般用于诊断jni调用错误信息。
在虚拟机调用native方法时输出设备显示信息,格式如下: [Dynamic-linking native method java.lang.Object.registerNatives ... JNI] 该参数用来监视虚拟机调用本地方法的情况,在发生jni错误时可为诊断提供便利。

JVM -verbose参数详解(转)的更多相关文章

  1. JVM的参数详解(转)

    12年毕业到先在处理第一年外这几年纯属于打酱油,当初自学Java然后就出来找工作了,还有第一家面试就通过了挺幸运的 但之后的这段时间一直是处于吃老本的状态.最近心情真的很不好,各种黄老邪!一直处于堕落 ...

  2. JVM的参数详解

    今天就整理下JVM的参数!相对而已JVM有很多参数,但对于一般开发人员执行知道和堆栈大小,GC.远程调试的参数即可. JVM Parameters 首先需要说明的是JVM的参数形式: -X 开头的参数 ...

  3. JVM内存参数详解以及配置调优

    基本概念:PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域He ...

  4. JVM启动参数详解

    JVM启动参数以及具体的解释: -Xmx1024M 最大堆内存 -Xms1024M 初始化堆内存,正常和最大堆内存相同,减少动态改变的内存损耗 -Xmn384M 年轻代内存 -XX:PermSize= ...

  5. JVM配置参数详解

    记录一下jvm中的一些配置参数,这些肯定不全的,希望你们能留个言,补全一下,谢谢啦! -XX: MaxDirectMemorySize--->设置直接内存,不设置与Java堆内存最大值一致 -X ...

  6. JVM启动参数详解 (转)

    非标准参数 非标准参数又称为扩展参数,其列表如下: -Xint  设置jvm以解释模式运行,所有的字节码将被直接执行,而不会编译成本地码.   -Xbatch  关闭后台代码编译,强制在前台编译,编译 ...

  7. JVM配置参数详解(目前不够完善)

    最近看了有关虚拟机的书籍,发现有很多虚拟机配置参数不知道,特来记录一下, -XX: MaxDirectMemorySize--->设置直接内存,不设置与Java堆内存最大值一致 -XX:Perm ...

  8. JVM常用参数详解

     JVM整个堆大小=年轻代大小 + 年老代大小 + 持久代大小,在JDK1.8及之后的版本由于永久代被元空间替代,所以jdk1.8中的堆=年轻代大小 + 年老代大小.本文使用的是JDK1.8  1.堆 ...

  9. iptables参数详解

    iptables参数详解 搬运工:尹正杰 注:此片文章来源于linux社区. Iptalbes 是用来设置.维护和检查Linux内核的IP包过滤规则的. 可以定义不同的表,每个表都包含几个内部的链,也 ...

随机推荐

  1. [P2051 [AHOI2009]中国象棋] DP

    https://www.luogu.org/problemnew/show/P2051 题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一 ...

  2. #366 A-C

    A. Hulk 题意是给你一个n 输出一个英文字符串,找下规律就发现 当(i!=n&&i%2==1) 输出的是 I hate that (注意大写) 当(i!=n&&i ...

  3. deno学习三 官方提供的方便deno 安装方式

    早起deno 使用了golang 开发,同时需要protobuf 进行数据的序列化以及反序列化处理 当前的deno 已经使用rust 进行了开发,同时官方提供的安装方式也很方便了,不需要 那么复杂的编 ...

  4. .Net Core 应用方向 图谱

    .Net Core 应用方向 图谱,  如下图 : 大规模并行计算 是 大数据 和 人工智能 的 基础, 是 未来 大计算能力 的 基础, 网格计算 是 未来 大计算能力 的 一个 分支 . 所以, ...

  5. mongodb之 3.4.0 mongodb sharing 副本集群搭建

    系统系统 centos6.5三台服务器:10.100.25.42/43/44安装包: mongodb-linux-x86_64-rhel62-3.4.0.tgz 服务器规划:mongos mongos ...

  6. 打印N个数的循环算法和递归算法比较

    1.循环算法: void PrintN_1(int N) { int i; ; i <= N; i++) printf("%d\n", i); return; } N可以为任 ...

  7. git add -A /git add -u/git add .的用法

    git的指令详解 在git中有好多的指令,但是今天这几个指令就很容易忘记而且还容易混淆 git add -u <==> git add –update 提交所有被删除和修改的文件到数据暂存 ...

  8. DNS压力测试

    安装 queryperf cd /usr/local/src wget http://ftp.isc.org/isc/bind9/9.12.1/bind-9.12.1.tar.gz 编译querype ...

  9. 安装ES

    ES环境搭建 1.创建用户组2.目录授权3.安装jdk4.vi /etc/sysctl.confvm.map_maxcount=65535vm.swappiness=5 sysctl -p 生效5.修 ...

  10. Python中的数组和list

    Python的X[y==1, 0] 最近研究逻辑回归,Iris花的经典示例,代码就不全粘贴了,具体代码参看“Iris花逻辑回归与实现” plt.plot(X[y==0, 0], X[y==0,1], ...