00:00
那么这块呢,咱们再往下啊,我们来看一下它这个Java这块啊,它的特性啊,特别的多啊,特别多,我挑几个啊给大家说一说面向对象,面向对象这块的话,也是Java的一个特色啊,就是Java啊是堪称什么呀,是堪称完全面向对象。啊,这个面向对象啊,更。容易让人理解啊,人类。通常是以对象的方式认知世界的啊,认知世界的。这是什么?I58代性能大约就等于I75代的啊,前几天的文章里看到,不知是否是这样,这个很难说啊,有一些文章你也懂的啊,这些文章可能。
01:00
怎么说呢,我在这里就不再说了啊嗯,你你最好是买I7新的吧,买I7新的啊。这个面向对象后期在第三章当中,我会会给大家详细去讲这个东西啊,在这里呢,我就不再给大家说了啊,总之Java元是面向对象的啊,面向对象。只关注对象,可以把复杂问题简单化啊,就采用面向对象的方式啊,可以让复杂问题。简单化啊,简单化好了,这是一个特性啊,这个特性我就简单的给大家啊。没有给大家详细讲,因为后期我们就要讲这个加了,加完了以后会提到面向对象啊,你就知道这个事儿了。好了,那么这块呢,再往下就是健壮性啊健壮性。这个健壮性呢,主要啊,主要是因为什么呀,是因为Java中有一种机制啊,叫做自动垃圾回收机制。
02:06
自动回收机制啊机制。G garbage啊,Garbage语表示收集啊,Garbage collection g啊自动回机,我可以跟聊为C特壮啊,就是Java语言啊相Java语言是什么呀?是健壮的啊,是健壮的。相对于C语言来说。啊,C语言。嗯,没有加瓦健壮。Java不容易导致什么呀,内存的泄露。啊,C加加或者C语言使用不当时。
03:05
很容易导致内存泄漏。很容易导致内存泄漏,什么意思?呃,你比如说吧,给大家举一个简单的例子啊,内存内存啊,你比如说我在算这个十加20等于30的时候,我要不要在这个内存上面刨一个坑,放个十啊,再刨一个坑放个20,再刨一个坑,再再放上这个十加20,计算之后的这个结果,我在这个内存里边刨了三个坑是吧?这三个坑里边放的什么东西啊?第一个坑里边放的是十,第二个坑里边放的是20,第三个的放的是30,那我问你,我运算完之后呢,我把30怎么着啊,我存到了我的硬盘上对吧?下一次我再重启这个电脑的时候,我是不是就知道,呃,知道这个结果,结果是30是存到硬盘上了,对吧?是这样的对吧,那么大家知道啊,这个你光在内存里面刨了一个坑,放了一个刨了一个坑,又刨了一个坑,那我问你程序执行结束之后,我们要把这些坑给它释放掉,对吗。
04:02
程序在运行结束的时候,我们需不需要把之前刨的坑埋上啊?刨的坑如果不埋,或者这个这个这个这个内存如果不释放,久而久之,大家都知道这个内存我刚才说了18,呃,16个G的内存也不够你造的,对吧,16个G的内存总有一天会存满的,到时候这个内存可用内存越来越少的话,你都知道内可用内存越来越少,就会导致什么呢?就会导致你计算机的执行速度会越来越慢,越来越慢啊就是我们这个,嗯,这个。这个这个这个关于这个内存啊,内存这块的一个东西,就刚才说到什么呢,说到这个。我们的健壮性,那么C加加这一块呢,诶大家注意了,C加这块呢,是我们程序员把内存开出来,最后我们程序员还需要负责把内存给它释放掉,就是之前使用内存给它释放掉,这是在C加加或者C语言里边是这样。啊,大家想一想,呃,我们程序员去开这个坑,或者挖这个坑,然后把这个坑里边放上一个,我们把这个最后用完之后,把这个空间释放掉,那如果我忘了释放怎么办?如果说最后我这个忘了去释放这个空间,那么大家想想这块内存是不是,呃,这块内存是不是就就就就相当于是浪费了,或者是泄露了内存泄了对吧?因为人嘛,毕竟会错,对不对,再精明的人他也会犯错啊,在C加加或者C语言里面经常说的一句话是大家把空间开出来,一定要最后把空间释放掉,开出来一定要什么养成好习惯,在Java里面不用说这句话,为什么在Java中不用说这句话呢?因为在Java中垃圾回收机制是自动的,也就是说这个GC机制啊,是由g vm Java虚拟机来负责调度的,就是JVM负责调度GC机制啊,JVM负责调度。
05:49
G。啊,程序员不需要干涉啊,这一点是最爽的,也就是说回收垃圾释放垃圾这个事儿啊,是交给了我们机器去完成,交给了我们程序去完成啊,所以这个呢,咱们这个健壮性就体现出来了,在C语言当中可能就就就这块就没有这个Java设计的好一些啊,这样设计的好一些,就相当于说我们在Java语言当中有一个什么呀,有一个雇了一个保洁阿姨,对吧,然后呢,这个保洁阿姨有一种这个这个这个这个自动这个回收机制啊,就是由来调动,也不需要我们干啊,不需要管的啊这个同学说的非常好啊,Java吃完饭可以不洗碗,C吃完要洗碗啊,这个说说的太经典了,这个Java Java这个吃完饭可以不洗碗,对这个这个自动垃圾回收机制,就是这样的啊,就是自己最后就是释放一下啊,将好自带了一个保姆,但是我说一下各位啊。
06:50
也不是。Java是有自动洗碗机,Java有自动洗碗机啊对对对,有这个有有这个说法啊,有这个说法,呃,但是怎么说呢,各位大家想一想啊,从本质上来说啊,这种自动垃圾回收机制有没有什么缺点呀。
07:07
666是吧,有没有缺点啊,GC这个GC机制有缺点吗?我说一下啊,这个自动垃圾回收机制啊,它不是说你有垃圾就就就就清一下,一有垃圾就清一下,那如果说一有垃圾就清一下,一有垃圾就清一下,它底层的启动一个一个机制去掉这个GC啊,他一有垃圾就清一下。这个这个这个这个会影响你程序的执行,它可能是会积攒这个垃圾,垃圾积攒够一兆够够两呃够够这个十兆100兆对吧,够这个达到这个空间之后呢,它这个垃圾回收机制才才才会启动啊,才会启动,所以说它其实也有缺点的啊,也有缺点的,就像这个碗不洗,我们得攒着是吧,攒够一天三顿饭了,对吧?诶晚上我们洗一次啊,但这样就是有缺点啊,对吧,它的缺点就是内存无法得到及时的一个清理啊,就像这个伟斌同学说的啊,不能及时清理啊,当这个效率方面啊,其实还是没有这个C加加快C加加和C员这块,如果说那这个用完就自动,就是我们我们这个程序员自动手动释放了,就释放掉了啊清了清了,所以说各有利弊啊,你不要说你学Java了,说Java好,Java好Java好扯啊,这块的话,你不能完全说Java好啊,不能说完完全说Java好,因为在某个领域Java是不错的啊,Java是不错的。
08:22
啊,但是C和C加永远立不败之地,这个你必须得承认啊,必须得承认,如果我们编写程序过一段时间需要查看,GM自动删除,呃自动删除了怎么办?嗯,不会你的程序你的程序,嗯过一段时间需要查看,这种情况是不会的啊,在你程序执行过程当中,它在内存当中的啊,内存当中的呃。你的意思是说在执行过程当中,假如说有一个数据,他这个给释放掉了,是这意思吗?不是那么随意的啊,如果你有一个内存正在使用,它是不会释放的。
09:01
自己写的程序不是垃圾,呃,不对啊,这个仓城同学我给你解释一下是这样的啊,你在程序执行过程当中,有一些东西是垃圾,有些东西它不是垃圾,你比如说你在现实生活当中,只有你呃觉得没有用的东西,你才会放到垃圾桶里边,对吗?是这样吗?那如果在程序过程执行过程当中,有一些数据还在使用,以后还要再查看的话,这种数据Java程序一定是不会回收这个东西的,不会把它当做垃圾给它回收掉的啊。对,回收的话其实是有标准的,你比如说后期我们就会给大家讲这块数据再也没有办法被别人访问了,那么这个时候我们的自动垃圾回收机制,它的启动才会回收这块空间,如果说你这块空间还仍然仍然是有机会被访问到的,它这个是不会轻易给你回收掉的啊,他不是说你这块数据啊有用,后期我这个我我现在先给你释放掉,后期我看看不了了,不是这样的啊。
10:09
呃,也不是这个区域块啊,不是这个区域块,现在我不再提了啊,我一提的话,别的同学就开始懵了,就开始懵逼了,是不是说诶这个什么意思啊,哎,就是后期会讲的啊,会给大家说的就是引用这块啊,没有更多的引用指向这个对象的时候啊,这个对象才是垃圾,你看我说了之后,其实你也不太理解啊,现在先不说啊,先不说,先不说这块好了,这是关于我们Java语言这块的一个,呃。简单性,还有这个完全的一个面向对象,还有它的健壮性啊这块的东西。
我来说两句