全文共计:5369字
预计阅读:6分钟
昨天深夜,Java向我讲述了它的陈年往事,没想到你竟然是这样的java!以下是java本人的自述!
大家好,我是java,就是你们经常说的“一次编译,到处运行”的那门高级编程语言,可是除此之外,你们又了解我多少呢?
很多人都知道我叫java,但是嘞,俺最初的时候并不是叫java的,有人知道俺刚开始叫啥嘛?先不告诉你!
介绍高爸爸
在正式开始自我介绍之前,我想先介绍自己的“爸爸”给你们认识,谁呢?就是下面这位:
为啥介绍他嘞,为啥管他叫爸爸嘞,因为没有他自然也就没有我,是它把我创造出来的,是他有机会让我来到这个世界上的,所以他对我很重要的,另外,你们这些要学习我的同学们可一定要记住他啊,他可是你们的祖师爷啊!
当初高爸爸把握创造出来,期间也是有很多故事的,且听我慢慢道来!
sun公司
高爸爸当时就职于sun公司,sun公司是Stanford University Network的缩写,也就是斯坦福大学网络,这是个啥嘞,其实就是当时斯坦福大学的一个校企合办企业,你看看,人家大学多厉害,一个校办企业就是这么出名。
对了,对于sun公司,它在台湾地区被称为昇阳电脑,而在你们大陆啊,它则被称为太阳计算机系统,它是在1982年2月24日创建的,我当时就在想,要是在2月14,那不就是情人节了嘛,在1986年的时候它就在美国纳斯达克上市了,不过后来它被甲骨文公司收购了,结束了长达27余年的公司历史,当然,我也换了新家!
我最初不叫java叫Oak
其实吧,俺最初的名字是叫Oak的,并不是现在的java,这是咋回事呢?
sun公司瞅准了家用电器行业
当时啊,sun公司发现,在未来,我们的科技将会在家用电器行业大放异彩,会被派上大用场的,于是,sun公司就想赶紧抢占这个市场。
既然决定要做这件事情,那就开干吧,当时就有了一个团队,专门搞这个,可能有人不太理解当时的家用电器行业是咋回事,其实说白了不就是电视机机顶盒啊,电话和闹钟这些家用电器吧,准备搞程序去控制这些玩意嘞!
既然要搞程序,那用啥语言平台去搞呢?这在当时也是一个问题啊!
准备用C++
刚开始嘞,团队成员想使用C++语言(辛亏没有使用,如果使用了,那不就没有我了嘛),不过后来放弃了,为啥要放弃嘞,难道是C++不好用吗?
还真是的 ,对他们来说 ,C++和它可以用的一些API在某些方面存在很大问题 ,于是就没用,啥?你不知道啥是API,没事,你不用知道啥是API,你就知道,他们觉得C++不好用就行了。
为啥放弃C++
啥?你就想知道C++为啥不好用是吧!好吧,那我就告诉你(总觉得这样不好,毕竟我跟C++是好朋友)
我记得,之前啊,谁说过一句这样的话
“C++既难学又难用”
唉,怎么能这样说C++,我都替它打抱不平,那当时sun公司的团队为啥不用C++呢 ?那是因为这个团队使用的是嵌入系统,嵌入式系统的资源是有限的 ,这个团队的程序员觉得C++有点复杂,很多开发者经常用错(是你太笨了吧,哈哈),而且他们觉得C++缺少一个重要的功能就是垃圾回收系统(哈哈,这点我要吹一下啦,俺可是有垃圾回收系统的,这是俺的一大亮点,俺骄傲)
那啥是垃圾回收系统啊,我想你肯定会问的,让我想想该怎么给你解释吧!
嗯嗯,你看啊,比如说一个篮子里,放了很多水果,如果水果坏了就不能吃了 ,就需要把坏的尽早扔掉 ,为啥?它不能吃了 还放在那,占地方啊,如果有了垃圾回收系统 ,一旦有了坏苹果 ,这个篮子就会把坏掉的苹果“biu”的一声弹出去,高级不,垃圾回收系统就是这么高级,那如果没有垃圾回收系统呢 那你就得翻翻找找,看哪个坏了 ,然后自己动手把它拿出来扔掉。
怎么样,知道什么是垃圾回收系统了吧,反正是个非常牛X的功能,C++竟然没这个功能,不好用。
ps:垃圾回收简单说就是可以针对内存做自动的回收,不需要手动释放内存。
而且除此之外,这个团队成员还觉得C++缺少可移植的安全性,分布式啊,多线程啊这些功能,唉当你不喜欢一个人的时候,咋看咋不顺眼啊,你们就这么不喜欢我的老朋友C++吗?
没办法,他们想要一个可以很方便移植到各种设备上的平台 ,这可咋整,没办法 ,只能从0到1 ,咱自己搞呗!
自研新的平台
既然C++不好用,大家都不满意,其他也没有好的替代,于是大家决定准备自己搞一个出来,最初嘞,团队的一个成员准备将C语言和Mesa语言相结合,从而制造出一种新的语言,这种语言被叫做“未来” ,听着还挺有科技感的。
ps:这里你即使对C语言和Mesa语言不懂也没关系,你就需要知道他俩是语言,他俩结合要搞出一个新的语言,不过以后,你肯定会知道C语言的。
不过后来呢?我的高爸爸决定修改和扩展C++的功能,希望借此能产生一种新的语言,当时高爸爸叫它C++ ++ --,后来高爸爸告诉我这件事情的时候,我就在想,高爸爸还真的是聪明绝顶啊,这样的名字都能想出来,哈哈。
不过后来高爸爸放弃了,当然得放弃啊,不放弃哪还有我的事啊。
放弃了不可能就不干了啊,高爸爸决定设计一种全新的语言(哈哈,这就是俺啦) 被他命名为Oak ,也就是橡树的意思,我当时就疑惑,为啥给我叫这个名字啊?原来高爸爸说他的办公室外面有橡树,唉,这么随意的吗?就不能好好的给俺起个名字吗?
展示新的语言平台
然后团队成员就开干啊,为了把我带到这个世界上,他们真的很辛苦。一直干到了1993年的夏天,这个时候我就有了基本的样子啦,我也能将自己的一部分给展示出来了,哈哈,终于来到这个世界上啦,不禁想说:
hello world
然后我就在一种叫做类PDA的设备上开始简单的展示我自己,因为有我的存在,当时这台设备被命名为Star7,这种设备有鲜艳的图形界面,再加上我提供的功能,更高级了,于是,在1992年12月3日,我随着这台设备进行了展示。
好啦,我已经初步亮相啦,这个时候,当初把我创造出来的团队摇身一变成了sun公司的一个子公司,然后就去搞家用电器这块 。
不过很可惜的是,在一次电视机顶盒的投标中失败了,为啥?人家觉得用我去控制家用电器的话给予用户的控制权太多了,更遗憾的是当时其他机顶盒的交易也都失败了,没办法,这个公司无法盈利,最后不得已就又并回到sun了。说真的,我当时挺自责的,都怪自己不够优秀!
进军互联网企业
sun公司因为我当时并没有在家用电器这个市场达到预期 ,于是就放弃了让我去做家用电器的计划,当时觉得自己被抛弃了,好蓝瘦!
不过后来,我又重新站起来啦,咋回事嘞,当时还是要感谢互联网的兴起,那是在1990年代,因为互联网的到来,sun公司觉得这是个机会,我可以在互联网领域试试水,既然我在家用电器行业不适合,那就去闯闯互联网领域。
这其实也是sun公司当时看到了互联网的前景 ,一片光明啊,必须赶紧抢占市场 ,于是乎,高爸爸他们又赶紧把我进行了改造。
为啥要改造啊,想想也是,我之前被创造出来是为了用在家用电器,现在要用在互联网了,那多少有点不一样啊,所以改造改造还是很有必要的,其实我是很愿意被改造的,这样的话我就会变得更加优秀。
于是,高爸爸他们就抓紧赶工,然后我就焕然一新了,现在的我可是更加优秀了,而且我马上是要应用到互联网的,所以sun公司就想着把我给注册了,可是去注册的时候发现跟别人重名了,已经有人叫Oak了,唉,没想到,这名字还早就被人交了,还挺抢手的啊。
没办法,我现在不能叫Oak了, 你说说,高爸爸,你要是之前好好给我起个名字,现在哪还会有这事,不不不,我能不能埋怨你,毕竟是你把我创造出来的。
改名迫在眉睫
咋弄,现在最重要的就是赶紧给我起个新名字了,当时大家商量决定开一个命名征集大会,这件事情很着急的,因为没有一个合适的名字,我将不能很快的与大众正式见面啊,于是,大家都集思广益开始给我起名字。
在这个大会上,大家提出了很多的名字,然后大家评选投票,做了一个排序。
当时排在第一位的是一个叫做Silk的名字,也就是丝绸的意思,我是觉得这个名字挺好听的,让我叫这个名字可以的接受的,可是嘞,尽管当时很多人都可觉得这个名字不错,包括我觉得也不赖,但是嘞,我的高爸爸却坚持反对这个名字,我也不知道为啥,可能他不喜欢,我也没办法。
然后排在第二第三的好像也都跟别人重名了,这个时候只有排在第四位的得到了所有人的认可,而且还没有商标重名,那就是我现在的名字“java”啦。
为啥会叫java
后来我问高爸爸,为啥会想起这个名字呢?高爸爸说,当时这个名字是马克 奥颇门(Mark Opperman)提出来的,好像是因为他在一家咖啡店与朋友喝咖啡时得到的灵感。
为啥喝咖啡能有这灵感,后来我才知道:
Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名
而且当时在国外很多咖啡店就用java来命名(没注册)和宣传,借此彰显其咖啡的品质,所以这个名字好记而且好听,于是乎,大家都同意,我也就正式叫“java”了。
ps:Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。,另外,当使用十六进制编辑器打开由Java源代码编译出的二进制文件(.class文件)的话,最前面的32位将显示为CA FE BA BE,即词组“CAFE BABE”(咖啡屋宝贝)。
从此我也有了个好看的图标,你看,就是这样:
在互联网中崭露头角
在我以java这个名字正式发布之前,当时团队成员使用我写了一个小型的万维网浏览器,叫做WebRunner ,后来改名HotJava。
当时我和这个HotJava一起在sun公司高管面前做了自我介绍,对了当时我的java1.0a版本是可以下载的了,在1995年3月23日的SunWorld大会上,我和HotJava第一次公开发布,当时网景公司决定在他们的浏览器中使用我,当时我别提多高兴了。
然后在1996年1月的时候,sun公司就专门成立了一个业务集团,哈哈,这是专门伺候我的。
另辟蹊径
不过后来没过几年,我就遭受了一些打击,我当时在浏览器中的地位被一个叫做Flash的家伙给抢占了,唉,这块穷不如他,而且,当时我也被微软公司强烈反对,微软竟然宣布在他们的新版本的Internet Explorer和Windows中不再附带我。 切 现在IE没人用了吧。
但是,没办法,虽然在浏览器中我不如Flash,但是我在服务器后端和手持设备上那是越来越流行啊,很多网站后台都开始用我了。
持续辉煌
再到后来,我就越来越优秀,有一个编程排行榜每月都会对我们这些语言做排名,我可是常年稳坐冠军宝座啊,不信我就截取最近的一个让你看看我是不是第一。
以下是我这些年的成长经历:
- 1995年5月23日,Java语言诞生
- 1996年1月,第一个JDK-JDK1.0诞生
- 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
- 1996年9月,约8.3万个网页应用了JAVA技术来制作
- 1997年2月18日,JDK1.1发布
- 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
- 1997年9月,JavaDeveloperConnection社区成员超过十万
- 1998年2月,JDK1.1被下载超过2,000,000次
- 1998年12月8日,JAVA2企业平台J2EE发布
- 1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
- 2000年5月8日,JDK1.3发布
- 2000年5月29日,JDK1.4发布
- 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
- 2001年9月24日,J2EE1.3发布
- 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
- 2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java
SE 5.0 - 2005年6月,JavaOne大会召开,SUN公司公开Java SE
6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java
SE,J2ME更名为Java ME - 2006年12月,SUN公司发布JRE6.0
- 2009年12月,SUN公司发布Java EE 6
- 2010年11月,由于Oracle公司对于Java社群的不友善,因此Apache扬言将退出JCP[14]
- 2011年7月28日,Oracle公司发布Java SE 7
- 2014年3月18日,Oracle公司发表Java SE 8
- 2017年9月21日,Oracle公司发表Java SE 9
- 2018年3月21日,Oracle公司发表Java SE 10
- 2018年9月25日,Java SE 11发布
关于原创作者
本文原创作者:庆哥小白
转载请注明出处,微信公众号开白请联系我微信H653836923
▼ 庆哥有一个梦想,写一些能让小白看得懂学得会的技术教程,帮助初学者更快的入门与进阶,于是乎,在编码之外开启了逐梦之旅!关注公众号,后台回复“庆哥”,2019最新java自学资源立马送上!
长按二维码识别关注!