00:00
行,那第一章呢,咱们就告一段落啊,相对来说第一章咱们涉及到代码呢会少一点啊,今天是第一天,咱们讲的文字性的内容呢,会稍微的偏多一些啊,难度呢应该算不太大,呃,咱们针对第一章呢做一个小结啊,这块打开咱们对应的这个课件,呃,回过来这儿有个复习与写真题啊,把它打开啊,然后点开第一个。诶,首先呢,针对于咱们今天讲这个内容啊,做一个随堂的复习,然后后边呢,是涉及到一些企业真题了啊,咱们一会儿再看啊,那么复习这块我们就回来说一说啊。嗯,首先我们来说一下第一个问题,第一个问题的话呢,针对于咱们Java啊基础。哎,大家记住这个全程的一个,呃,学习的。内容。啊,这个我们叫大处着眼的啊好,那么这个内容的话呢,我们是把整个Java基础呢,我这块一共是有18个章节,18个章节的话呢,分成了三个阶段啊,那第一阶段咱们称为呢,叫Java基本语法。啊,你说这个事儿吧,他倒是不用大家去死记硬背,但是呢,呃,建议大家你把这几个阶段呢,稍微的呃,心里边要清楚啊,诶我们学到哪儿了,后边还有什么这个基本语法里边呢,咱们这一章呢,讲的叫Java的一个概述。
01:12
啊,写一个基本的hard word啊,J1K的安装环境,变量的配置,这叫概述的一些内容,下一章的话呢,我们就开始具体来讲解一些基本语法里边涉及到的一些,比如说这个,诶关键字啊,这个标识符啊,哎,包括呢,非常重要的这个变量的使用啊,变量讲完之后呢,变量之间呢,能够去做运算啊,那就运算符就上来了。啊,那么这个整个的变量之间的这种运算呢,是整个代码中的一部分,整体来看的话呢,这就涉及到这个叫诶流程控制。啊,比如说哎,条件判断。啊,哎,分支结构。啊,还有呢,我们这个叫,哎,或者我们称为叫选择结构啊。还有呢,这个循环结构,哎等等这呢都属于流程控制的这个内容,OK,然后这个完了以后呢,我们在这里边呢,包含了一个叫idea的一个使用,咱们以后呢,就不用这个ID的plus了。
02:04
啊,有点low是吧,后边我们换成这个idea哈,然后呢,我们再接着讲一个内容,叫做数组。哎,如果我们要有多个变量啊,表示的就是都是学生的成绩,诶我们就直接呢,把它放到一个容器里边了,这就叫做数组了,这是第一个阶段的内容,好,那么第二个阶段呢,咱们学习的叫Java面向对象编程。啊,面向对象编程,那么这里边儿呢,我们要讲的内容就比较多了,虽然说只有三个章节啊,我们会讲到比如说啊类啊及类的内部成员啊都有什么啊,还讲到的面向对象的三大特征。呃,三大这个特征是吧,期前有同学可能都预习过啊,然后呢,还会讲到一些呃叫其他呃关键字的一个使用,这边呢,我用了叫其他啊,因为有一些关键字呢,在上面已经讲到了啊,这儿呢,就是我们后边要重点讲解的内容,哎大家的话呢,在我们学完泌向对象的时候呢,诶正常来讲都应该就入门了。
03:04
啊,入门了啊,那讲到这儿的话呢,我们应该是需要十几天的时间,大概这个诶14天左右吧。啊,这个时间哈,我们就讲完这儿了啊呃,应该是入门了,因为呢,整个关于Java的这个语法呢,其实已经讲完了,后边呢,就是基于Java的这样一些语法,我们都能做什么事了。哎,这呢,就是这个第三个阶段,哎,这个我们说呢,叫Java语言的这个诶叫高级应用啊。啊,这里边儿呢,就涉及到了,比如说啊异常处理。啊,程序出问题了,怎么来处理异常啊,啊,这异常处理还有呢,我们这个多线程上午也都讲过了啊,还有这个IO流。啊,还有这个诶集合框架诶它的一个使用啊,还有呢,这个诶反射的一个使用啊,网络编程。啊,还有呢,这个新特性啊,包括呢,我们说其他诶常用的这个API的一个使用啊等这呢,就我们要讲的一些高级内容,那只要呢,大家入门以后学这些内容啊,其实都比较简单。
04:04
最难的内容啊,其实是在这儿。啊是在这儿,但是呢,你也用不着说,哎呀,我这块学的不好,我就再重读一遍得了,其实也没有必要哈,就是你要想对这个内容有深刻的理解,其实你得知道他怎么去用。啊,说白了就是你后边诶不断的去使用,你才发现呢,你理解的越来越好。啊是这样子的啊,就跟大家上这个大学这个哲学课,你发现呢,讲哲学长得好的一般年龄都偏大。啊,年轻的他也讲不出来,你说这个哲学的那些原理啊,那些东西啊,谁都能说,但是你讲不透是吧,你必须有深刻的理解才行,也就是说呢,大家你想对面向对象有深刻的理解。啊,这个呢,你得知道怎么去用。啊,一说到这儿的话呢,一般我们提到说这个学习Java的话呢,有几本这个。咱们叫什么叫神书是吧?神神神神呢,神书是吧,典型的话呢,实际上是有这个三本哈,第一个叫Java核心。
05:03
技术。那这个一说,咱们就可以这块搂一眼啊。哎,这这这也是一个,这叫effective Java,他好像还真没有这个中文的这个法啊,就叫做effective Java。对,这是小黄鼠啊。Effective。哎,Java啊,这本书呢,写的很好啊。比较薄,挺薄的一本书,然后呢,呃,这个刚才说呢,叫Java核心技术啊。哎,就这个书,这个书的话呢,现在这个新版呢,这是最新版,但是这个最新版它这个只把这个第一卷给这个出版了啊,第二卷没出版,然后你要说比较全的话呢,就是第一卷和第二卷这两本书特别厚啊。这是他的一个新版的,呃,老版的话呢,就是那个我说的那个。没没有卖的了。就那个大黄书是吧,啊,这没有了啊,就是在之前那版本,它是也是黄色的啊嗯,这是一套,然后这个还有这个ex effective Java,还有诶Java变成思想是吧。
06:05
这个如果呢,你要去一些论坛,你说我要学Java了,这个大家有没有什么推荐的,当然了,推荐你的一般都是学过Java的,他们要推荐你的一般都推荐这三本书。啊,但是呢,其实挺不负责任的。啊,比如我要推荐的,我我我也推荐是吧,为啥说不负责任呢?因为这三本书其实对于初学者来讲不太友好。对,你比如说你上来就整一本Java编程思想,还没写代码先研究思想。估计你就放弃了是吧,哎,但是的话呢,你要是诶学过一些Java,比如说咱们把这个Java基础的课程讲完了,诶大家你可以再去翻看这几本书,你会发现呢,写的真好是吧。啊,我想大家应该能找到那种判案教学的那种感觉,如果要没有,那只能说明你还积累的不够是吧?啊,就是这两本书的话呢,更加注重思想,这本书的话呢,呃,两卷很厚。你可以作为以后查阅的一个工具书,你说有个细节知识点,我理解的不是特别好,你可以从这里边呢去找,那他是怎么说的。
07:04
OK啊行,那么如果大家呢,你想看一些教材的话呢,嗯,咱们商务也出了一本教材,当然国内的教材相对来说呢,写的都。还差不多,咱们希望呢,写的要厚实一点啊,感觉像在做广告似的是吧,看一下啊。这个这个Java是吧。咱们那本书呢。我应该写的具体一点。啊,就这个这样啊。我写上古试试啊。哎,有是吧,哎,就这本书哈,这本书挺贵的是吧,因为咱们写的可厚了哈,就是想把它呢也出成一个类似于像像这样的书去去靠拢,当然又希望写的通俗易懂一点。呃,就就写了这样一本书啊,尤其你的话,你就买也行,或者你不买它,你整这个什么,呃,从入门到精通啊,如果你想看的话啊也行,哎,那些书呢,相对来说呢,他就更容易上手一些,诶等以后的话呢,你再看这些书,你会觉得说原来的那些书写的都一般是吧,但是呢,他是你成长路上呢,必须经过的一个阶段啊。
08:10
好,这个呢,我们说的第一个事儿啊,这就过了。呃,然后咱们来看这个第二个事儿啊,呃,那具体来讲的话呢,咱们就开始来看一看整个这一章我们讲的这个内容,呃,首先的话呢,我们说一下这个叫呃,软件啊,开发啊相关的一些内容。哎,那么一提到这块的话呢,我们首先这个。我写一个叫2.1了啊,首先提到呢,这个,呃,计算机的一个构成。啊,这个我们就要说叫啊硬件加上这个叫软件啊啊,那硬件这块呢,这我就不用多说了啊这个就不过多的去解释了,CPU啊,内存呐,硬盘呀,键盘呀,鼠标啊,啊输出设备。打印机啊等等啊,网络是吧,等等这个就过了啊,然后2.2啊,这个我们主要呢来说一下这个软件啊,软件的话呢,首先提到一个概念,就是什么是软件。
09:02
在这啊行这个概念的话呢,大家不用死记硬背啊。来,转过来。来按照特定顺序组织的啊,计算机的,呃,数据和指定的一个集合,有系统软件和应用软件之分啊,那里边儿所谓的叫系统软件。哎,系统软件呢,就是我们集啊操作系统。啊,然后呢,呃,典型的有哪些呢?这个Windows是吧。这个还有我们这个的操作系统。Linux的。安卓的。嗯,对,IOS的。哎,这个等啊应用软件。诶,这个呢,就是我们及呃操作系统之上的一些应用程序啊。啊,应用程序啊,这个OS呢,就是操作系统。啊的意思。好这呢,就我们说的这个软件的这个概念了啊,好,那么这个概念完了以后啊,接着我们回过来。
10:02
哎,下面我们就提到一个叫人机交互的方式啊。那这个我们就放在这个。2.3啊。哎,人机交互的方式,哎这呢,我们就提到两个啊,第一个呢,我们叫哎,图形化界面的交互方式。那这个我们称为它叫GUI。那就他。啊,那第二呢,叫命令行的一个交互方式。啊,那么这个呢,成了c Li是吧?OK,那么这个命令行交互方式里边呢,我们需要大家去熟悉。诶,常用的这个DOS命令。啊,常里倒数命令呢,哎,回忆一下啊,就是这个ADR。这个CD啊,我们就要进入相关的这个路径啊。呃,然后呢,哎,这个还有CD出来的话呢,CD点点。啊,CD斜杠。
11:00
这个斜杠或者是用这个,呃,这个斜杠也行是吧。然后这呢是我们进去出来还有创建目录。MD啊,删除目录。RD是吧,删除文件的DL这就算了是吧。呃,然后呢,还有我们这个方向键的一个使用啊等等啊。哎,这样就可以了啊,哎,清平的CS行主要的就是这些。这呢是我们说的,这叫诶人机的交互这个方式啊,在这块啊,好,下面是一道叫计算机的编程语言啊。就往前拽一下啊。2.4。诶,计算机啊,编程啊语言啊好,那么编程语言这块呢,首先我们提到这样一个,呃,语言的一个分带啊。哎,这个呢,大家做一个了解就行啊,这个第一代机器语言是吧。
12:00
来继续啊,第二代。汇编语言。那第三代?哎,高级语言。哎,高级语言这块我们又分成两个阶段啊,面向。过程的阶段。还有呢,叫面向对象的这个语言啊,那面向过程这个语言呢,典型的就是我们这个C语言了。啊,那么面向对象这块呢,C加加呢,是具备了面向对象的特征,但还不纯粹啊,像我们说的这个Java呀。Python或者我们这叫c sharp是吧,那这个c sharp的话呢,就是。微软搞出来一门语言是吧,在整个这个微软的这个体系下呢,软件呢,都可以用这个c sharp去写,它为啥叫sharp呢。他其实想。看作是四个加是吧。C加加加加再加加是吧,但其实它跟C和C加加呢,也没什么关系哈,不是基于这两个,它后边又迭代出来的啊。好,这个呢是他,然后呢,还有这个Python是吧?哎包括呢叫go语言,哎包括呢叫javascript。
13:01
哎,等等啊,这呢都是变相对象的这个语言啊,啊这呢是我们从那个语言的分带上呢,大家呢,做一个了解啊,熟悉那就可以了啊。好,那么我们这块呢,再回过来这个语言排行榜,这个大家也是了解一下就行啊,编程语言该学哪个,这里边儿呢,想给大家强调的这个话术呢,是这个。啊,没有最好的语言,只有在特定场景下相对来说最适合的语言。这句话呢,大家要有一个深刻的理解。也就是说,比如说你现在你想做这个后台开发了啊,那么你要首选的可能就是Java了。啊,那我现在呢,想做这个数据分析了,呃,你可能首选的啊是R语言或者呢是Python语言。哎,我我现在想起一个这个客户端啊,是网页端的,那你要学GS。啊说在特定的场景下呢,诶某个语言呢,可能它是最适合的啊,只能是这样来讲,没有啊一个语言啊。各个领域它都是老大没有啊。
14:02
好,这呢大家要体会这样的一个概念,行,那么这个完了以后的话呢,下边我们就来讲一讲Java相关的这个历史。啊,这个咱们写一个啊是三啊Java概述好,那么Java概述里边呢,首先这个3.1呢,就是a Java的一个发展史啊,这个大家做一个了解就行啊呃,有他呢,一开始的这个产生的时候啊,后来发展的时候啊,等等这样的一段历史啊,那那么在这段历史当中呢,我们其实要提到几个版本啊。啊,几个重要的这个版本,这个版本呢,这个首先咱们先提第一个吧,九六年。这个发布的第一个版本。JDK1.0是吧,诶这个了解一下啊,好,这是一个了,然后另外一个的话呢,诶,我就不写具体年份了啊,你也没有必要去记了这个里程碑式的版本。对,这个呢,我们提到叫JDK5.0,这个是最重要的一个里程碑的版本。
15:02
呃,然后另外的话呢,呃,其实就提到叫JDK8.0了。对,你包括呢,咱们这个8.0是2014年发布的啊。呃,你会发现呢,到目前为止,8.0的市场占比还是非常高的,高司令都说话了,说你们赶紧把扎二八呢给它卸载了吧。呃,那他之所以这么说,也可见扎尔巴呢市场占有率还是很高的。否则也不会说这样的话是吧。嗯,好,这呢是我们说里程碑式的版本啊,然后另外的话呢。诶,我们提到了啊,在扎二巴之后的,哎,长期知识版本啊,我们提到了,对。哎,JDK11,嗯,还有呢,叫AJDK17啊,他们都是LTS。这个呢叫long term support啊,叫长期支持的版本。Long term term。啊。事儿啊。色泡啊。
16:01
好,这呢是我们说的这个长期知识版本啊,这个呢,我们在讲课的时候呢,大家说了啊,咱们以它为主啊,因为现在呢,主流的框架呢都要啊,从八的这个贝斯大呢改成17了。行,这是我们说的这个版本上的这个问题啊。好,然后另外的话呢,我们提到了一个,诶Java语言支付是吧。嗯。这我们这个写一个它吧,3.2啊。Java之父,那个Java之母咱们就不用记了啊,那这个叫。詹姆斯。诶高斯林啊好,这个呢是他啊嗯,这是一个,然后还有啊3.3,诶Java呢,具体的这个平台划分啊。那这块我们提到啊,呃,比较早的时候呢,它叫Java,呃g two。SE是吧,然后呢,他后边呢,不是在5.0的时候呢,就改名了啊叫Java SE。
17:01
啊,这个呢,是我们桌面机用的哈,然后呢,G two以。诶,然后呢,现在叫Java以。啊d two。密啊。对啊。这个我们叫a Java,诶。沙蜜是吧,这个如果你要遇到这个成员,你说你是做什么的,你说他说呃,我是做g two e的,他可能是叫习惯了啊,其实呢,就是他,那也有可能这哥们呢,比较老了是吧。因为以前都这样叫啊,那现在的话呢,我们都叫诶JAVA1啊,当然你不用刻意的,你说我是做g two的,显得好像你老一点似的,没必要啊啊诶这个呢,就我们说具体平台划分,那现在来看的话呢,这个Java已经不再去做桌面禁用了。诶,我们也呃很少呢,用Java去写一些具体的一些外部设备,因为现在那个小型设备呢,安卓iOS基本上都快统治了是吧。好,那么这呢,是目前Java的主要的一个应用场景啊,所以借着这的话呢,我们可以说啊,Java目前。
18:03
呃,主要的这个啊,应用场景诶,首先是Java后台开发。哎,这是一个主战场啊,另外呢,按时间顺序来讲呢,我们说叫安卓开发。安卓客户端的这个来开发。啊,像咱们商务呢,也以前开过这个安卓的方向啊,我还讲过这块的一些呃项目的啊,就是我们用Java程序呢,就可以去写了啊好,然后呢,我们还有这个诶大数据的。开发,哎,这个呢,我们像韩杜呀,Fli呀,底层源码都是用Java来写的,那我们首选的开va语言,那也是Java。啊,那你像这个s Spark的话呢,虽然它源码是用skyla写的,但是呢,我们呃,开发语言当然你首选可以S卡拉是吧,那但是也可以用Java去开发。好,这呢是我们说这个叫平台的这个划分啊,这个大家注意一下。嗯,那这个关于这几个公司的事儿,咱就不多说了啊,然后下边呢,就落地到咱们具体啊实操这个层面了。啊,这个是一个啊四哎,Java的一个环境的一个搭建啊。
19:07
哎,环境的搭建啊,这里边呢,哎,就涉及到首先哎,大家需要去捋清楚的就是JDK。啊,这个GRE。啊,还有这个,呃,GVM3者之间的关系。哎,这个呢,不用多说了是吧,哎,意思呢,是前面一个包含后边一个。啊,这个注意啊,好,那么这个清楚以后呢,对于我们程序员来讲,我们需要安装的是adk。哎,那下个问题呢,就是诶JDK的下载是吧,哎,这个呢,推荐的就是官网去下载。哎,大家以后呢,下载软件你不要。在百度里边说我想下某个东西,我去百度里边搜一个啊。不靠谱儿。啊诶就是一官网二啊,我们有一些开源的一些平台啊,比如像github呀等等的啊,去那块去下以后我们都会慢慢的接触到啊百度那块下不靠谱,万一他要里边给你集成了一些。
20:06
呃,病毒啊,或者说他自己的一些东西给你改了,那你后边呢,你老出问题,你以为呢是你的问题,其实不是你的问题。啊,那不行是吧,啊,这是下载啊好,那下个呢叫GDK的一个安装啊,这块我们提到了啊。哎,这个是安装,哎,JDK8啊和。哎,这个K17。啊,在一个电脑上你可以安装多个版本的JDK啊。你要用哪个呢?主要看你环境变量啊,用的是哪一个了,这是我们说的第一个事儿,然后下个呢,就是我们这个,哎,环境变量的配置。哎,这个呢,我们说呢是很重要的啊。那当然了,我们发现呢八呢需要配17呢,不配也行,这个17的话,你也可以按照我们讲的那个顺序啊,你把呃,17的那个B的上一层路径放到Java home里。对吧,然后呢,你在那个pass里边呢,就引用一下那个啊Java home啊也行啊,这是关于环原面料啊,这个大家是需要做的,要不我们命令行这块呢,就没法去执行了啊。
21:09
好,这呢是环境变量一个搭建,然后呃,接下来。哎,这个第五个点啊,真正我们说叫I ho的一个编写啊。哎,和编写和常见问题的解决。来解决啊,这呢是我们今天讲解代码层面上的一个重点内容。哎,需要大家呢,重点下来来看的啊,行,那这个内容的编写,咱相应的这个代码呢,这块都有,嗯,我把这几个代码呢,给大家往这块粘一下啊。一个咱们是写的,Hello,这是第一个程序啊。And receipt。在这啊。哎,这是咱们第一个程序。哎,这是它啊好,然后呢,下边我们又写了这个,呃,测试这个程序啊。
22:05
哎,咱们写的是这个。RC。嗯,这是这个啊好,那么这是我们说的这个事儿,然后呢,关于他的一个总结。哎,这个我把这个呢,就给大家粘一下了啊。就在这儿了,好,这个呢,我们就告一段落,这是咱们今天的一个重点,然后第六个呢,我们讲了一下,这个叫呃,注释的一个使用。哎,这个呢,就是我们有三种注释啊,对应的这个内容呢,咱们就写到这儿了。哎,我把这个呢,就直接的给它粘过来了啊。OK啊,直接呢,大家晚上呢,你看我们这个文档就行,里边的这个代码呢,就都按照这个顺序呢,我们给大家罗列出来。好,这呢是我们说的这个注释,然后呢,下边呢,又提到了一个概念啊叫诶。API文档。
23:01
啊,这块呢,大家做一个了解就行,后边呢我们会哎,使用起来就行了啊。好,这呢,就我们说的这几个事儿,然后呢,相对应的这个练习啊,这是第八个啊。哎,练习这块呢,我们有两个。练习一。练习二。这呢,我们把这个给大家粘过来啊,CTRLC。哎,这个呢,我也粘过来啊,CTRLC。还这请啊好,这呢是咱们,呃,今天这样一个随堂的一个复习,诶然后下边呢,有几个这个题目啊,咱们来看一看啊,说企业真题针对咱们第一章讲解啊,有哪几个问题我们可以解决呢?来看第一个啊,诶我就把相关的一些这个企业呢,我就给它滤掉了,呃,你应该看不出来这是哪吧?啊嗯,有点明显是吧。好,看第一个啊,就在一个点,Java原文件中是否可以包含多个类呢?
24:05
是的是吧。好,那么有什么限制吗?对,咱们说呢,是不是只能有一个呃类声明为public。而且呢,他必须得跟我们这个原文件名得一样是吧。哎,对,就这个事儿啊。好,这个就过了下一个渣的优势。啊。其实这个话呢,咱们刚才也写了几个哈,第一个呢叫跨。平台性。还有。还有什么?啊,对,安全性高。还有。简单性是吧。啊,相较于我们C加加来讲,它不是一个减减版嘛,是吧,还有呢。呃,高性能啊,说现在跟这个C和CI呢,是可以并驾齐驱了是吧,还有。健壮性,嗯,哎,我们刚才呢,这不是在这块来说的嘛。
25:03
平台性。啊,面向对象性健壮性是吧,嗯。哎,见壮性行这些呢,其实都是比较官方的一些说明啊。呃,我要是,呃作为面试官,我要问的大家的话呢,其实呃,我不是面试官,我要是一个被面试者要我说的话呢,我可能这些呢,也就一笔带过,我可能最想说的是什么呢。Java的优势在哪儿呢?社区。比较繁荣。啊,有大量开源的第三方的框架可以去使用,基本上你需要什么样的功能都可以在啊一些开源的一些平台上,差不多你都可以找到对应的一些。啊,开源的一些框架可以去直接来调的啊,这呢实际上是Java极其具备优势的一个点,你说这个跨平台性面向对象,其实现在有好多语言都可以跨平台,都有面向对象型,他们也挺健壮的,他也挺安全的是吧,但是呢,他跟Java没法比的一点,就是Java的社区极其繁荣。
26:04
这也是为什么安卓。啊,在一开始起来的时候呢,其实一开始这个安卓的话呢,是想用C和C加加作为它的开发语言的。但是呢,奈何呢,呃,渣瓦成员特别多,社区的也很繁荣,所以呢,他就在上面又加了一层。啊,就用Java的类库啊,加进去之后呢,然后呢,诶吸引Java程序员说你们赶紧过来是吧,来做安卓开发吧,把我这个安卓市场呢给他充斥起来,所以你会发现呢,事实情况也确实如此啊,很快安卓市场的API的这个,而且APP的数量就超过iOS了。然后呢,这时候呢,呃,微软说我也想种。然后微软就给晃了是吧。哎,温就没起来啊对,这呢,其实是Java呢,隐藏的很大的优势啊。好,下一个说常见的几个命令行的这个,呃,指令这个咱们上面已经复习过了啊,咱们这呢就略是吧。说Java中呢,是否存在内存溢出,内存泄漏?存在是吧。啊说那如何解决能举例说明嘛,不能举例是吧。
27:04
嗯,这个咱们现在还没有讲啊,这个暂时呢举不了例子啊,那问一句,诶讲刚才讲过什么叫内存泄露啊。啊,认为我认为这个挺绕的啊,对这个你别说我认为的,你就说呢,从程序的角度。这个我我讲课的时候,咱们是为了方便大家去理解是吧,但是你现在你跟面试官去交流的话呢,你是做开发的,你也做过,他也做过,咱们是不是应该聊点。咱们能听得懂的专业的词汇是吧?呃,你说我们这个程序在执行的过程当中啊,呃,明明这块呢,已经是不再使用的内存空间了,但是呢,GM通过相关的算法判定以后呢,不认为他是垃圾,那么就构成了内存泄。比如说。哒哒哒哒哒是吧,哎,现在呢,绿是吧,OK啊。好,这个是拼多多问的啊。下一个啊,说如何看待Java是一门半编译半解释型的语言。
28:04
这个是哪儿呢?诶,这个问题啊,其实我在这块抛呢,大家可能觉得,哎呀这个是不是有点重是吧,或者这个有点迷糊,诶当然我想呢,还是稍微说一下啊,因为我在最初学Java的时候呢,这句话呢,确实那本书写的是有问题的。啊呃,一提到说Java是半编译半解释性的语言,我们可能会怎么去解释呢?或者说,Java为什么是半编译半解释性的语言?诶,可能咱们会往这个方向去想啊,以前我在学习的时候呢,那个书呢,也是这样说的啊,你看我们是不是先编译。后解释运行是吧,说为什么张老师半编译半解释性语言呢?因为我们得先编译后运行,所以叫叫半编译半解释性的语言,感觉还挺顺的是吧。注意是错的啊。不能这样解释。诶不能这样解释,那呃,这个事儿应该怎么去解释呢?其实我们主要是看这块儿。
29:03
啊,这块我就简单给大家说一下啊,咱们生成的这个自解码文件之后哈,如果我们使用Java这个指令,咱们就说叫解释运行呢,其实它具体在执行方面呢,它有两种方式,一种呢,就是逐行的去翻译来解释执行,这叫解释行。呃,还有一种呢,就是它针对这种热点代码呢,它会提前呢,把它呢,翻译成相关的机器指令,你如果要后边再调呢,我就直接呢,就拿这个机器指令去执行了,这个性能会更好,这个呢,就是用到了这个叫git。即时编译器。哎,为什么说Java现在这个性能很高,跟C呢,可以并驾齐驱,就是因为有它。哎,那Java呢,叫半编译半解释型语言,是因为它可能是编译,这是编译的啊,也可能是直接解释性的,所以这叫半编译半解释性的语言。啊,是这个意思啊,诶,那你回到这个图这块呢,你看我这也写了啊,咱们这个原文件先编译生成的叫四解码文件。
30:01
这个解码文件再往下走的时候呢,它可能是解释执行的,也可能是git编译器执行的,这叫半解执行半编译型的语言。你会发现呢,说这儿呢也有一个编译器,这呢也有个编译器,你可以把这理解成了叫前端编译器,这个叫后端编译器。好,说完了。诶行,这呢,就是咱们第一章啊,所有的咱们知识点和对应的企业的真题,哎,咱们就告一段落,明天呢,咱们接着第二章。好,今天咱们就到这儿啊。
我来说两句