00:00
好,下面呢,我们来去看三个概念,这三个概念看起来特别特别简单,但是你通过我写的这么多文件,你就能知道这些东西不简单。我们先来看一下啊,就是我们要去跟大家去解释一下数据变量和内存这样三个概念,以及它们三者之间的一个关系。嗯,大家要自己思考,跟着我的思路思考啊,首先我们解释来,你来说一说。什么是数据啊?这个说的数据并不是现实生活中的数据。对不对?你看现实生活中是不是也数据,大家每个人都有数据吗?这能理解吧,每个人都有数据,你身上不有信息吗?现在我们说的数据是什么呢?存储在哪个里面的内存中代表特定信息的。
01:00
这个东西就不好描述了,我称之为东东,这里没有干,你总不能说存储信息的数据,那不就回去了吗?是吧,本质上是什么?0101。二进制数据你不能,那后来又通了,又到数据里面去了。能不能懂?好是前面的这个东,这个概念很重要,首先1000里是在内存中存储的,没了吧?好,这个很关键,代表了特定什么信息,举个例子,如一个A等于18。首先来看一下这个18。是不是就是一个数据啊,对不对,那刚刚说了数据这个18是存在内存里面的吗?是吧?是那它代表了特定信息吗?因为它标识了某一个人的年龄吗。
02:03
能不能理解,那你们说老师好,那我搞一个,比如说我搞搞搞一个,我来一个A等于一个,你说这R代表什么。这个时候主要是你这么写的话,那就真不知道确切的代表什么,真正在去写项目的时候,每一个数据都应该有一个对应的信息的。我写这个啊,无非就代表一个数字而已,对吧,但是真正写项目的时候,任何数据是不是都代表特定信息。测试和真正取向它不太一样,测试了我随便写个值就行,代表它是个数值就OK了。能不能理解好那。没问题啊,那下面我们来说,那什么是内存,内存还要解释吗?要。内存是什么呢?这其实是这里面最虚的一个概念,因为你没见过他,看不见。
03:02
能理解吧,好。那你看不见内存,那我让你看什么呢?大家看看过什么?这就对了,这个内存跟内存条呢,它是啊有关系的。来我跟大家说一下,大家就明白了,就啊内存。哎,什么呀,内存条通电以后产生的。呃,用来存储可存储啊产生的,可存储数据的空间产生啊,可存储什么东西数据的。空间。能不能理解,但是这个这个有人说你给我看呢,我没法给你看,这怎么给你看啊。
04:07
而且你还要知道一个事情。临时的,什么叫临时的呀?刚刚说过了,这个东西它有一个条件要通电。你说老师我这个这个还要说吗?不一定,因为大家很多人有的同学可能不是没学过计算机相关的知识啊,这很正常啊,因为我之前也是懵逼的状态。好,而且我要跟大家说一下,简单的描述一下它的,那这个过程是个什么样的过程,也就是说内存产生好什么呢?不是产生了死亡呗,是吧,首先你手里面你应该有个什么内存条是吧。内存条,内存条本身是什么东西啊?
05:02
啊,是个电路板嘛。你说电路板又是个什么,那就没办法了嘛。就是一个一些电子元器件啊组成的一个111个平板是吧,一个一块板子啊,这个板子它一个特点是干嘛呢?首先你要干嘛,对它进行怎么操作,是不是要通电呢?是吧,那通电以后它就干嘛呢?产生什么通电是不是产生内存空间能理解吧,那下面我们就往内存空间里面放什么,是不是存储数据。对吧。并。是不是有可能对数据进行处理啊,可以不?嗯,下面写一个处理数据吧,好,最后有一个。我家断电。
06:00
这是干嘛?内存、空间和数据都什么消失?你说数据咋消失了呀?你空间都没了,你数据还在。认了,不说白了,这个地球的毁灭了,你还能在,你肯定不在了嘛,这很正常,你,你就是他上面的一颗小棋子而已。OK。好,这个大家应该得去清楚,大大概的一个它的一个过程,这个没有什么问题吧,没有好下面我们先不写啊,那也就是说现在我有没有啊,大家看我什么时候产生内存空间呢。其实我现在内存空间有没有。有没有有就是我的我的这个电脑一旦开机了。
07:01
它是不是有内存空间了,对不对,但是有一个概念啊,它内存空间可能开始是一个非常大的一个内存空间,但是我们的这一个,这整个电脑里面是不是很多应用程序啊,啊那个应用程序,也就说那个CPU会为每个应用程去去,诶有东西的啊,去分配一个是不是他们独立的一个内存空间。哎。也就是说,这个应用是A应用的,这个应用是B应用的,这个应用是C应用,这个应用是D应用的,能搞懂吗?好。那下面假设我当前的就是C应用,就浏览器吧,是吧,那浏览器运行是不是占据了整个这块内存区域,这块就代表浏览器啊,接着浏览器是不是加载我的这个代码。你说下载代码要不要内存空间存呢?要不要,要是不是,诶有可能在这个地方是不是存了他的代码。
08:01
好,下一步干嘛呀。下一步是不是要解对我的这个代码进行解释执行啊,其实前面还有编译的过程啊。就是我们的代码能直接执行吗?不能,先得做什么操作编译,只是这个编译是什么时候编译的,是在你运行前的一个什么呢?一瞬间就是。几毫秒或者一毫秒以内的时间,就把那个编译的工作给做完了,尤其是我们的测试代码,因为代码很少嘛。能不能理解代码量很少,它瞬间就编译完了,编译完了以后干嘛去,是不是解析执行了,那解析执行是不是发现了这样一条语句。那怎么办呢?我们简单来说,我们不说那么严格啊,因为有变量提升的问题,不用管那个事,那首先我是不是看到你这次这么一条语句过了一个A级,等于18,是不是有一个变量,有个数据啊,那我应该干嘛去?
09:01
是不是分配空间呐。能不懂分配一块小内存,给它取一个名字叫什么A往里面存什么18是吧,18放里面去给它取了一个名字。能理解不来,那你说现在我们不说那个内存了,我们先说变量变量那简单翻译,变量直接翻译,怎么翻译啊。嗯,OK,可变化的量有有放在有的白色啊,OK,那首先啊,跟变量对应的一个概念叫什么呢?产量常量是什么?是不可变量的一个数据啊,不能变化的吧,啊不会变化,然后我们变量呢,是可变化的一个量,它有几部分组成。一个变量变量零和什么变量值对吧?组成能不懂?这都是基本概念,好,下面一步。
10:10
每个变量一个变量,每个变量都对应一块什么小内存?能不懂我们那个变量生命的最终不要产刚我们画的图嘛,那个有个A级所对应的内存空间,它里面存的是18吗。好,变量名用来干嘛的?你看它生成那个内存空间,是不是给他取了个名字,为什么要取名了,为了保存数据就要取名了,对,为了找到内个内存,那变量屏用来干嘛?查找对应的什么内存,你先找到内存再说,你就找那位。
11:00
能不能理解,因为刚刚不取了个A吗?A相当于是不是它的ID啊标识,懂这个意思吗?能理解啊,好大,看变量名,用来查找到对应的内存,那变量值是什么?那我我变成值,譬如说我打1A级,是不是得到的是十,得到最终输出的18呀,这有个过程,大家看它。诶,比如说这还有什么过程,这不就18吗?咱现在不是分析它里面的一些道理吗?那它的这个过程来看一下,我们看到这个景,它最终是有个什么过程,首先我拿这个A景干嘛去?是不是找到它所对应的那块标识的那个内存位置啊。找到以后呢,读取这个内存的内部保存的数据吧,是吧,呃,我们把这个数据就称为什么变量值,也就变量值就是什么。
12:10
内存中保存的数值数据。能理解吧?大家现在啊,不是说每以后你你有时候老师我以后是不是看到这个我就想,诶先找一找找,那你再去把那个18把那里面数据取出来,那你不想想每每天都这么想呢。那不想死了吗?我们现在有的时候是需要想细节,但是你细节很清楚了,你是不是把细节看成一个整体的哦,背景18找到18。这应该干嘛好?大概这三个点应该都清楚了,对不对?好,下面我们来说一下啊,有的知识还可以再说一说。
13:01
譬如说啊,我们来说一下这一块内存,内存呢,它是不是有一个概念叫叫我说一个是内存。嗯,一块内存数据。内存的两个数据吧,一个内存一块,诶是什么呀,一块小内存。的两个数据。也就是说我在内存里面一大内存里面肯定是某一个小内存啊去对吧,啊,假设对空间里面有个内存嘛,大家想它为什么说有两个数据啊。一个是内存里面它是不存数据,内部它是不是存的数据。还有什么数据?还有什么数据?啊,我写一个啊,这个大家不懂是吧,其实非常简单,譬如说过来一个obj,就等于一个它啊来一个name,来一个to,好,现在我的这个是不是就在D空间里面的一个对象。
14:07
是吧,就对公间里面一个对象好,你说现在我的OB保存了什么,是保存了这块内存地值,那也就是说我现在将这个对象用一个等号是负这个OB值的时候,它读的是内存的什么值地值值。那也就是说内存里面除了它内部存的数据外,还有一个它的什么值,电子值。能不能懂啊那。现在我这么做大家看啊,首先我去输出这个OB节点内容,首先找OB节吧,读的它的什么值,是定值还是内存的值。
15:00
我读这obj是读了它内部存储的内容还是obj的地址啊。这个一定要搞清楚了,Obj,我读这个obj的时候,到底是读的是内存的内容,还是读的是这个内存的地址,嗯,这个很关键,这一步非常关键,容易搞错什么内容。只是这个内容它是个什么值地子值这一步非常关键,什么意思大家看啊,就以这句话,诶诶这句话为例,我们左边有一个占空间,右边有一个什么对空间,我这边是一个什么东西,我的名称叫什么obj。是吧,好敏捷好了,我我这边是不是应该有一个对象啊是吧,把对象里面是不是有一个name。内属性对吧,内属性它是不是有个值,好,那现在我将这个对象用一个等号复制O,它做了个什么处理。
16:09
读取这一块内存的什么地址值,保存到哪里去?是保存到O里面去?大家估计还都还不太清楚。行吧。因为这一步非常非常关键,你要这个理解,其实你有很多东西,你是不是不是真的理解,你是表面的。我刚才不有一句非常简单的一句话,这句话呢,大家都可能都写,就觉得非常非常简单,有时候可能甚甚至不信。对吧,好,现在我们来看一看。嗯,首先呢,在这个地方创建了一个对象是吧?创建这个对象呢,对象有把这个对象往上挪一点,这个对象呢,一个是它里面有存的数据是吧?存的数据是一个名字,它的名字叫什么?那它的值是多少to是吧?那本身我每块内层是不是都有个地值。
17:20
假设我叫0X123啊,我这么写就代表它是一个第十,能理解吧,跟别的数据的区别开来。一看就知道是个例值,好了,接着我做一件事情,是不是定义了一个变量,变量应该在哪个空间,占空间没问题,开始它里面有数据吗?是不是没有,没有计算地方就没数据,那现在我做了一些事情,做了些什么事?是不是等号赋值啊?是不是在右边的负值的左边?那如果我的等号右边是一个对象,它是怎么赋值的?将对象的地址值赋值给这个变量,那赋值给变量是个什么概念?
18:05
是不是把将这个数据保存到内存里面去,那也就是说我现在这一块内存,它里面存储的是什么内容,0X123。懂不懂啊OK,那其实这块内存它有没有地值,有没有这块内存每个内存都有地值,懂吗?只是说你用不用的问题。能不理解啊,线平常的时候我们是不是还会做一些事情,做一些什么事啊,是不是画根线指向着他呀,是吧?画过吗?画过啊,这个应该画过,这个线是真实存在的吗?是还是不是,干嘛呢?是还是不是不是,那肯定不是的,只是用来让我们交流的时候好交流,知道我的这个值,我的这个里面存的这个例子,就是这个0223对不对啊,是个虚的,是不真实存在的,这个搞清楚好,我再做一件事情。
19:14
我再协调代码。若一个A等于OB。那应该怎么做,怎么画,首先我要在哪画,在这个里面是吧?画一个是它的名字叫什么A,那我的A的值是多少呢?多少0X123,也就是说变量赋值是做一件什么事情。将一个变量的保存的内容拷贝一份,记住啊,是其实是拷贝对不对,放哪去,是不是放到左边的这个变量内存里面。
20:02
那也就是说我们平常也会说这样的话,是不是就有两根线了?是这概念吗?啊,这个要清楚啊,看能不能懂。那好了,那现在我后面不还有一条,还有一条语句吗?还有语句叫obj啊,我can.log。什么呢?OB节点内好看看怎么样了,首先我是不是要去找,根据名称,我们刚刚说过了,内存是怎么找的,就是根据名称来找的,对不对,我拿着这个OG是不是找到它对应的内存找到哪里去了,是不是找到这个下面来了。接走干嘛?是不是读到它里面的内容,发现是什么地址0X123,那这个点是用来干嘛的。
21:04
点起的是个什么作用?对。你看啊,Obj点内,你要想去能够去拿到内,你先得到哪去。你是不是先得啊,现在我们开始obj是不是在这里,你是不是要到这里来才能看到这个类目。你说点干嘛的?点是不是相当于拿着我的这个0X123,沿着这个箭头找到它所对应的内存。是吗?那是不是所有变量都能点呢?是吧?那什么样的变量才能呢?什么样的变量才能点呢?
22:02
是不是我这个变量的内存存的是地值才能点呢?对不对?其实很简单,我们的内存里面某一块小内存占空间,小内存它可以存基本数据。也可以存地址数据,如果他存的地址数据,我们叫它是引用变量是吧,那本质上你去能够点是不能点是不是他存的这个地址,我去找对应的地址,我现在点的话,就找到这个类存对象的地址了吧,是不是找到它了,找到它以下面做什么,是不是读他内部的数据,那我是根据怎么读。是名称啊,找任何数据都是根据名称找到对应的内存,读取它内存里面的值。对吧,啊,那现在很简单嘛,其实现在很简单,它这里面是不是有一个内存叫内呀,那我最终得到什么,它里面存的烫吧。
23:02
懂不懂,也就是说这个我画的这个东西。这个不有很多冒号吗?冒号的左边是什么?是不是这块小内存的标识冒号的右边是什么,是不是它内存,内存里面内部存储的数据。能不能理解啊,OK,但你说这块内存它有个地址,你有任何内存都有地址,只是我用不用。能理解吧,什么样的内存的地址才会用呢?什么样的内存啊,才会用它的电子值,其实很简单,就是它是个对象。他如果这块内存是一个对象。它是一个对象内存啊,它这里不是一个对象吗?它它的定值我们就用。其他的都不用,其他都用什么呀,是不是用它内存里面存储的数据。
24:05
能理解吧,啊,那我的变量,我这个变量,假设我的这个变量是一个引用变量,是不是就会用它的定值了。比如说你看落了一个A等于obj,我是不是在用obj的壁纸啊?是不是我是在用obj的地址吗?是还是不是再问一遍,我是obj不对应这个内存吗?是吧?我是将这个obj的地值复制个A吗?是还是不是不是。对,不是不会变的,永远只有一种情况,什么情况将它里面的数据拷贝疑问保存到什么A里面去,刚刚说了只有一种情况才会去复读,地址值什么情况对象。有没有懂我将一个对象复制了谁的时候,他就会谁。
25:05
他读的就是什么第几。只有一种情况才会读补地子,其他所有时候都在干嘛?读内存的内容,只是说内存内容有两种数据,一种是基本数据,一种是什么地址值数据。对不对,这个一定要搞清楚。嗯。好,这个大家下去还得把这个看一看啊,这个非常关键,这是我们后面再去画图,再去理解的时候一个基础。行,那也就是说我们一块内存有两个数据,等两个数据内部。嗯嗯,内部存储的数据是吧,还一个是什么地址值数据对不对啊OK。
26:06
那个地值是用来看没有,是不是用来标识那块内存的呀,是吧,最后我是不是从你看呢,我们的地值数据是不是交给了某另外一个变量产生了A,我通过A是不是就能找到这块内存。假设这个内存吗?会有两个方面的数据吗?一个它内部存储的数据,一个它本身的地址数据。所以说地址不就在某个位置吗。是吧,标识它位置的数据。啊,这个下去后大家好好的自己想一想。还有一个嗯,OK,这个是大家应该清楚了内存的分类。分哪两类啊,主要的就两类啊,一类叫什么在一类叫什么,对意其实也有别的空间,只是我们平常不用考虑,譬如说。
27:02
首先第一步是不是要把代码加到内存里面去,那肯定应该有一个区域来专门存什么。存代码。你加入内存里面,你的空间存嘛,这个能不能理解。啊,OK。我我一上来我这个代码我不开始浏览器运行嘛,首先第一步不是要去把那个把那个内存,把那个代码加到内存里面,那开始肯定是应该有一点区域来用来存什么呢?存代码,代码不也是数据吗。是吧,是下一步我们说了代码加电下一步干嘛。下班吗?代码教学整理下步干嘛,我们说它是不是要先编译再解析执行啊,那接着干嘛去,是不是编译它呀。对吧,其实编译以后的那个结果,那个质检码是不是也要存钱了。是吧,最后才是干嘛解析执行。
28:08
能不理解啊,OK,首先要将代码加在内存里面,接着是去编译,接着再去什么解析执行。你先别想着记,我一说,你最后能懂就行。啊,懂了自然就记住了,你没懂你你记住也没用。啊对空占空里面存什么啊,这个线了这啊不好意思啊,看看不太清楚占空间存什么。什么?基本基本基本基本数据类型,基本数据类型,这能采纳。肯定存的是什么数据,对不对,什么样的东西,那类型呢,其实非常简单,就是全局变量和局变量,我自己写吧。
29:07
对,空间里面存什么,其实非常简单,等一下。是不是好,你们来看这个嘛,看我们这个图你就知道,你看我左边都存了什么东西,是不是抽出来来变量了。是吧,而我右边传递什么对象,那有人可能说老师这个内不是个变量吗。发现内姆是不是附着在对象上面数据啊,内姆是全局变量吗?是局部变量吗?是不是说老师看着像是是还是不是,这个类目是什么全局变量或者局变量吗?你说老师你放在函数里面就是绝部变量是吗?搞不清楚了。我一个定一个方写是吧,FN可以吧,我过一个obj等于一个对象,对象里面不有内啊,举个例子啊,正议属性都可以好是吧?那请问现在内是逐变量吗?谁是局变量,谁是局部变量?O间是局部变量,那也就是说占空间里面是谁?
30:26
OB,对,空间里面是谁,是不是这个对象,你对象那个内是不是对象内部的数据,那你说在哪里。堆是不是堆空间里面啊,这不很自然的事吗?你说你人在,你在教室里面,难道你的手还在外面,你不可能的是吗?能不能懂啊?OK,这些概念都大家都要清楚啊,记住那对象在乎它的具体类型吗?
31:03
在过具体类型吗?也就是说它对象不有数组或函数吗?我一个函数在哪个里面。在对公里还是在大公间里面,哪个里面对啊?是在对公里的函数是个对象吗?能不能懂啊,但是得说这个也要说函数名呢,为什么还是在这里面呢,他本质上是一个什么变量嘛。确保啊,我这里说对象在堆空间,是对象本身在堆空间里面吗。对吧,而标识这个对象的变量应该在哪里,占空间里面。
32:00
啊,这个大家需要去搞清楚,是对象本身肯定是在对空间里面的标识,这个对象的变量应该是在什么占空间里面。啊,这个要搞得非常清楚才行,不论是仅仅是能了解啊,必须搞得非常清楚。好,这些搞清楚,还有一些啊,这里面画的每一句都都很经典,大家都要记住。呃,我们来继续来看啊。数据它有一些特点。哪些特点呢?啊,这个地方有个特点啊,可传递。数据能不能传递?知道什么叫传递吧,我从听说我第一能量变成A等于三是吧,我把这个A复制给B行不行?那你想啊,我A复制给B,那13做什么事情呢?
33:05
比如说A等于三是吧,我来个B等A,你说这在做什么事情,传递的是A吗?是什么?是不是三呢?我们说实际上是不是把这个山拷贝了一份。放到哪个里面去,是不是传递的B,传递B说白了就是保存到B空间里面。是不是啊,这个每一句话看似很很简单,但是你是不是真的理解不好说啊?你会发现啊,等你真的把这套修完以后,你再去看程序就简单很多了。能不能理解啊,再有可运算。知道什么叫说老师,什么叫运算啊。是不是可以对它进行异性呢?呃,可能是算术异算行不行?
34:02
这个运算是不是很难搞?算术运算、逻辑运算、连接运算,信不信好?大家看到,譬如说举个例子。我就加啊搞一个啊,现在在不在做运算,有没有做,有实际上我是不是读出来一个A的内容三,接着拿这个三跟二进行加法运算,这个还要说吗?其实确实很简单,对吧,那你要知道在做什么。对不对,最后把计算的结果是不是复制给B啊。嗯。这个大家应该要去搞清楚好。下面啊,下面说一个事啊,说一个事情啊,我不知道大家有没有听过一个概念,叫一切皆对象。或者叫万物皆对象,听说过吗?你说老师我听说过,但我不敢说,因为我还感觉还没到说的那个水平是吧?但是你觉得这句话对吗?但我觉得不太对。
35:15
或者说不完全对。你看我们数据类型分为几类啊,几类两类,一类是什么基本数据,一类什么对象数据对不对。那也就是说你说基本数据它是个对象对吗?严格来说是不是不对呀。能不能懂,但是我会说一句话,叫一切皆数据。也就是说你想啊,我们编程是用来干嘛的,其实编程是在做什么事情呢?大家说大家自己想想是吧。首先编程是不是模拟现实生活中,现实世界里面的一些一一些操作啊。
36:02
是吧,而你操作的目标是什么。是什么东西数据嘛。那被操作的,你看我们就是在手里有些数据进行各样的操作,对不对。那不就是一切些数据吗?那至于你是什么类型的数据,没关系吧,你可是基本类型,也可能是什么对象类型。能不懂?好,还有一个特别的要说句话。啊,再一个啊,这个里面说一下啊,刚才说过了,就是内存中所有操作的目标是谁数据。是吧,好,那我会对数据进行什么操作呢?大家把这些大体的操作给说说,有哪些,常见的有哪些,譬如说算术运算是不啊,算术运算还有什么计算逻辑运义上有人说了行啊,这可以的,还有什么?
37:17
算术运算逻辑上还有一些什么预算?负值是不是运算是不是是,其实负值就是数据拷贝的问题。对不对,就把一个数据从一个地方拷贝一份,保存到什么另外一个地方。能懂吗?啊,这个譬如说我们经翅读VA等于三,实际上应该是个什么样的流程,是一个什么意思,是不是将三保存到什么A中,是不是这实上是个什么操作负值负值啊,再一个啊,我假设过了一个B等于A,我后面不讲了,这实际上是不是也是个负值,是拷贝A的什么内容保存到B中。
38:10
那么你。啊,OK,还有一些什么特别的预算,譬如说嗯,OK。运行函数,你也可以把它看成是一个操作,我拿了我比如说我拿了一个函数FFN是吧,我要让它执行起来,我怎么办?是不是括号调用啊。你是,你是不是可以把它括号看成是个运算符,可不可以,诶,这是不是一种比较特别的视角。OK。其实就非常简单了嘛,你拿到数据了嘛,你下面不是对他进行一定的运算处理吗。那我到底能执行哪些?运营商看什么?我能执行哪些?你说一个数据任何运算都能是什么?
39:04
是吗?就一个数据,我拿到一个数据了,是不是任何运算我都能做,不是我到底能进行哪些运算,看什么?对,看数据类型,为什么我前面一上来就让大家知道数据类型。因为只有你知道数据类型了,能进行哪些运算就确定了。或者说一个数据类型,它可以进行的预算是不是固定的。再说一遍,一种特定的数据类型的数据,它的运算应该是什么特定的吧?你不会说今天我只能执行A运算是吧?明天我A运算不能执行了,我能执行B运算,这样行吗?不行,为什么?他语法都设计好了,你那解释引擎会变吗?它不会变的吗?那个规则会天天变吗?它不会变的,规则不变,那那些可执行的操作是不是也不会变了。
40:13
这好像也并不不重要吧,这样只是,只是以前大家没这么想过而已嘛。没有想过东西并不代表难,或者说任何一个技术。他一定拿吗?就难与难与不难是怎么限定吗?对,有人说会就难,不会就会就就不难,是吧,其实很简单,你学会了他就不难,你要没学会,或者你没去学,他就很难。编程的这个技术其实也是能设计出来的,你想他能多难呢?只是有量多而已啊,多到你可能你学一辈子也学不完。但最最基本的,它不会变的,就这些基本概念,它会变吗?它不会太变,所以我们首先要把最最基本的知识给它学透了。
41:02
你再去学一些扩展知识,但是上面的扩展跟大家说那就很多很多。但没关系。你只要地基打好了,其实你学任何东西都差不多。这个大家能够接受吧,啊,能就行。啊。这样的话,我们就把这三个东西都跟大家说了话,其实代码没有代码,大家都都能基本上能懂,但只是大家以前没这么想过而已啊,说了三个点,一个是数据,一个是内存,一个是还有什么变量啊,下面我们简单说一下它们三者的关系,其实基本上说过了内存是什么?内存是用来干嘛呢?用来存储数据的空间呗,是吧,而且你要知道是什么临时空间。嘿,这内存跟谁临临时空间,那有没有永久的空间呢?
42:03
有没有永久空间?什么叫永久空间,就是你断电以后还在啊,是不是硬盘啊?能不能?这大家知道硬盘的是不是也有存储空间?硬盘的屏幕一般很大吧,对吧,但硬盘它有什么问题。谩骂。就是任何事物都有好的地方和不好的地方,没有说哪个事物我只有优点没有缺点,那不可能。对吧,你的空间可以设计的很大,但是你会操作慢是吧,我的内存相对来说是不是小啊啊,一般就几个G对不对,或者甚至大点的十几个G,有几百G的吗?是没有啊,OK。但是它也有它的好处啊,它的好处什么?读写快。
43:04
是吧,所以我们的数据它的一个整体的流程是什么,先是放在哪个里面。先是放到硬盘里面。我们的代码,诶诶哎,我去我们的代码现在是保存在哪个里面呢?哪个里面你写,诶我去这是怎么搞的,怎么好像突然间不行了呢。我们首先我们写代码,这个文件是一个一个的文件,对不对,最先是不是在硬盘里面啊,在硬盘里面,那接着我们要干嘛去,是不是要把它加载在什么,是不是内存空间里面呢。给它运行的对吧,在运行的过程中是不是会产生新的数据。我的内存里面就一定全部是那个硬盘上面的数据吗?现在是不是。不是你想啊,过了A等于三,我的我的A等于三是不是动态产生的。
44:03
硬盘里面有A等于三吗?它是个整体的一个字符串啊。存在内盘那个硬盘里面是不是我们整个文件是不是就是一个一个文本啊。是吧,文本是什么?我知道我本是啥,就是一个大的串嘛,是吧,只是这个串必须要有特定的格式。你说老师什么叫格式啊,你想嘛,你写的东西是随便瞎写的吗?不是随便瞎写的吗?你那你那里面是不是有特定格式,有个word空中间有空格,你能不空格吗?是不能的,这就是格式。那问大家为什么有格式啊,为什么要有格式,因为这个格式你要想看我们是不是有人解析啊,解析引擎的那个规则是不是早已经设计好了呀,那也就是说我们再去写写代码的时候,是不是按照它设计好的语法去去写啊。
45:09
是吧,只有我们按照它语法写,它才能正确的什么解析,最终是在内存空间里面产生一些新的内存。不是产生新内存,而是它开始是分别大内存,接着要用了,是不是开始有用吗?开始内存空间是不是相当于空的,是空白的呀。对吧,内存空间开始升级的是里面没存数据了,是不是数据一个一个存上去。对不对,大家要慢慢的去想这方面的问题啊。OK。啊。内存是用来存储数据的空间那?那大家看啊,变量是什么呢。变量是啥变量,我们是不是可以标识。
46:00
变量名是内存的,什么是标识啊?是吧,啊,OK,好。那那其实这个变量是分为变量名和那个什么变量的值是吧,其实前面我们说过了,那个变量名用来干嘛。是不是找到我们去查找那个内存空间。你说老师为什么要查到内存空间?为什么要查找内查找某一个内存。你想嘛,这个那个电脑里面内存是不是很大的,你你数据到底存在哪,你是不是得先找到,找到以后到了某一个具体位置你才能去操作呀,只有这么多一一块一块的很多小块,你总不能本来我这个A标识的是它,你去操作这个数据吧,那不可能是不是,首先你得找到那个位置,这很这很正常,你要回家是不是。你要回家拿东西,你想你是不是先要找到你住的地方,进去以后才拿呀?
47:05
是不是这概念啊,这个大家应该要去给他想清楚。好嗯,这其他我就不再去说了啊,那这里呢,我们就把这三个概念,以及他们三个概念的之间的关系呢,给大家说了一遍啊。其实代码没写几个代码基本都好像特别简单。但是我希望大家多花点时间和精力去好好的去整一整,好吧。
我来说两句