00:01
来同学们,咱们开始今天的新的内容,今天的这个内容呢,我会再建一个文件啊,给大家放一下这个,呃,存一下这个课堂笔记啊,我们叫D03的一个课堂笔记。咱们学一点就要会一点啊。慢慢来,当然我这个速度你会知道的啊,慢慢就会提上来啊。有的时候提上来之后,你可能还要让,还得让我刹车一下啊C03课堂笔记。我可以讲的详细又快啊,是没有任何问题的。来,那么这块的话,咱们这个。首先啊,咱们这个Java语言概述和Java语言发展史这块咱们已经说过了啊,再往下的话,这个发展史我就不再说了啊,不再说了,这块的话你有时间呢,可以看一看那个发展发展史啊,这个发展的话你简单了解一下就可以了,要知道咱们Oracle现在是管这个Java的那个这个产品的一个升级的啊,这块。
01:01
好了,那么。往下边这块呢,呃,是一个图啊,这个图呢,列出了这个,呃,这个叫什么?这个咱们的Java SE Java SE和Java me33者之间的一个关系啊,大家把这个图呢,呃可以看一下啊,其中呢,我们的Java e是一个方向,Java me是一个方向,呃,但不管是Java e还是Java me他们都需要啊,Java SE对不对,你看SE在这个在这个位置上啊,就相当于SE是一个基本的库啊,基本的库。然后呢,两个啊方向都需要啊都需要。这就是他们三者之间的关系啊,三者之间关系好了,那么这块呢,有一些这个语单词啊,你可以简单看一下啊,比如vapise这个是微型啊,微型版本啊微型版本。啊,了解一下这个不是重点啊,不是重点好了,那么咱们再往下看一看Java语言的一个特性啊,就是说我们要学Java了,我们要夸一夸Java圆。
02:14
的特性。那么性的首先简单性,简单性这个简单性强,相对而言呢,这个字儿有点小是吧,我稍微让它稍微大点啊。简单性,这个简单性啊,其实相对相对C加加而言啊,相对于C语言来说,它确实是简单了,但是如果说相对于这个这个这个Python来说啊,它要比Python要复杂一些啊,Python会更简单啊,Python更简单,所以是相对的相对的。呃,你比如说C加加里边有没有同学是计算机专业的啊,如果是计算机专业的应该学过C加加,在C加加里边应该比如说这个指针对吧?啊有咱们不是有个概念嘛,啊,叫做晕针嘛,是不是一听这个指针啊,咱就就感觉有点晕针的感觉啊,因为这个指针啊。
03:11
在这个C加里面是存在的,在C语言当中它是存在的,这个C语言或者C加加中的这个指针到底是干什么的,我跟大家说一下啊,这个指针呀,就相当于是我们通过这个指针可以。可以直接操作我们这个这个这个这个这个内存。啊,他的优点是什么?它的优点就是有驾驭感,感觉非常爽啊,我这个程序员的权利很高。对吧,哎,我的权利很高啊,高到什么级别,就是我可以操控你的内存,我可以对你的内存上的数据进行操进行操控啊,是这样,这就是指针,但是指针的优点就是一种啊,非常对吧,驾驭感是有的,但是它的缺点是什么?就是你越能够操作它的内存,你就意味着什么呢?意味着这个这个这个存在很大的风险啊,你比如说指针加加,指针减减,指针位移在这个内存里边。
04:06
内存当中啊,进行移动的时候,你操控这个内存的时候,一不小心啊,你操作的有问题,那么这个时候呢,啊,就会就会导致内存泄露啊,内存泄露那就那就这个这个程序就很容易就崩溃了啊,很容易就崩溃了,所以当然如果你这个程序员的素养,你的素质很高,对吧,你这个指针操控,你可以保证它没有任何问题出现,那我觉得。肯定采用指针这种方式啊,它会一执行效率会高一些啊呃,另外的话,我们程序员会。通过指针操作啊,来很好的精确的控制我们的内存,让我们的程序啊运行效率达到最高的一个级别啊,最高的一个级别。好,这个是我们这个指针,呃,Java语言这一块啊,和这个C加加的一个区别呢,我可以这么给大家举一个例子啊,举一个例子,这个Java语言这块和C加加呢,比如说C加加啊,它这个可以直接通过指针干什么操作内存。
05:08
可以指针操作内存,但是Java语言当中没有这个指针的概念。没有指令在内,Java这块不允许你程序员操作指针。啊,他把这个复杂的这个这个指针给他屏蔽掉了啊屏蔽掉了,所以Java这块呢,其实在这个内存操控方面还真是不如C加加。啊,不如C加加,呃,你Java语言啊,去写程序的过程当中,整个操作内存呢,实际上不是你程序员,而是后期我们给大家说的一个东西叫做什么呀,叫做GM。啊。在Java语言当中。操作真正啊,真正操作啊,内存的是什么?是JVM,叫做Java虚拟机,Java虚拟机啊。就Java虚拟机。
06:01
所有的加法程序。都是运行在Java虚拟机当中的。Java虚拟机。执行过程中再去。干什么呀,操作内存。啊,操纵内存对于C或者C加加来说。啊。都是可以直接通过啊,都是。可以或者都是这个来说啊程序员。都是可以直接通过指针操作内存的。啊,C或者C加加更灵活更灵活。可以直接程序员操作内存。但是要求程序员怎么着啊啊技术精湛啊技术精湛。
07:04
C语言或者C加加更有什么呢?驾驭感,更有驾驭感。Java语言屏蔽了。执政概念。程序员啊,不能直接操作指针,或者说程序员不能直接操作内存。啊。呃,这种方式啊,有优点啊,也有缺点。优点呃,不容易导致内存泄露。啊,缺点是嗯,效率问题啊,包括这个驾驭感比较差,驾驭较差。但但是它这块啊,这个嗯,没有这个指令的概念,所以这个优点还有一个啊,不容易导致内存泄露啊,还有一个就是简单。
08:08
简单了不少啊,简单了不少,第一点就是简单。这块呢,可能有有一些同学可能听不太懂啊,但有一些同学可能能听懂啊,呃,这块尽可能去听吧,因为不是所有同学都接触过C或者C加加的啊,CC加加的,我这么跟大家说吧,举个例子啊,比如说这个,嗯,咱们啊。做这个Java开发。呃,举一个举一个这个飞机飞机的例子啊,飞机。飞机航行。嗯,如果是C语言程序员。啊,如果是C员表示程序员是什么呢?是这个,呃,是这个飞机驾驶员。啊,那如果是Java语言表示什么呀?表示程序员是乘客,是飞机上的乘客。
09:07
我这么说,我不知道大家理解不理解啊,理解不理解就是说你比如说如果说你采用C啊,或者C加加开发的话,就相当于你假如说这个飞机航行过程当中,你是你你这个呃,C或者C加加的话,就相当于你是一个驾驶员。驾驶员呢,要求你技术啊,精湛。啊,你技术不精湛就会机毁人亡啊,对不对,但是呢,这个飞机驾驶员大家都知道这个,呃,这个很有驾驭感对吧,很爽是不是,但如果说你是Java语言的话。那么这块就相当于你只是一个乘客,你只是飞机上的一个乘客啊,你同样也在飞机上,你是飞机上的一个乘客,对你负责,去干什么,去驾驶这个飞机,去驾驶这个飞机。啊,就像我刚才所说的,我们Java程序这块,实际上真正我们是放在一个所谓的Java虚拟机行的啊,去运行的啊,这个是Java virtual machine啊表示什么呢?Java虚拟机啊是一个用。
10:10
这个C语言用这个C加加语言啊,写的一个虚拟的电脑啊,JM是用。来在这解释一下啊。Java语言底层是C加加。所以JVM是什么呢?是用C加加语言。写好的一个虚拟的电脑。啊,一个虚拟电脑,这就是Java虚拟机,GM在哪里。啊,告诉大家。安装了JDK之后。JVM啊,就代表安装好了,这个不需要你管的啊,你只要把这个JDK装上去,Java的开发工具箱装上去,它底层呢,会自带一个JVM啊,会自带一个j vm Java的虚拟机,这个是公司那帮架构是那些人去写的,大家不需要管的啊,不需要管的。
11:15
所以呢,这个是对JVM的一个一个理解,当然呃,这个JVM这块的话,嗯,等大家接触加va语言长了,时间长了,那么这个时候呢,大家就可以怎么着呢?呃,自己使用C加加语言去写一个加va虚拟机,这才是比较比较牛的啊,比较牛的加va虚拟机呢,是可以写出来的啊,是可以写出来它有规范有规范啊,当然你还得会C加加啊,你基于这个C加加去写一个Java虚拟机啊GM。呃。啊点点对是是这个JVM这块呢,是一个规范啊,是公司制定的规范啊,每一个每一个公司,每每个公司他都是可以写啊,有些特别牛的同学,他是专门去写一个Java虚拟机属于自己的啊,而这个Java虚拟机呢,可能针对他们自己的项目去实现的M能会效率更高一些啊,更高一些,好了,那这个是简单性,但是大家一定要注意啊,简单性是相对而言,相对于C加加C原来说它确实简单了啊。
12:13
嗯,对,如果说你要是你要是这个,呃,你要是这个能够使用C加加去写一个加va信拟机出来,那就相当牛了啊,相当牛了,对,那这个至少你的经验应该至少在五年以上啊才可以写出来啊,可以出来你将来会慢接触很多语言啊就知道了。
我来说两句