共计 5367 个字符,预计需要花费 14 分钟才能阅读完成。
你若看不懂,就是我的错!
全文共计: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”(咖啡屋宝贝)。
从此我也有了个好看的图标,你看,就是这样:
于是,在 1995 年 5 月我以 java 的名称正式发布!
在互联网中崭露头角
在我以 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 自学资源立马送上!
长按二维码识别关注!