00:01
大家好,我是上午的讲师宋文康,那么在咱们的第二章当中啊,咱们讲解的是这个gbm的监控及诊断工具,是关于命令行的一个使用,那这里呢,关于这些常见的参数啊,咱们也了解了,命令呢也知道了,那当然关键使用起来呢不是很方便,那么我们说一定会有耗时者呢,是不是就想搞定一些图形化界面的一些工具啊啊,那么这呢,就是我们第三章当中给大家要讲解的这个J篇。啊,首先呢,我们来看一下这个介绍啊。说呢,使用上一张命令行的工具或者组合啊,比如说我们这个g map,搭配上这个GH,能够帮我们去获取目标的Java应用性能相关的一些基础信息,但是他们呢,会存在着如下的一些局限性啊,这呢我列举出来了三个理由,比如第一个说呢,无法获取方法级别的分析数据,比如说方法之间的一个调用关系啊呃,各方法的一个调用次数啊,调用时间啊等等,而这些呢,也是我们这个分析性能这个瓶颈的一个非常重要的指标。
01:01
啊,第二的话呢,说要求用户呢,得登录到目标的Java应用所在的这个宿主机上啊,使用起来不方便啊,即使你远程的话呢,我们也需要能够访问远程的,呃,这个应用服务器啊,生产的这个服务器当中这个Java应用,然后我们才能够去调用它的一些监控数据,对吧?第三个的话呢,就是分析数据需要使用终端啊,结果展示不够直观,当然这个的话呢,大家应该很容易了解咱们在上一章章章当中讲的那些数据,很多时候呢,是不是得我们自己一点点去看那个实打实的那个数据,对,哎,数据对吧,那当然了,这里边列举出来这三点呢,大家也不用死硬背啊,了解一下就行。啊,因为本身呢,我们讲完命令行之后呢,再讲这个图形化界面,我觉得呢,也符合人的这个基本的认知。啊,大家想想是这个意思吧,就是我们一开始呢讲解的是命令行,然后呢,哎,这个进化到呢,讲解图形化界面,哎,这也符合一个必然的一个趋势,就像大家呢,学习这个,呃到此操作系统之后呢,后来呢,是不是你就会接触到这个图形化界面的这样一些呃操作系统对吧?哎,当然了,对于我们开发人员来讲,呃,有的时候呢,我们觉得还是使用一些基本的一些指令呢,感觉更方便一些,但是呢,这毕竟是一个大趋势嘛,啊这是毫无疑问的,所以呢,我们讲解完命令行之后呢,呃,也肯定会讲解一下关于图形化界面方面的一些工具啊,当然了,你图形化界面这些工具呢,我们在设计的时候呢,肯定会把它的功能呢,设计的会更加的完善一些,所以呢,就有很多我们命令行,哎,这个操作起来不方便的一些功能啊,这呢,其实就体现在我们像这个第一个是吧,哎,第二个等等,这样还包括第三个啊,有些折线图啊等等饼状图啊,大家看起来就非常的方便了啊,都是优于这个命令行的一些好处啊,了解一下就行。
02:42
然后呢,我们接下来呢,就给大家讲解这些工具啊,就是我们这里罗列出来的,那首先呢,做一个简单的概述,整体的这些图形化界面的工具呢,我们分成了两大类,第一类的话呢,就是我们JDK呢自带的。啊,自带的啊,这个相当于说,相当于说呢,也比较好理解,这个JDK呢,在我们这个。
03:01
啊,闭目录像找一下。啊,这呢是我们这个JDK的个B目录对吧?在这个并目录下呢,我们有三个呢,图形化界面的工具,分别对应着呢,叫做j conso啊,这是一个,然后呢,呃解VSOVM啊,这是一个,还有呢叫GMC啊,这一个一共是这仨啊这三个的话呢,就是我们JDK自带的图形化界面的工具。首先第一个呢,叫做解conso啊,自带的啊,可以查看应用程序的啊,运行状况呀,这个监控的对信息呀,永久带或者原空间的使用情况呀,类加载啊等等。啊,应该说呢,这个j conso呢,它的功能是比较简单的。啊,然后呢,属于这个入门级别的一个使用啊,是这样子的。那当然了,再入门也比这个命令行看着要工程的丰富一些是吧,第二呢,叫做VVM啊。然后大家会看到呢,诶怎么有的时候呢叫visual vm,有的时候呢又叫做解VVM的区别在哪呢?诶你会发现你看我这装的时候,大家看我这个呢,是不是叫visual vm,这个呢,叫解visual vm是吧?怎么有两呃这呢,其实是我独立安装的一个客户端啊,也就是说呢,我们JDK内置的解visual vm,但是你也可以呢,直接从网上去下载一个这个V收VM啊,诶都可以,这个咱们在讲这个上片内存和垃圾回收的时候呢,也都演示过这个V收VM的一个使用是吧。
04:25
有一个可视化的界面查看呢,这个呃,虚拟机这个应用程序的一些详细信息,而且呢,这个微视VM呢,还支持这个插件的一些安装啊,应该说是呃,功能比较强大啊,它的功能比较强大,然后第三个的话呢,内置的叫做GMC啊,Java mission control啊,那这个GMC的话呢,它这个由来其实它不是算最初就在的哈,最初就在的是这两个,这个GMC的话呢,这个我们要讲解的话呢,要提到一个公司叫做BA,咱们在讲解这个GM历史的时候呢,提到过是吧,这个BA公司呢,有个叫g rocket。
05:00
哎,J rockck的这个VM啊虚拟机,然后的话呢,是不是Oracle公司呢,诶把这个BA公司呢,是不是给收购了是吧,收购之后呢,自然而然的就获取到了这个J的这个虚拟机了,然后把它呢,就集中到了我们的这个house这个虚拟机当中。哎,How虚拟当中,那么这个GE rocket虚拟当中呢,就有一个啊叫做哎j rocket a missionsion control啊这个呢是j rocket的意思,然后呢,把这个j rocket虚拟机集成到house虚拟机以后呢,诶我们呢,在这里边就多了一个工具,那叫做Java也好,叫JDK也好啊mission control啊,这也叫做GMC了,这是JDK或者Java的意思了,那我们现在看到这个GMC其实就是当初的这个GK的这个虚拟机里边这个,哎。这个GMC啊。同时的话呢,这个的这个呃,Mission control的话呢,一方面提升到这儿了,还有一方面的功能代码呢,就放到了我们上一节当中讲的这个JCMD啊,这个命令当中了。啊,上一上一节当中我们说过了是吧?OK,那么在这个GMC里边呢,它还有一个非常好的那个公寓呢,叫做Java flight recorder叫飞行记录仪啊,它呢,能够以极低的性能开销呢,收集Java虚拟机的这个性能数据啊这呢都是我们内置的三个工具,那如果在面试当中啊,面试官如果问你说,呃,有没有使用的一些常见的图形化界面的诊断工具呢?那大家呢,最起码你应该说出这两个来。
06:23
哎,最起码的哈,这两个属于比较基本的。好,下边呢,咱们来看一下这个第三方的啊,第三方呢,这里边儿有几个,第一个呢,MAT。啊MAT嗯,咱们在讲这个呃,垃圾回收那一篇的时候呢,提到过这个jc roots啊,当时呢,就是拿这个MAT呢给大家去演示的啊,在于在查找这个内存泄漏,减少内存消耗方面呢,诶这个MAT呢还挺好用的,是一个比较老牌的一个分析工具,属于这个eclipse的一个插件啊,当然呢,大家也可以呢独立的去安装这个媒T。啊,这个呃,蛮好用的一个工具啊,这个通化界面功能呢设计的也挺好的,然后下一个呢,叫做j profile啊嗯,这个工具的话呢,这个特点是什么呢?这个付费是吧?哎,这是一个付费的软件啊呃,功能呢比较强大,这个相较于咱们这个微VM免费的JDK内置的来讲呢,它的功能呢会更强大一些。
07:16
啊,当然了,公司商业去使用的话呢,那就需要去付费了啊。OK,然后下个呢叫阿尔萨斯,这个呢是阿里巴巴旗下开源的一个Java的诊断工具啊,目前来说应该是在国内呢比较流行的一款这个诊断工具啊,叫阿尔萨斯啊,诶这个大家呢也会也可以呢,从我们这个GI上呢去进行一个下载啊。然后最后呢,提到叫beattrace啊,是Java的运行时的追踪工具啊,这个呢,其实是散公司的一个开源项目啊,就是在云计算方面的一个开源项目,嗯,它呢可以在不停的情况下呢,追踪指定的方法调用,构造函数的调用和系统内存的一些相关的信息展示。啊OK,那这呢,就是咱们整个给大家要介绍的一些相关的图形化界面的工具啊,当然了,除了这些工具之外呢,还有其他的一些工具,只不过呢,这里给大家罗列的呢,就是在市面上呢,算是比较常用的啊,这个占比比较高的一些这个工具的一些介绍啊,那对于这个初学者来讲的话呢,大家也没有必要把这里边儿的每一个工具呢,都详细的吃透啊,在实际生产环境当中呢,只需要针对其中的一两款工具啊,你有一个熟练的使用啊就可以了啊就可以了。
08:27
行,这呢是我们对一个呃,对我们这个呃,GI工具的一个整体的介绍啊,下边呢,我们就一一来进行一个详细的说明。
我来说两句