第272章 265.叔侄齐心发明Java
10月3日一早,小王依照赵德彬的最新指示,重新把赵文来送到了蹭网办公室。
之前,由于赵德彬比较忙,赵文来大概有一个星期没过来了。
现在该走的人都走了,赵德彬觉得,自己是时候该和文来叔在一起干点正经事了。
刚到八点半,赵文来和小王就到了。
只见小王走在前面,给赵文来开了办公室的门,赵文来直挺挺地进了屋。
紧接着,小王又快跑几步,给赵文来拉开椅子,赵文来又直挺挺地坐了下去。
随后,小王又给赵文来按开电脑,把键盘递到赵文来的手里。
当手接触到键盘的时候,赵文来的魂魄始才回归了身体,眼睛好像有了点神采,面无表情的脸仿佛也灵动了一点。
“你这怎么还贴身伺候上了?”赵德彬小声询问小王:“叔又不能生活自理了?”
“总经理,叔现在情况挺好,能生活自理,”小王憨厚地笑道:“就是早上起来不能编程,他有点小情绪。”
“叔,”赵德彬大声对赵文来说道:“你怎么还不高兴了呀!”
经赵德彬这么一喊,赵文来先将脸转过来,然后视线再从电脑屏幕转到了赵德彬的脸上。
他应该是刚发现赵德彬在这里,说道:“彬,在。”
赵德彬又大声问了一遍:“叔,你不高兴吗?”daqu.org 西瓜小说网
赵文来没有反应。
小王在赵德彬旁边小声提醒:“总经理,你不用这么大声,他是听不懂,不是听不见。”
赵德彬一拍脑门,他刚刚下意识把赵文来和家里老人划上了等号,不自觉地放大了声音说话。
实际上,赵文来的耳朵好使,只是暂时还理解不了赵德彬话里的意思而已。
赵德彬连忙从抽屉里拿出昨天花的一下午加上一晚上时间写的几页关于Java的资料,哄孩子地一样塞到了赵文来的手里,让他先看着。
在看到资料的一瞬间,赵文来的视线就紧紧地箍住了那几张纸。
趁着赵文来看资料的功夫,赵德彬准备清理一下白板,等一下要向赵文来讲解Java。
他刚走到办公室的白板面前,还没拿起板擦,小王就一个箭步冲到了他的面前,抄起板擦,说道:“总经理,我来。”
行吧,赵德彬想着,那我去泡个茶吧。
还没等赵德彬拿着保温杯走出门,就被小王瞅见了。
小王立刻高喊:“您别去了,等我擦完了,我去!”
赵德彬哭笑不得地说道:“小王呀,你就不能歇一歇吗?你坐着玩会游戏也行呀。”
小王憨憨笑道:“没事,我就想多帮您做点事。”
赵文来很快看完了资料,这个时候,赵德彬也泡好茶回来了,而小王已经开始拖起了办公室的地,赵德彬拦都拦不住……
“叔,你看明白了吗?
这是一种基于c++编写的、全新的编程语言,叫作Java。
这Java的发明工作呢,就要完全靠咱们叔侄俩了。”
说着,赵德彬在白板上方中央处写下了“Java”和带着括号的“c++”。
赵文来的回答言简意赅:“明白。”
“Java源于c++,但和c++还是有很大区别的。
Java的口号是‘一次编写,随处运行’,”
赵德彬在白板上写下了这句话的英文,也就是“write once,run anywhere”。
随后,赵德彬继续说道:
“咱敢喊出这一句口号,就必须需要注意以下五点:
第一点,非常关键的,Java语言的跨平台性强。
Java写的程序可以在不同的操作系统上运行,这样就不用针对不同的操作系统去编写不同的程序了。
要做到这点,咱们就需要引入虚拟机……
对了,叔,你知道什么是虚拟机吗?
又或者叫Virtual machine?Vmware?”
赵德彬不知道1990年有没有虚拟机这种东西,很可能赵文来不知道虚拟机是什么意思。
果然,赵文来说:“虚拟机,解释。”
赵德彬连解说带比划,很快地,赵文来就明白了虚拟机的概念和原理了。
赵德彬总结道:
“Java虚拟机叫作Java Virtual machine,缩写是JVm,这是Java核心技术之一。
由于Java程序在运行时需要由Java虚拟机进行解释和执行,而Java虚拟机可以在任何操作系统中运行,只要目标机器安装了Java虚拟机,就可以在该平台上运行Java程序。
因此,Java是一种跨平台的编程语言,不用担心操作系统或硬件架构的差异性。
俗称:哪都有它!
接着,赵德彬继续介绍:
“第二点,Java是一种纯面向对象的编程语言。
这意味着在Java中,所有的程序都是由对象组成的。
在Java中,类是对象的模板,它定义了对象应该具有的属性和方法。
这样一来,Java语言就有了封装性、继承性和多态性。”
至于怎样解释这三个特性,前世赵德彬在当老师的时候,曾经给学生打过几个比方:
如果Java代码可以被视作传家宝的话,
封装性相当于把传家宝放在保险箱里隐藏起来。
别人想要拿到我的传家宝,必须知道我的密码,得到我的许可。
这样一来,别人就无法随意修改我的代码和数据,安全性自然就提高了。
而传家宝自然是可以被继承的。
当我创建了一个类,我就可以从我老爹已有的类中继承他使用的方法和属性,而这个方法和属性还可以通过继承链传递给我儿子的类。
这样可以减少代码的重复性,同时也使得代码的层次结构更加清晰。
当然,我也可以不把传家宝传给儿子,可以传给女儿,也可以传给张三李四王五。
属于我的方法可能被不同的对象调用,产生了不同的结果,在这个过程中,代码的可复用性和可扩展性自然而然地被提高了,这个就叫作多态性。
第三点,Java语言的难度不要太高。
Java语言要对用户友好一点,简单一点。
Java和c++类似,主要不同的地方在脚本和控件上,语法和编程习惯都是相似的。
c++里面那些复杂、不好理解的部分就删了吧,要不总有人说难,像是指针、操作符重载、多种类型转换、多重继承之类的的,这些功能用户都不会,留着他们也用不好。
对了,再弄个垃圾回收自动管理内存,省得用户还要手动申请和释放内存。
反正,这个操作是越简单越好,最好是傻瓜一键式操作。”
说着,赵德彬喝了一口热茶,自己都禁不住笑了一下:
“哎,你说我隔这费劲巴拉地发明什么傻瓜一键式编程语言呢?
我还不如琢磨琢磨人工智能,研究一下怎么自动编程。
等AI能自动编了,他们总不好意思再抱怨编程难、bug多、debug烦了吧?”
赵文来一本正经地说道:“人工智能,解释。”
得,敢情赵文来是把赵德彬开玩笑的话听进去了。
赵德彬摸了摸头顶,有点意外地没有摸到头皮,随后他才想起来,自己现在已经不是地中海了:
“叔,等一下我再给你解释人工智能,我先把Java的注意事项给你聊完。
咱回到Java上面。
现在,我来说一下Java程序在运行过程中的编译和解释过程,还有类的动态载入机制。
首先,Java语言编写的程序是既编译型的,又是解释型的。
编译型意味着程序会被编译成字节码文件,而解释型则意味着程序在运行时需要通过Java虚拟机进行解释和执行。
其次,当一个Java程序开始执行时,并不是所有的类都会立刻被加载到内存中。
相反,Java虚拟机会根据需要将需要的类逐个加载到内存中,并为它们在堆中分配空间。
这个过程被称为类的动态载入,使得程序可以在运行时动态地加载需要的类,而不必事先知道所有要使用的类,这样一来,程序的灵活性和可扩展性大大地增加了!
有了这种灵活性,Java肯定能成为一门非常强大的编程语言。
第五点,Java的安全管理机制不能少。
我认为Java以后要经常在网络环境中运行的,所以,咱们就需要提供一些安全功能,就像是字节码验证器、安全管理器之类的东西,反正要确保Java程序在运行时不会受到恶意软件的攻击。
好东西嘛,我就担心别人觊觎。”
除了以上的注意事项,在接下来的一上午里,赵德彬都在给赵文来讲解Java。
给赵文来上课既好又不好。
好处在于,赵文来在学习方面完全无压力,不管什么东西都是一讲就会,完全没有带给赵德彬教笨学生的困扰
不好的地方就是,赵文来基本上没什么反应,几乎没有互动。
明明是两个人的舞台,赵德彬却一直演着独角戏。
无奈之下,赵德彬只好经常询问:“叔,你明白了吗?”
通常情况下,赵文来都会面无表情地回答:“明白。”
吃完了饭,赵德彬见讲得也差不多了,便问赵文来:“叔,你还有什么问题吗?”
“没有。”
“那咱们开始干活?”
“图纸。”
赵文来所说的图纸,是之前开发Ultra designer的时候,赵德彬直接给赵文来拿了好几十张protel和Altuim designer的图纸。
从那以后,赵文来已经习惯了按照赵德彬的图纸写程序,快捷高效。
赵德彬摩挲着脑门:
“哎呀,我还没来得及画Java平台的图纸。
这样吧,叔你先帮我开发一个叫作浏览器的程序,我现在去完善一下Java的资料。”
说着,赵德彬从抽屉里拿出一小叠图纸,递到了赵文来手里。
这一小叠是浏览器的图纸,在王江平走之前,赵德彬让他帮忙画的,已经在赵德彬的抽屉里放了一个月多了,现在正好用上。
本来赵德彬是没打算让赵文来去开发浏览器的,但万维网发布的比较突然,赵德彬也没写出来多少关于Java的资料,Java平台的图纸更是一张没画。
所以,只能先让文来叔帮忙开发一下浏览器,赵德彬自己赶紧准备一下Java的内容。
和有重要的事情要去办,所以字数可能少了点,后面有机会补上。
这一章是周四(5月11号)的,码到半夜12点多也只写了3200字,因为要尽量想把技术章节写得不那么无聊,还想让不是编程这个专业的读者朋友们看得明白,这个就比较费时间,要是百度复制黏贴自然快,但那么做不是我的风格。