您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > JAVA

JDK里面自带了这么多的exe,你都挨着试过么?

时间:2020-12-15 11:46:32  来源:  作者:

JVM

话说面试这块,JVM算是一个经典的也是三年必问的知识点了,而且这个知识点算是最重要的一个知识点,你如果会这个内容,那么对你的在之后的面试中,能够喊出一个不错的价格。

而关于JVM和还有关于垃圾回收算法的解析,在这里就不在给大家进行讲解了。大家有兴趣的可以看一下之前推出的这几篇文章

性能监控工具

我们都在最开始学JAVA的时候,安装过Java,不管是直接安装版本还是复制过来解压好的,大家都可以在JDK的安装目录中找到一些exe的程序,而这些exe的程序里面,有很多是我们不怎么去关注的性能的监控工具。

JDK里面自带了这么多的exe,你都挨着试过么?

 

大家可以看一下里面这些exe,是不是感觉Sun公司有时候也是很给力的,各种给大家隐藏的福利,就比如下面我们要说的JVM的调优工具,就是Jconsole,而还有一些比如说

jstack :显示虚拟机的线程快照

jps :虚拟机进程状况工具

JConsole :JMX的可视化管理工具

VisualVM :多合一故障管理工具 (我认为最牛掰的工具)

关于使用,我们在下面开始一一的讲述,先从我们最关心的JVM调优开始。

JVM调优工具

主要的调优工具有JDK自己带的工具,也有外部的属于收费的,大致就这么几种。Jconsole,jProfile,VisualVM。

  • Jconsole :jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。
  • JProfiler :这就是需要你另外付费的了的商业软件,功能强大(付钱付钱)。
  • VisualVM :JDK自带,功能强大,与JProfiler类似。

而就因为不知道这么几个工具而且没使用过这些工具,被公司老弟疯狂嘲笑了一波,那叫一个悲惨,既然不知道那么一定要学习一波的呀,那么我们就来看看这个工具。

那收费的我就管了,反正不如白嫖的香。那我们就来看看 Jconsole和 VisualVM吧。

VisualVM:

JDK里面自带了这么多的exe,你都挨着试过么?

 

大家可以看一下左边,显示的是你正在运行的程序,pid是15908,端口号是我这边的,你们那边必然不是,但是大家可以当个参考嘛。

VisualVM可以根据需要安装不同的插件,每个插件的关注点都不同,有的主要监控GC,有的主要监控内存,有的监控线程等。

比如说看下图:

JDK里面自带了这么多的exe,你都挨着试过么?

 

这里你如果不显示的话,直接点那个检查最新版本。在可用的插件里面就会显示出我们所有的能用的插件来。

我们双击一个内容进去看一下:

JDK里面自带了这么多的exe,你都挨着试过么?

 

在这里我们可以监控各种堆栈信息,而这个工具和Jconsole是我们大家经常使用的吧,除了有些高大上的喜欢用第三方的,但是阿粉还没怎么使用过,毕竟公司不大,没有那么多事,能看出问题来并且解决就OK啦。

下面我们再来看看JConsole。

JConsole :一款JMX的可视化管理工具

它是一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。

JDK里面自带了这么多的exe,你都挨着试过么?

 

在我们看到的进程信息随便点一个进去就可以看到

JDK里面自带了这么多的exe,你都挨着试过么?

 

里面也有和VisualVm一样的内容,比如说堆内存的使用量;内存池“PS Old Gen”

JDK里面自带了这么多的exe,你都挨着试过么?

 


JDK里面自带了这么多的exe,你都挨着试过么?

 

而且还有我们的类的路径,库的路径,以及Vm的参数等等,都是非常不错的。

jps(JavaVirtual machine Process Status Tool):虚拟机进程状况工具

说实话,从安装JDK以来,还真的是没有太注意这个jps,毕竟他仅仅是来输出JVM中运行的进程状态信息.

语法说实在的也是非常简单的,给大家安利一下:jps 【options】 【hostid 】

options中可以选择有很多种比如说

  • q :不输出类名、Jar名和传入main方法的参数,仅输出VM标识符
  • m :输出传入main方法的参数
  • l :输出完全的包名,应用主类名,jar的完全路径名
  • v :输出jvm参数

而后免得hostid更好说了,主机或者是服务器的id,你如果什么东西都不写,那么就是默认的喽。

如下所示:

JDK里面自带了这么多的exe,你都挨着试过么?

 

大家有兴趣的可以去自己动手试试,很有意思的。

jstack :堆栈跟踪工具

这个工具也是非常好的,我们给他一个java进程ID,那么它就会给我们打印出Java堆栈信息。

而他的语法也是非常简单的:jstack 【-l】 pid

JDK里面自带了这么多的exe,你都挨着试过么?

 

这个说实话就更喜欢VisualVM了,同样也能看到堆栈信息,至于怎么选择,那就看你们的需要什么了?

最后感谢各位的阅读,才疏学浅,难免存在纰漏,如果你发现错误的地方,还请你在后台留言指出,我对其加以修改。



