00:00
好各位,咱们接着来讲下一个工具叫做jer,那前面的话呢,已经介绍了几个,说为什么还要引入这个J呢?哎,咱们这块呢,来看一个介绍。说呢,我们要想进行这个Java内存的一个分析啊,就需要使用工具了,那么从这个图形化界面的角度啊,咱们前面讲解了像解conso和解微收VM啊,这两个呢,都是官方发布的,那相应来讲,这个微VM呢,需要大家呢能够重点掌握啊,因为功能也算是比较强大,而且还是官方这个发布的,对吧?呃,这是它,然后呢,我们讲了一个在ecl当中使用的时候,一个插件叫做MAT啊,当然了,这个MAT呢,也支持咱们独立的一个安装。对吧,就是我们即使你使用的idea,我们也可以呢,独立的装一个itt这样的一个软件,对吧,也是支持的,那如果呢,我们想在idea当中去使用的话呢,有没有一个呃,更适配于idea的一个插件呢?这里边就提到了一个叫J。啊,叫做je啊,看似呢,好像是应对CL场景下的这itt,但实际上呢,我们要说的是这个je file,它的功能呢,要远强大于MAT。
01:03
啊,比MAT呢要更强大,MAT呢咱们说主要呢,还是用来分析这个对大文件的,对吧?啊那这个呢,它的功能要更全面一些。啊,而且呢,相较于这个VVM呢要更强大。而且必须更强大哈,为什么这么讲呢?因为这哥们儿呢,是一个收费的。对吧,啊是由这个公司开发的啊,那既然呢,你是一个收费的话呢,那你肯定要比官方发的这个是不是,那得得功能强大一点是吧?诶得更有点儿特点才行,那否则呢,大家不都用免费的了吗。啊,就好比是这个Oracle官方呢,它自己啊,就是Oracle这个公司本身是吧,诶Oracle呢是一款数据库啊,它本身的这个是一个收费的,那同时的话呢,Oracle这个甲骨文公司呢,是不是还把这个ma circle呢,是不是收入它的旗下呀,那ma呢,是是有这个免费版的,那你这时候呢,Oracle这个收费版的你必须要体现出来,比这个免费版是不是功能要更强大的点在哪儿,对吧?哎,那否则的话呢,大家都用免费了就成了哈。好嗯,那这个j pro呢,也确实呢不负众望啊,它的功能呢,确实相较于我们前面几款这个工具来讲呢,功能要更强大一些啊,一会儿呢,我们来做一个介绍,那如果大家呢,想去下载这个接profile fellow的话呢,直接诶这个把这个地址拷到这个浏览器这块就可以了,这提现我已经粘过来了,直接呢大家这块点一个download的啊就可以下载了。
02:19
啊,这呢能看到就是这个公司,然后呢,也能看到这个J,它这个主色调呢,就是这样一个蓝色啊,就是这样的一个图标啊下载好就行,OK,这呢是咱们说的一个简单介绍,然后下边呢,我们来看一下这个工具它的一个主要特点是什么。啊,就跟我们提到说以前的用eclipse,现在我们改成用idea呢开发,那如果有人问到说idea这个主要特点是什么呀,为什么你不用eclipse开始用idea了呢?那这个呢,你得能够稍微的解释一下是吧。当然这个解释的话呢,咱们闲聊一句啊,就这里边有个坑,就是你不能说太多,说idea呢,有这个有这个有这个,其实很多时候呢,我们ecl当中也都有啊,只不过呢,大家你平时没有用到而已啊,整体来讲就idea呢就更加人性化是吧,那我们看一看这个,呃,这呢,是不是也有这样类似的一些特征啊,这里边我们看到了啊,我这写的第一个叫做使用方便,界面呢操作更加的友好。
03:14
哎,那这里边儿呢,大家你看啊,我把这个工具呢,提前已经安装好了,咱们先给他这边这个公司名啊,打开啊。啊,这个呢先呃呃,这个这个不考虑了啊,然后这块呢,就是它的一个主界面啊,这个主界面呢,大家你看这个竖的这一排,横着这一排,整体来看的话呢,就是界面呢比较清新啊,然后呢,功能的话呢,其实也能够感受到啊,它是比较强大一些的啊,那这里边儿呢,就遇到一个词叫什么呀,叫简单且强大。啊,我们呃,这个进行这个Java的一个,呃,分析的时候,希望呢,能够上手要快一些是吧,希望它要简单一些,但同时的话呢,希望它的功能还要强大一些,看似呢,这两个是一个矛盾的。啊,但是呢,我们尽可能的把它们再统一在一起,那典型的一个产品呢,就是大家是不是使用的那个手机叫iOS这个操作系统是吧?啊你像iOS这个操作系统呢,应该啊,这是我我接触到的,我觉得应该是非常能体现简单和强大这样两个词很好的融合在一起的这样一个体现啊强大呢,就我们知道iOS是一个智能操作系统的,对吧?哎,那简单的话呢,就是诶他上手其实还是非常容易的。
04:20
啊,包括你像这个年龄比较大的这个这个老人,他们上手这个苹果手机系统要容易的多,比学习Windows那个成本呢,要低很多了啊,包括像现在很多这个小孩啊,这个像我姐家那个家头是吧,我就发现了用手机用的很溜哈,这个各种操作都会,但是呢,Windows系统用的不熟。啊,用的不少是吧。好,这呢就提到这样一个点,那么这个J的话呢,也尽可能的在这方面呢,能够达到这样的一个统一啊,那么我们会发现呢,这个J呢,呃,应该说在各个功能层面呢,都经过这个精心的设计啊,都经过这个精心的设计啊,就是你要希望它功能更强大,你可以通过各种操作去点进去啊,如果你想这个呃,看到更直接的这个信息的话呢,他也能够一步到位给你呈现出来啊,所以呢,就是这主要体现的它是第一方面啊。
05:09
第二个呢,说对于分析的这个应用的影响比较小啊,对分析的应用影响比较小,咱们说呀,这个对于这种在线分析,就我们现在的这个Java程序啊,已经在这个服务器上啊正在运行了,那我们想实时进行个监控的话呢,肯定会对这个分析的应用本身是不是会产生个影响,对吧?啊,因为我们需要呢去记录数据嘛,那么对于这个je来讲呢,它就可以怎么着啊诶。这个指定的时间啊,比如说每隔五毫秒进行这个抽样的一个呃,数据的获取啊,这样的话呢,就尽可能能够减少对这个应用数据的一个影响。啊,而且呢,我们还可以设置呢,什么时候我们不需要去记录数据对吧?诶所以它这个开销呢就比较小了,那此外的话呢,它还提供了这个模板的功能啊,对于这种比如说咱们这个常见的一些用力的配置啊,把这个模板都给我们提供好了,咱们直接的拿过来用就行啊,其实这块也体现了它的第一个方面啊,就是方便。
06:05
好,然后呢,第三个点呢,我这写的叫CPU thread memory啊,分析的功能尤其强大啊,大家也能够简单的在这能看到啊,关于这个呃,内存呢,呃,堆堆的一个追踪是吧,包括CPU的使用线程还有锁啊,这也是咱们主要要提的这样的几个模块,它都单列出来了啊,里边呢,还有具体的一些选项啊,在这三个方面呢,体现的这个功能呢,就比较强大一些。那像这个CPU这块呢,我们说这个解决这个性能的瓶颈啊,也是咱们说分析器的最主要的一个功能,对吧?那CPU呢,在很多时候呢,如果这个呃负载过重啊,这个时候呢,如果我们再去收集数据的话呢,就会对这个性能产生额外的一些影响,对吧?啊那这呢,就是我们需要呃重点考虑一个点啊,然后另外呢,就是提到这个线程啊,很多时候我们在程序写这个线程多的时候呢,发现线程出现问题,比我们想象的可能还要复杂一些,对吧?那这呢,我们就要使用的叫线程的一个分析器。
07:02
啊,使用这个线程分析器,而且呢,这个呃J当中这个线程分析器呢,它不光这个在它这块能够这个体现啊,它还可以跟我们这个呃CPU这个分析系统呢,紧密的结合在一起啊,进行一个相关的操作,一个连接啊是这样子的。啊,下面呢,提到对于这个GDBC啊,No JSP socket进行一个分析啊,那我们说这个数据库的一个调用啊,啊也是咱们业务当中应用程序这个这个性能瓶颈的一个,呃,挺重要的一个原因导致的,对吧,就操作数据库啊,那么这时候呢,像我们这个nosco数据库当中呢,比如说曼GODB啊。啊,包括这个h base啊等等,我们可以使用这个no,这个探针啊,去显示咱们数据库访问速度比较缓慢的一个原因是什么啊,以及呢,咱们代码调用语句的一个速度。啊,这个都可以进行支持的啊,然后下面呢,提到说支持多种模式啊,离线和在线的一个分析。啊,这个呢,跟咱们前面都一样啊,前面咱们讲到这个微VM也好,讲到MMAT也好,他们都可以支持,就是你已经导出的这个大文件的一个分析啊,这就属于离线的啊,也可以支持实时的对于正在运行的这个Java这个系统它的一个监控,对吧?啊当然mitt呢,更多的我们都是离线的啊,但是实时的监控也是没有问题的啊,他这呢跟前面提到的这个工具呢都一样啊。
08:19
下个呢,说支持这个本地和远程的一个GM啊,跟前面也是一样,前面呢,咱们讲解的时候呢,只不过也都是拿本地来讲解的,那在远程监控方面呢,我们需要呢,具备远程监控的这样的一个权限啊,你把防相应的防火墙呢,你得开放对吧?诶然后呢,进行一个监控就行,具体的使用呢,跟咱本地这块呢,就都一样了,哎,所以这块呢,我就呃在讲解这个前面这几个功能的时候呢,咱没有给大家去强调说这个远程的事儿啊,主要呢,大家还是会用这个工具啊,费用工具本身要花一些时间,哎,那远程连接呢,就需要还网络的许可情况下,这个进行一个远程连接啊,进行一个监控就OK了啊。啊,接入Fi了也可以远程,然后下个呢,提到说跨平台拥有多种操作系统的一个安装版本啊,这儿呢,你看列举出来了,咱们常见的这些操作系统啊,包括在下一个这个下载与安装的时候呢,诶这块也有这个链接的一个地址,诶大家呢,把这个地址呢,你输到这个诶浏览器当中啊,这我已经提前放好了啊,诶就能看到下载的话呢,会有我们支持的主流的这些操作系统啊,都可以去下载相应版本的这个je。
09:23
啊解啊,同时的话呢,其实我们也能够看到呢,就是在呃主流的这些IDE当中啊,集成开发环境当中也可以呢,去下载这个常见的诶也可以下载呢,相应这个版本的这个接file这个插件啊,在像idea当中呢,呃,我们一旦你提成好以后啊,我们去点击这个接file启动,跟我们去启动一个Java程序一样啊,非常的简单便捷啊,这个呢,都是属于它的好处。行,这就过了,然后下边呢,提到它这个主要功能,哎,这儿呢,我们强调了就是四个方面啊,第一个就是关于这个叫方法调用上啊对呃,你要调用这个方法的一个分析,如何去提高它的性能,对吧?啊内存分配这也属于最基本的功能啊,去发现这个啊,内存泄露的问题啊,基于这个对象的一个分析啊,用链的一个查找,包括呢,诶跟jc roots的这个关系等等啊。
10:14
哎,下个呢,提到这个线程和锁啊,刚才呢,我们也提到了这个ad啊,包括这个跟CPU的一个关联,包括堆的这个,哎。哎,对的一个这个探测是吧,哎,包括关于锁的这样一个情况啊,哎,相互之间一个关联关系,哎咱们下边有对应的案例啊,高级死机系统提到了,比如说数据库这块啊,啊GDBC这一块啊,啊相关的一些子系统的一些集成和分析啊,这个呢,就主要它的一些应用场景啊好,那这块的话呢,大家先整体上对这个J呢有一个,哎整体的一个概念啊总结一下的话呢,就是哎第三方的对吧?哎从第三方的角度上来讲,是一个功能比较强大的。图形化界面的Java的分析工具。啊,为什么非得提到最化界面呢?因为我们下一个要讲的叫啊阿尔萨斯啊,这是阿里巴巴开发的一款啊,非常重要的一款这个障碍分析工具啊,目前的应用场景也非常多啊好,那这儿呢,我们就先有一个概述啊,先大家做一个了解。
我来说两句