温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
哎,下边我们来看一下说如何评估一款JC的性能啊,就像我们说这个算法一样啊,我们怎么衡量一个算法的一个优劣呢?诶,我们有这个叫时间复杂度和空间复杂度,哎,包括这个算法的准确度,有限性等等,哎这样的几个角度,那么JC这块呢,性能如何去评估呢?哎,我们这里边提供了这样的几个指标,第一个呢,叫做吞吐量。那程序的运行时间啊,就是包括呢,运行程序的执行时间和我们垃圾回收的时间啊,这个垃圾收集这个开销啊,这呢也明确写出了,就垃圾收集器所占用时间跟总时间的一个比例啊,其实是我们跟吞吐量的相关的一个概念,暂停时间就是执行垃圾收集器啊,所这个需要花费的这个时间啊,收集的频率啊,对空间的大小,这个快速这个对象呢,从诞生到它被回收所经历的时间啊,这样的一些指标,那么这些指标当中,其实我们最关心的呢,第一个叫做吞吐量,第二呢叫做暂停时间。那吞吐量呢,我们肯定希望呢,呃,叫吞吐量优先对吧,就是以你能够处理更多的这个应用程序啊为一个第一指标,叫吞吐量优先的原则,那另外一个呢,就暂停时间呢,我们尽可能要短一些,那因为暂停时间长了,给用户的体验呢就会差一些,或者呢,我们用户呢,访问服务器的时候呢,这个暂停时间长了,这个感觉就跟卡死的状态一样啊,不太好,那么暂停时间呢,我们这块追求的叫做低延迟,那么很显然呢,这个吞吐量优先和低延迟呢,是一对矛盾的概念。
01:28
啊,就跟说我们说一个算法一样,就是呃,你要追求这个时间要快,那么它的空间复杂度呢,可能就要大一些啊,如果你要追求的这个空间复杂比较小一些呢,那么它这个时间呢,可能就要慢一些啊,它是一个此消彼长的过程,那么如果我们选择以吞吐量优先啊,大家考虑一下啊,吞吐量有限也是我们在单位时间之内呢,希望运行更多的应用程序的这个执行啊,那么就意味着呢,我们这个需要降低垃圾回收的一个频率。啊,因为你这个频率出现的少了,我们这个吞吐量自然呢运算的就要多一些了,那由于你降低了内存回收的一个执行频率了,那么垃圾回收还是要执行的,那就意味着我们每次在执行这个GC的时候呢,就需要更长的时间了。
02:13
啊,比如你五分钟吃一次饭啊,你可能就吃一口,那现在的话呢,降低你吃饭的频率了,你可能十个小时才吃一顿饭,那你吃一顿饭的话呢,花的时间自然而然就长,因为你要吃更多的东西嘛,啊那就意味着我们如果以吞吐量优先的话呢,我们这个低延迟呢,就不能够得到保障啊是这样的,那如果我们要以低延迟为优先原则呢。低延迟,每一次淡定的时间呢,进行的短一些,那这样的话呢,就会提高我们垃圾回收的一个呃执行的频率了,频率会高了,那频率一旦高了以后呢,就会引起我们年性代内存的一个缩减啊,那缩减的话呢,就会导致我们吞吐量的一个下降,所以呢,它是一个此消彼长的过程,那我们只能是呃,针对于实际场景当中,你更关注于吞吐量还是更关注于低延迟,呃属于这样一个场景,那这块呢,我们针对于这个不同的垃圾回收器呢,也是这样子的,像powerline呢,它是以吞吐量优先的原则,而这个CMS呢,是以低延迟哎作为一个追求的一个原则。
03:15
啊是这样的,那咱们今天呢,要讲解的一个新特性呢,叫神豆啊呢诶它呢是以一个追求低延迟的一个JC。好,这呢,我们就相当于是如何评判一个JC啊这样的指标给大家呢,介绍了一下。
我来说两句