jdk内置工具使用

jps

–列出java进程,类似于ps命令

–参数-q可以指定jps只输出进程ID ,不输出类的短名称

–参数-m可以用于输出传递给Java进程(主函数)的参数

–参数-l可以用于输出主函数的完整路径

–参数-v可以显示传递给JVM的参数

jinfo

–可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数

–-flag <name>:打印指定JVM的参数值

–-flag [+|-]<name>:设置指定JVM参数的布尔值

–-flag <name>=<value>:设置指定JVM参数的值

实例:

显示了新生代对象晋升到老年代对象的最大年龄

jinfo -flag MaxTenuringThreshold 2972

-XX:MaxTenuringThreshold=15

显示是否打印GC详细信息

jinfo -flag PrintGCDetails  2972

-XX:-PrintGCDetails

运行时修改参数,控制是否输出GC日志

jinfo -flag PrintGCDetails  2972

-XX:-PrintGCDetails

jinfo -flag +PrintGCDetails  2972

jinfo -flag PrintGCDetails  2972

-XX:+PrintGCDetails

jmap 

–生成Java应用程序的堆快照和对象的统计信息

实例:

–jmap -histo 2972 >c:\s.txt

dump堆

–jmap -dump:format=b,file=c:\heap.hprof 2972

jstack

–打印线程dump

–-l 打印锁信息

–-m 打印java和native的帧信息

–-F 强制dump,当jstack没有响应时使用

实例:

查看栈信息

jstack 120 >>C:\a.txt

JConsole

–图形化监控工具

–可以查看Java应用程序的运行概况,监控堆信息、永久区使用情况、类加载情况等

Visual VM

–Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具

时间: 2024-10-10 03:53:11

jdk内置工具使用的相关文章

普通Java程序员学习使用的6个JDK内建工具

与你的问题不同,我认为软件工程主要是用来解决问题的.有些博客认为“每个小孩都应该学习编程”,“你认为学数学只是玩玩而已?如果你有看过我的HTML5调试器的话,你会发现我是一个程序员,但我做的工作远不止数学这些”. 上面两者都同意一个观点,软件工程不只是用计算机语言写的一些只言片语.软件解决的问题诠释了程序员的价值. 解决问题的最终进展来自科学.强化清晰的头脑和我们一路以来使用的工具. 你有没有留意过那些 JDK 安装附带的工具?既然那些大牛同意把那些工具加到 JDK 里,应该是有用的. 因此,在

Jdk内置性能测试工具的介绍

(一) JConsole JConsole使用JVM的可扩展性Java管理扩展(JMX)工具来提供关于运行于Java平台的应用程序的性能和资源消耗的信息. 在J2SE 5.0软件中,你需要启动使用-Dcom.sun.management.jmxremote选项监控的应用程序.注意:在Java SE 6软件中,不再有这一要求.当启动该应用程序时,不需要特定的命令行选项. 在生产系统中的应用 JConsole启动一个在被观察的Java程序的JVM内部的JMX代理.运行另外一部分代码仅有一点极微弱的影

jdk内置类javax.imageio.ImageIO支持的图片处理格式

执行这段代码输出支持的图片处理格式 String readFormats[] = ImageIO.getReaderFormatNames(); String writeFormats[] = ImageIO.getWriterFormatNames(); System.out.println("Readers: " + Arrays.asList(readFormats)); System.out.println("Writers: " + Arrays.asLi

注解1 --- JDK内置的三个基本注解 --- 技术搬运工(尚硅谷)

@Override: 限定重写父类方法, 该注解只能用于方法 @Deprecated: 用于表示所修饰的元素(类, 方法等)已过时.通常是因为所修饰的结构危险或存在更好的选择 @SuppressWarnings: 抑制编译器警告 package com.annotation.javadoc; public class AnnotationTest{ public static void main(String[] args) { @SuppressWarnings("unused")

了解URL编码的基本概念,在javascript和java程序中使用内置的API进行编码和解码

1.URL编码的基本概念 URL只能使用US-ASCII 字符集来通过因特网进行发送.由于URL常常会包含 ASCII 集合之外的字符,URL必须转换为有效的 ASCII 格式.URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符.URL 不能包含空格,URL 编码通常使用 + 来替换空格.所谓URL编码,就是将非US-ASCII字符和US-ASCII中的特殊字符,用相应的字符集编码来表示.比如,汉字"你",如果用UTF-8编码,出现在URL

JDK自带工具列表

JDK是一个功能强大的Java开发套装,它不仅仅为我们提供了Java运行环境,还给开发人员提供了许多有用的开发组件(位于bin目录中,如下图所示).仅仅使用JDK,就能够解决我们在Java开发过程中遇到的许多问题. 下图是JDK1.7版本下的工具列表:后续会针对每一个工具 下面,我们就按照工具文件名称的英文顺序来逐一介绍JDK内置的工具. 工具名称 描述 appletviewer.exe 用于运行并浏览applet小程序. apt.exe 注解处理工具(Annotation Processing

第七章:JDK自带工具

JDK内置的工具 工具名称 描述 appletviewer.exe 用于运行并浏览applet小程序. apt.exe 注解处理工具(Annotation Processing Tool),主要用于注解处理. extcheck.exe 扩展检测工具,主要用于检测指定jar文件与当前已安装的Java SDK扩展之间是否存在版本冲突. idlj.exe IDL转Java编译器(IDL-to-Java Compiler),用于为指定的IDL文件生成Java绑定.IDL意即接口定义语言(Interfac

jvm内置锁synchronized不能被中断

很久没看技术书籍了,今天看了一下<七周七并发模型>前面两章讲的java,写的还是有深度的.看到了一个有demo,说jvm内置锁synchronized是不能被中断的.照着书上写了个demo,验证了一下,是不能被中断 /** * @Author: * @Description: jdk内置锁不能被中断 * @Date: Created in : 2018/10/4 下午11:34 **/ public class Uninterruptible { private static final Ob

Java 性能分析工具 , 第 2 部分:Java 内置监控工具

引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工具,其中包括: jcmd:打印一个 Java 进程的类,线程以及虚拟机信息.适合用在脚本中.使用 jcmd - h 来查看使用方法. jconsole:提供 JVM 活动的图形化展示,包括线程使用,类使用以及垃圾回收(GC)信息. jhat:帮助分析内存堆存储. jmap:提供 JVM 内存使用信息