Tags:JDK   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
JVM话说面试这块,JVM算是一个经典的也是三年必问的知识点了,而且这个知识点算是最重要的一个知识点,你如果会这个内容,那么对你的在之后的面试中,能够喊出一个不错的价格。而关于...【详细内容】
2020-12-15   JDK  点击:(0)  评论:(0)  加入收藏
现在很多编译器和软件都开始要求使用 JDK 11 了。因此我们希望在 CentOS 上安装 JDK 11。运行下面的命令:yum install java-11-openjdk-devel如果你的系统中还装有不同版本的...【详细内容】
2020-11-05   JDK  点击:(10)  评论:(0)  加入收藏
一,前言我们都知道,tomcat启动前需要配置JDK环境变量,如果没有配置JDK的环境变量,那么tomcat启动的时候就会报错,也就是无法启动。但是在我们的工作或者学习过程中,有的时候会出现...【详细内容】
2020-10-09   JDK  点击:(8)  评论:(0)  加入收藏
JDK 15已经于2020年9月15日如期发布。本文介绍JDK 15新特性。发布版本说明根据发布的规划,这次发布的 JDK 15 将是一个短期的过度版,只会被 Oracle 支持(维护)6 个月,直到明年 3...【详细内容】
2020-09-25   JDK  点击:(14)  评论:(0)  加入收藏
一、下载安装jdk并配置1.1 进行JDK下载 下载地址:一键直达JDK下载展示图 一般下载后,安装位置默认,一路下一步,一直到安装完毕-“关闭”。1.2 环境变量配置不要管是不是一般情况...【详细内容】
2020-09-03   JDK  点击:(6)  评论:(0)  加入收藏
一、查看已有JDK的版本输入命令:java –version[root@oc-hadoop01 ~]# java -versionjava version "1.7.0_99"Java(TM) SE Runtime Environment (build 1.7.0_99-b31)Ja...【详细内容】
2020-08-19   JDK  点击:(7)  评论:(0)  加入收藏
1. Java的运行机制想要了解Java的运行环境,就得知道Java是如何运行的。计算机高级语言是按程序的执行方式分为编译型和解释型这两种。而Java程序运行是先进行编译、后解释的...【详细内容】
2020-08-13   JDK  点击:(4)  评论:(0)  加入收藏
一、普通安装 1. 使用bin安装包jdk6(1) 下载http://java.sun.com/javase/downloads/widget/jdk6.jsp最好把它放到/usr/java目录下。(2) 命令行到下载目录,执行命令:cd /usr/ja...【详细内容】
2020-08-07   JDK  点击:(27)  评论:(0)  加入收藏
闲来无事,打开windows系统,想着下载一个包,通过Power Shell命令行工具,还要查询相关下载命令,下载的地址,就想着看有没有一个包管理工具,直接来管理所有的包。还有就是现在去Oracle...【详细内容】
2020-07-26   JDK  点击:(29)  评论:(0)  加入收藏
这篇文章主要来介绍下 JDK 内置的命令,话不多说,让我们开始吧!javap使用 javap 可以查看 Java 字节码反编译的源文件, javap 的命令格式如下: 下面来演示下用 javap -c 对代码进...【详细内容】
2020-05-14   JDK  点击:(6)  评论:(0)  加入收藏
云服务器 步骤一 卸载原有或自带jdk有些linux系统会自带OPENJDK,我们最好先将原有自带的jdk删除掉再安装。(1)用 java -version 命令查看当前jdk版本信息java -version(2)用rpm -...【详细内容】
2020-04-08   JDK  点击:(16)  评论:(0)  加入收藏
第一步:右键点击我的电脑(win7),进入控制面板->系统和安全->系统(也可以通过控制面板进入此栏);点击左侧菜单的高级系统设置,弹出系统属性框,点击环境变量。 系统lab的环境变量第...【详细内容】
2020-03-02   JDK  点击:(20)  评论:(0)  加入收藏
​JDK8有很多新特性,比如lambda表达式,函数式编程以及stream流的使用,这几个新特性,使用过之后就爱不释手了,比如将list集合通过stream可以直接转换成map对象。语法:Map map = l...【详细内容】
2019-12-17   JDK  点击:(42)  评论:(0)  加入收藏
本文记录的是在CentOS 7下安装与配置jdk-8u162的过程。一、下载jdk-8u162版本链接地址:官方地址二、上传jdk到centos下三、检查当前linux系统上是否有jdk,linux命令:rpm -qa |...【详细内容】
2019-11-27   JDK  点击:(50)  评论:(0)  加入收藏
【1】JDK、JRE、JVM区别与联系JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进...【详细内容】
2019-09-24   JDK  点击:(28)  评论:(0)  加入收藏
一 在linux 下配置jdk 环境① 在官网下载安装包,这里如何下载安装包就不一一叙述,下载安装包完成后,使用rz命令上传至linux中。提前在linux中建立一个文件夹 mkdir /usr/local/...【详细内容】
2019-09-16   JDK  点击:(67)  评论:(0)  加入收藏
JVM :JVM是Java Virtual Machine(Java虚拟机)的缩写,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是...【详细内容】
2019-09-04   JDK  点击:(35)  评论:(0)  加入收藏
概述上文「JDK源码分析-ArrayList」主要分析了 ArrayList 的实现原理。本文分析 List 接口的另一个实现类:Vector。Vector 的内部实现与 ArrayList 类似,也可以理解为一个「可...【详细内容】
2019-08-12   JDK  点击:(64)  评论:(0)  加入收藏
前言本文主要介绍Ubuntu系统上如何安装任意版本的jdk,使用Ubuntu 18.04 Server LTS制作本教程。方法1:使用deb包安装到oracle官网下载deb安装包https://www.oracle.com/techne...【详细内容】
2019-08-06   JDK  点击:(1491)  评论:(0)  加入收藏
大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做。因为这样更能帮助大家弄清楚它们的区别:Jre 是java runtime environment, 是java...【详细内容】
2019-07-24   JDK  点击:(105)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条