00:00
好,那下边呢,这个补充呢,是咱们给大家再说一说,这个叫o ql啊,这个咱们其实在讲到这个j he的时候啊,咱们讲上一章,哎,这里边呢,是支持我们说OKL这个语句的一个查询的,哎,包括呢咱们这个微VM呢,其实也支持,呃这里边咱们没有重点的给大家去说一说这个OKL啊,因为这块要说的话呢,其实里边东西还挺多的啊,包括呢有很多函数的一个使用啊,所以这里呢,咱们就没有过多的给大家去呃讲这个OK的啊,当然这块呢,因为呃毕竟也涉及到了我们在这个呃相关这个工具当中可以去使用这个OKR啊,尤其呢,是咱们真正实际生产环境当中啊,这个面向的面对的我们这个实际的这个大文件啊等等,它文件可能比较大,呃,涉及到这个数据呢,也比较多,这时候呢,我们可能呃通过这些呃语句是吧,能够过滤到很多的这个信息啊,就便于我们更好的去发现这个问题是吧。那在咱们这个MAT这个当中啊,大家能够看到这有一个呃,小按钮特别小啊,这块其实写的这几个字母呢,就是OKL啊,支持呢,我们进行这样的一个查询,这个OKL的话呢,它跟咱们学习的那个circle呢,其实是比较像的哈,比较像的,所以说呢,大家呃,在会circle的情况下呢,再去这个学习这个OKL呢,其实是要简单很多啊,当我们点击这个按钮之后呢,这里边会出现一个这样的一个OKL的一个界面,说你点F1的话呢,还可以进行一个帮助啊,点一下啊这呢就是这个帮助是吧。
01:26
那帮助任你还可以去看看看这个信息,包括上面呢,你看还有一些相关的说明,这是OKR的一个编辑器啊,这呢是它的这样的一个说明,就是具体的一个语句呢,该如何去使用啊,Select from啊,Where啊等等等等等是吧,哎,包括上面呢,你看还有这个content啊,这块呢,就关于我们这个,呃,It呢,它具体一个使用啊,当然呢,比如说我们如何去使用mitt呢,相当于官方呢,你看还给了我们一个文档是吧?诶这个大家呢也可以,呃,来看看这个文档。啊,当然了,这个大家乐学编程呢,其实也发现一个问题,就是说如果自己的母语呢,是英语的话呢,感觉还是挺幸福的是吧?哎,很多时候我们去解决问题老是去呃,去百度啊,或者是去翻墙谷歌呀,嗯,其实呢,很多时候这个官网给我们的这个就是你学习一个技术,官网呢给的这个文档呢,应该算是最权威的啊,当然也是最及时的,对吧?啊但很多时候呢,由于我们看这个文档,本来这个技术就不会,然后呢,面对的还是这个英文,就感觉很痛苦,到底不知道是翻译这个文字重要呢,还是说呃去解决这个问题重要啊,所以有时候你就会去再找这个百度啊等等的啊,那当然要英语好的话呢,其实就很沾光了是吧?
02:30
哎,就像比如说我们有一个新的技术出现了啊,就像那个,呃,像大数据里边这个flink一样啊呃,实际上呢,这个flink呢,在刚出的时候啊,官网一推出这个flink官方就出了一个文档啊,特别详细的一个文档啊,那咱们商谷的话呢,也在第一时间把这个flink这个文档呢,其实就翻译了啊哎上课呢,其实就开始来讲了,那么就想着说,哎,咱们要不把这个文档呢,加一些案例,然后呢,再深入的剖析一下flink的这个源码,然后我们就写成一本书啊,当然由于呢,这个上课嘛,就会耽误了这个进度了,导致呢,就是诶当这本书呢,写到一半的时候,发现市面上已经呃有这样一个书出来了,而这些书呢,其实就是官方那个文档。
03:06
这个给他翻译了一下啊,就是翻译了一下哈,嗯,所以说呢,如果你大家作为作为一个个人的来讲哈,个人的话呢,这个独立开发者也好啊,这个这个呃,或者你平常这个空闲时间,稍空闲时间呢,稍微还是有一些的,那你可以随时关注一些新技术啊,前提呢,是英语比较好的时候呢,第一时间推出新技的时候,新技术的时候呢,你把它翻译成对应的这个中文啊,也可以联系出版社呢进行出版啊,这个呢,其实是一件挺好的事的是吧。毕竟国内的相关的资料特别少啊,哎,那你可能就是这个技术的一个国内第一人啊,当然了,你要是特别官方的内内容可能需要授权啊,你可以基予他呢,自己再加一些东西,加些案例啊,加一些这个自己的理解啊,那就不叫官方授权了,你就自己呢出一本关于弗林可学习的书呗,对吧?啊挺好的啊好这呢,咱们就不看这个具体的help了哈,呃,过来之后呢,大家就可以直接来这儿去写了。啊,那关于这个OKR的话呢,这有一个简单的一个说明啊,其实主要也没啥啊,就是对于我们最终的这个对象呢,进行查找和筛选的。
04:06
啊,那就现在像我们对数据库中的这个数据进行一个查找筛选一样啊。最基本的话呢,也是select from,然后加上一个where是吧,哎,Select形from还java.YouTube点还VE,其实这块我们都不用特别详细的去说是吧?嗯,直接呢,大家这块呢,来看我们这个操作就差不太多。啊,这个呢,到时候我们少见是吧?Objects啊,这个呢,就是我们可以返回结果集当中的项啊,以对象的形式呢去呈现啊,加不加它呢,会有个区别啊,下边这个呢,叫as returned site啊,就是可以得到呢所有对象的一个保留级啊,这不就保留级的意思嘛,Distinct驱虫是吧?也不用多说啊,嗯,这是我们说的这个select,其实在这里边已经用上了这个from啊,他俩呢,其实相当于缺一不可是吧?呃,这个可以从我们相关的这样的路径下啊,包下呢,去找所有的这个实例啊,行,就是所有的来查询我们所有的这个string的这些实例啊,对吧,是这个意思啊,这个呢是查查你当前这个哎路径哎,这个地址内存地址是它的这样一个类啊。
05:06
行,那我们也写几个啊,嗯,比如过来,嗯,在这个OKR这块呢,我们就可以去写了,比如说嗯,这个select,咱们写个比较简单的啊from Java点啊U下的。啊,先写个list吧,啊,这个写一个L啊行。啊,就他是吧,嗯,这个分号就不要加了啊嗯,你比如我这块加上了这个,大家点那个F5啊,就执行是吧?啊这块呢,你看分号错了,你不要加它了啊,然后F5一下,哎,这就查出来了。哎,直播过呢,这是查完之后呢,这个结果是没有没有结果集的是吧?啊就是我们没有这个list啊,那你改成一个叫a real list。啊,这是我们在F5以下,哎,这就查到了啊,相当于在我们那个student这个大文件中啊,有这么多的这个是吧。哎,就这个意思啊,嗯,行,这个呢,是我们查询的这个数据,嗯,然后的话呢,我们说啊,比如说再来一个啊select。
06:00
啊,Like什么呀,嗯,Video element。啊,V是什么?这个我们还没有给他去起别名了是吧?啊element这个data,嗯,From Java点。啊优点啊和啊list这个我们就叫做V了。好,然后哎,这时候呢,你要是光标放在这F5的话,这这不行啊,哎这个呢,就是因为有上面这个存在,它会把整个这个呢去读取,你可以呢,选中它,然后F5一下。那这个是OK的啊行,那这样的话呢,就查出来我们这个V里边这element data啊,就是相当于是我们这个呃,Object数组了是吧,哎,这个信息啊,这个呢,呈现出来就是object这个这个element data以object数组方式呈现,那这个位置刚才提到了一个,我们可以写一个叫是吧,那这个呢,就相当于是它以这个呃结果集呢,以这个对象的形式呢去呈现了,然后你在F5。哎,你看我们这时候看到就是class啊,就以对象的方式,还有这个呃,浅堆深堆啊,对象的方式去呈现的。
07:00
好,这个呢就过了,嗯,再写啊,Select。哎,刚才提到了一个叫as returned set是吧?哎,比如说我们as return set星吧,诶from come.at硅谷点,嗯,咱们叫itt,看下边有一个叫student是吧,哎,就他啊,然后F5。哎,那这时候呢,我们相当于就能够哎列举出来了,呃,从我们这个student顿的这样的一个结构当中啊,然后呢,呃,能得到所有对象的这个保留级。啊,就这个意思啊行,嗯,接着呢,我们比如说再写一个什么样的例子呢。看一下啊。嗯,比如说那到from from这块嘛,From这块的话呢,你看有一个这个啊,你看这是什么意思,嗯,这个呢,我们回过来。回过来的话呢,比如说我们这里边儿看一下当前,呃,这些类的这个结构啊,我们点一下这个吧。啊,点这点。
08:01
点这也行,嗯,我们找一个找一下这个student是吧。哎,比如这个类啊,这块还。大写的啊。嗯,这个类的话呢,大家在这块能够看到当前这个类它的一个是不是,呃,内存中的一个地址是吧,就它啊这个地址不让我们复制,我们CTRLC一下,直接啊CTRLC了好,然后呢,回过来,然后这个位置我先这样回车一下啊,我主要其实想用的是它。好,然后这时候我们就可以呢,叫select星,然后from,哎这样一下就相当于我们找这个地址对应的这个结构啊,F5之星,哎这种就出现了。它就出现了是吧?嗯,它是什么意思呢?就是我们找这个这个地址对应的这个结构了啊,因为这个地址的话呢,它,哎我们说呢,即使你比如我们可以通过什么呢?比如我们写一个是看刚才写的是com.at硅谷点啊是不是这个student是吧?但是这样的话呢,我们有可能有多个类的加载器,是不是都加载这个student了。
09:03
那这样的话呢,我们可以可能得到的是不是就呃多个那个不同的呃类类加载器加载的STEM的这个数据了,而我们要使用的地址的话呢,它就唯一了。啊,有这么个区别啊行,然后的话呢,这个有个where啊,Where就是加了一个过滤条件啊,加了一个过滤条件,比如说找我们这个长度是大于十的啊,找我们这个字符串,它是包含着这个,呃,点Java的是吧。然后呢,找我们这个字符串的,它的这个Y6呢,是不是空的啊,长度大于15,这个是这个或且非的一个意思啊呃,非的话呢,就不是这样写。呃,然后呢,这个呃且货是吧,这个也简单的写写一下啊。啊,其实不是特别难,但我们这儿呢,也不想哎,作为特别重的这个笔墨呢,咱们去讲这个OKR了啊,以后有机会呢,咱们再去讲啊。行,然后这个呢起select,比如说from啊,From一个什么呢?From一个查询数组吧,啊where。
10:02
呃,Where这个S点。它的一个length是吧,哎,大于十哎,这个就是要加分号了啊好,我们这时候呢,做一个执行啊,这呢就相当于我们能够返回呢,长度大于十的啊,把这个差行数组呢就要S了,它的长度大于十的这个数组都有哪些啊,这块呢都定理出来了。啊,这里就出来啊,比如我们在像刚才那看到的这个数据,他直接呢,就给它粘过来吧。这个是吧。哎,CTRLC一下。哎,这样子,哎,我们这个字符串当中,它的这个Y6啊,不是空的都有哪些啊,F51执行它就出来了。那就这个就行啊好,嗯,除此之外的话呢,我们说还有一些复杂的结构,比如说涉及到这个内置对象和方法啊,这个还有这个别名的一个问题啊,这是属性属性属性啊啊,比如说我们这里边想访问这个file的这个pass啊,看这个值,然后以字符串的方式呢去呈现,哎,我们就可以这样来去写。哎,直接我就把它粘过来啊,嗯,这呢是IO下的file啊这个类,哎把它这个pass这个value值呢,我列出来啊,这个如果我们当前的存在一些文件啊,就能够帮我们列出来,好,我们F51执行啊,确实有是吧?哎,我们这里边包含了很多这个JA文件啊,那些jar文件呢,就是file嘛,它的这个路径的这个value啊,都给我们写的非常的清晰是吧。
11:21
哎,就这个意思啊。还有呢,包括呃,像这里边我们想查看一下,比如这个吧,嗯,Vector它的一个元素,这呢就是数组,数组的这个长度啊,然后呢,显示一下这个长度啊,分别是多长啊也可以是吧,哎,拿过来。哎,当然我们这里边儿呢,可能没有X啊F5以下。啊有啊有这个啊行,那就出来了,或者呢,我们这个。这个student这里边我们用的比较多的是a list是吧?哎,你可以把它呢放到这也可以哈,然后呢,就直接F51刷新啊,这个也有就可以了哈,行,那这呢,就是我们说的这个OKR啊,如果大家呢,在实际生产环境当中,针对于我们这个大文件比较大的时候呢,可以使用这个OKL呢,做一个辅助的一个啊这个这个。
12:06
呃,分析是吧啊,那这个具体的OKL呢,大家也可以在网上去找一找相关的这个文档啊,由于呢,大家有circleq的这个底子,再去学习这个KL呢,应该是比较简单的啊,那我这呢,只是简单的列举了一下啊,因为除了这个之外呢,还包括有一些函数的使用啊,当然这个函数呢,跟我们的circleq呢,其实也非常的像啊,也非常的像,哎,那大家下来的话呢,可以把这块内容呢再补充补充啊行,那么这样的话呢,我们就把这个呃内存泄露OKL呢又给大家呢讲了讲啊,下边呢,我们还有几个工具啊,那我们陆续呢给大家展开再说。
我来说两句