全文共计: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,但是我在服务器后端和手持设备上那是越来越流行啊,很多网站后台都开始用我了。

持续辉煌

再到后来,我就越来越优秀,有一个编程排行榜每月都会对我们这些语言做排名,我可是常年稳坐冠军宝座啊,不信我就截取最近的一个让你看看我是不是第一。


我骄傲!~

昨天深夜,Java向我讲述了它的陈年往事,没想到是这样的!相关推荐

  1. 昨天深夜,Java 向我讲述了它的陈年往事,没想到是这样的!

    你若看不懂,就是我的错! 全文共计:5369字 预计阅读:6分钟 昨天深夜,Java向我讲述了它的陈年往事,没想到你竟然是这样的java!以下是java本人的自述! 大家好,我是java,就是你们经常 ...

  2. 糊里糊涂进了微盟Java内招群,抱着试试的想法投了简历,没想到面试通过了

    不久前登录QQ的时候忽然发现自己进了微盟内招群,我一脸懵逼不知道什么时候进入的,在里面划水了一段时间,抱着试一试的心态就投了简历.昨天进行了一面二面,然后就..就通过了,我也挺惊讶的,等着三面吧,把面 ...

  3. java数据跑不出来,6000条数据,java下跑了20多分钟了还没跑完,求教怎么改进

    当前位置:我的异常网» Java Web开发 » 6000条数据,java下跑了20多分钟了还没跑完,求教怎 6000条数据,java下跑了20多分钟了还没跑完,求教怎么改进 www.myexcept ...

  4. java resume过时方法_面试官没想到,一个 Java 线程生命周期,我可以扯半小时

    面试官:你不是精通 Java 并发吗?从基础的 Java 线程生命周期开始讲讲吧. 好的,面试官.吧啦啦啦... 如果要说 Java 线程的生命周期的话,那我觉得就要先说说操作系统的线程生命周期 因为 ...

  5. 我的世界java版游戏崩溃_我的世界:MC不一样的冷知识,游戏崩溃?没想到你是这样的F3!...

    我的世界:MC不一样的冷知识,游戏崩溃?没想到你是这样的F3!我的世界:超实用的5大快捷操作,这个键按住10秒会发生神奇的事! 快捷操作一:拿起和放置物品 <我的世界>早期没有合成书的时候 ...

  6. 爱奇艺,美团打车Java岗面试经历,这些问题我是真没抗住

    前言 对, 就是今年的金九银十,我满怀希望的抓住了这次面试招聘的好机会,也只是没想到这才开始就遇到了不测,接连面试了两个心仪的公司都没过,面试过程可以算是最心酸了的一次经历了,最心酸的两次-详细的过程 ...

  7. 爱奇艺,腾讯Java岗面试经历,这些问题我是真没抗住

    前言 对, 就是今年的金九银十,我满怀希望的抓住了这次面试招聘的好机会,也只是没想到这才开始就遇到了不测,接连面试了两个心仪的公司都没过,面试过程可以算是最心酸了的一次经历了,最心酸的两次-详细的过程 ...

  8. 爱奇艺,滴滴打车Java岗面试经历,这些问题我是真没抗住

    前言 对, 就是今年的金九银十,我满怀希望的抓住了这次面试招聘的好机会,也只是没想到这才开始就遇到了不测,接连面试了两个心仪的公司都没过,面试过程可以算是最心酸了的一次经历了,最心酸的两次-详细的过程 ...

  9. 没想到啊!做完这个JAVA项目并写到简历里,我居然拿到了高薪offer

    一提起Java开发,总会给人赚钱能力强.薪酬高等固有形象,毕竟Java岗位的薪资在所有行业里算是顶级的.3年开发经验在一线拥有30万+年薪一点都不稀奇.如果你有幸进入了准Java开发行业,意味着你在薪 ...

最新文章

  1. VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、
  2. DBUtils 笔记
  3. 在数据显示页面增加按姓名查询功能
  4. 广州驾考科目三电子考16日全面启动
  5. 从飞鸽传书口水仗想到的
  6. caffe报错:Check failed: width <= datum_width (28 vs. 17)
  7. 叮咚!7.24运维节,您有一份礼物待查收!
  8. quarz设置定时器任务的有效时间段_quartz定时任务时间设置
  9. 天外印刷的计件工资项目结束了
  10. Visual Paradigm 教程[UML]:如何在UML中绘制活动图?
  11. openstack cinder api对应的命令行接口
  12. 视频封装格式篇(TS)
  13. Anylogic学习--------------数学函数
  14. 如何下载免费高清Google谷歌卫星3D地图?
  15. GroovyHelp
  16. PyG 中Message Passing机制详解
  17. 如何提高研发部门工作效率的探讨
  18. Java项目在Linux环境使用aspose把word转pdf乱码问题
  19. android手机邮件6,Android手机邮箱设置详细教程
  20. 如何在局域网中查看其他电脑上的文件

热门文章

  1. 开放搜索电商行业模版驱动业务增长实践
  2. 在list集合指定位置添加元素
  3. TIM定时器控制按键(按键长短按)
  4. [附源码]SSM计算机毕业设计药品销售管理系统JAVA
  5. 大模型技术发展概述 -(四)
  6. 《AI嵌入式系统技术与实践-基于树莓派RP2040和MicroPython》书籍介绍
  7. VMware下Android编译流程
  8. Linux-letsencrypt证书制作
  9. 2021最新Java面经整理 | 数据库篇(一)MySQL
  10. 赛威商业进销存管理系统