【库学科技资讯】Java 发展简史:初生遇低谷,崛起于互联网

<p>
</p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/24647691-73c9d2135e1b61aa.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/24647691-1bc16d5e10efcc65.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p>作者|神灵</p><p>主管编辑|吴兴玲</p><p>生产的CSDN(ID:CSDNnews)
</p><p>本文来源于网络,侵删。</p><p>
</p><p>
</p><p><strong>Java的起源和诞生</strong></p><p>
</p><p>在1990年代,单片计算机系统诞生了。单片计算机系统不仅价格便宜,而且功能强大。使用它可以大大增强消费电子产品的智能性。</p><p>为了抓住市场机会,SUN于1991年成立了由James Gosling领导的“绿色”项目团队,目的是开发可以在各种消费电子产品上运行的程序。建筑。</p><p>因此,将哪种编程语言用于设计对于项目团队来说是一个头疼的问题。那时,C ++具有更多优势。项目团队首先考虑使用它来编写程序,但是C ++太复杂且太大,并且由于消费电子产品中使用的嵌入式处理器芯片种类繁多,因此有必要编写程序。跨平台操作,如果用C ++编写,则对程序的跨平台操作不友好。</p><p>最终,项目团队决定:既不使用C ++编写也不开发新的编程语言,而是进行C ++转换:删除了C ++的复杂指针和内存管理,并结合了嵌入式系统的实时需求,最后1992年,他们开发了一种称为“ Oak”的面向对象的语言。</p><p>当他们向硬件制造商演示时,硬件制造商对此并不冷漠。由于缺乏硬件支持,OaK语言无法进入市场,因此被搁置了。</p><p>1994年,项目团队看到了浏览器的未来发展前景,因此他们决定将OaK应用于万维网。 1995年,他们使用OaK语言开发了一种技术,该技术可以将小程序嵌入到网页中以执行Applet。因为Applet不仅可以嵌入到网页中,而且还可以通过Web在Web上传播,这使得无数的程序员看到了OaK的语言,与此同时,OaK正式将其名称更改为Java。从那时起,Java随着Internet的推广而变得流行。</p><p>
</p><p>
</p><p><strong>Java的演变</strong></p><p>
</p><p>1996年1月,SUN推出了JDK1.0。 JDK1.0发行后,许多程序员学习并使用Java来制作网页。 JDK包括两部分:开发工具和操作环境。</p><p>操作环境包括核心API,集成API,用户界面API,发布技术和Java虚拟机(JVM)。 JDK1.0的发布标志着Java已成为独立的开发工具。同年9月,使用Java技术制作了大约83,000个网页。</p><p>JDK1.0的代表性技术包括:Java虚拟机,Applet,AWT等。</p><p>1997年2月,SUN推出了JDK 1.1,在其发布的三周之内就下载了近220,000次。 4月2日,第一次Java One会议在美国旧金山举行。超过10,000人参加了这次会议,创下了当时世界上规模最大的同类会议的记录。九月份,Java开发人员连接社区有100,000多名成员。同年,还有10个主要的操作系统供应商正式宣布将在其产品中使用Java。</p><p>JDK1.1的代表性技术包括:JDBC,JavaBeans,RMI,JAR文件格式,内部类和Java语法中的反射。</p><p>1998年12月8日,发布了第二版Java平台J2EE的企业版JDK1.2。</p><p>1999年6月,Sun公司将Java系统分为三个方向:</p><p>J2ME(Java2微型版,Java2平台的微型版),用于移动,无线和有限资源环境中;</p><p>J2SE(Java 2标准版,Java 2平台的标准版),用于桌面环境;</p><p>J2EE(Java 2企业版,Java 2平台的企业版),用于基于Java的应用程序服务器中。</p><p>对于不同的供应商,Java API也分为三类:</p><p>Java Core API:Java核心类库;</p><p>Java可选API:对先前API的扩展;</p><p>特殊API:由特殊制造商或组织提供的API。</p><p>Java 2平台的发布是Java开发中最重要的里程碑,标志着Java应用程序开始普及。</p><p>JKD1.2的代表性技术包括:Swing,Java IDL,EJB,Java插件等。在API文档中,添加了strictfp关键字和Collections集合类。</p><p>在1999年4月27日,发布了HotSpot虚拟机。 HotSpot由一家名为“ Longview Technologies”的小公司开发,后来被SUN收购。发行HotSpot虚拟机时,它作为JDK 1.2的附件提供,后来成为JDK 1.3和Sun JDK的所有更高版本的默认虚拟机。</p><p>2000年5月,相继发布了JDK1.3,JDK1.4和J2SE1.3。 J2SE1.3是对J2SE1.2的补充和扩展。从应用领域的角度来看,JavaSE1.3已经涵盖了数据库,WEB和网络。 ,图形,多媒体,电话,图像和大多数信息技术领域。</p><p>在2002年2月26日,发布了J2SE1.4。与J2SE1.3相比,类和接口增加了近62%。在这些新功能中,它还提供广泛的XML支持,安全套接字(Socket)支持(通过SSL和TLS协议),全新的I / OAPI,正则表达式,日志记录和断言。</p><p>J2SE1.5于2004年9月30日发布,成为Java语言开发历史上的另一个里程碑。为了表达此版本的重要性,J2SE 1.5被重命名为Java SE 5.0(内部版本号为1.5.0)。 Java SE 5.0包含自1996年1.0版以来最重要的更新,包括通用支持,基本类型的自动装箱,改进的循环,枚举类型,格式化的I / O和可变参数。</p><p>在2005年6月的Java One会议上,Sun发布了Java SE6。这时,各种版本的Java被重命名,而数字2被取消。例如,J2EE重命名为JavaEE,J2SE重命名为JavaSE,J2ME重命名为JavaME。</p><p>2011年7月28日,收购Sun的Oracle发行了Java SE 7,该Java SE 7引入了新功能,例如二进制整数,支持字符串的switch语句,棱柱形语法,多个异常捕获以及尝试自动关闭资源的语言。</p><p>2014年3月18日,Oracle Corporation发布了Java SE8。此版本的升级带来了许多新功能,例如全新的Lambda表达式和Java的流式编程。这些新功能使Java更加强大。</p><p>2017年9月22日,Oracle公司发布了Java SE9。此版本升级增强了Java模块化系统,使Java语言更轻巧,并采用了更高效,更智能的GI垃圾收集器。类库上的许多更新可以进一步简化编程。</p><p>Java SE 10于2018年3月21日发布。 Java 10版本带来了许多新功能。其中,开发人员最关心的是局部变量类型推断。此外,它还包括新功能,例如垃圾收集器改进,GC改进,性能改进,线程管理和控制。</p><p>Java SE 11于2018年9月26日发布。这是主要Java版本周期更改后的第一个长期支持版本(LTS版本将继续受支持,直到2026年9月)。 Java11带来了诸如ZGC和Http Client之类的重要功能,并且总共包含17个JEP(JDK增强建议)。</p><p>Java SE 12已于2019年3月20日发布。 Java 12是短期支持版本,可以在下一个版本发布之前获得Oracle的商业支持。</p><p>2019年9月23日,Java SE 13被发布。此版本添加了“文本块”。文本块是多行字符串文字,避免了大多数转义序列的需要,并以可预测的方式自动格式化字符串,并让开发人员在需要时控制格式。</p><p>
</p><p>
</p><p><strong>爪哇人经历了千辛万苦,以换取春天的花朵</strong></p><p>
</p><p>经过20多年的版本更新,逐步积累,创建了当今的Java。</p><p>列出更新过程中Java的新功能:</p><p><strong><strong>Java 1.0:</strong></strong></p><ul><li><p>虚拟机-Sun Classic VM</p></li><li><p>Java applet-AppletJava applet-Applet</p></li><li><p>Java图形设计</p></li></ul><p><strong><strong>Java 1.1:</strong></strong></p><ul><li><p>罐子包装-瓶子</p></li><li><p>Java规范-JavaBeans</p></li><li><p>连接到数据库JDBC(Java数据库连接)远程调用RMI</p></li><li><p>内部阶级-内部阶级</p></li><li><p>反射-反射</p></li></ul><p><strong><strong>Java 1.2:</strong></strong></p><ul><li><p>字符串常量进行内存映射</p></li><li><p>对打包的Java文件进行数字签名</p></li><li><p>策略工具,用于控制对系统资源的授权访问</p></li><li><p>JDBC中引入了可滚动的结果集,BLOB,CLOB,批处理更新和用户定义的类型</p></li><li><p>在Applet中添加声音支持</p></li><li><p class="image-package">即时编译技术</p></li><li><p>运行插件-Java插件</p></li><li><p>J2EE规范-EJB</p></li><li><p>平台对象请求代理架构-Java IDL</p></li><li><p>收藏集</p></li></ul><p><strong><strong>Java 1.3:</strong></strong></p><ul><li><p>计算</p></li><li><p>CORBA IIOP实现RMI通信协议</p></li><li><p>Java 2D的新功能</p></li><li><p>Jar文件索引</p></li><li><p>计时器API</p></li><li><p>声音Java声音API</p></li></ul><p><strong><strong>Java 1.4:</strong></strong></p><ul><li><p>正则表达式</p></li><li><p>链条异常</p></li><li><p>XML解析器</p></li><li><p>XSLT转换器</p></li><li><p>XML处理</p></li><li><p>Java打印服务</p></li><li><p>JDBC Advanced-Java Web Start JDBC 3.0JDBC Advanced-Java Web Start JDBC 3.0</p></li><li><p>操作系统的高级功能-首选项</p></li><li><p>先进的Stream-NIO</p></li><li><p>记录功能-记录</p></li><li><p>图片流-Imgae I / O</p></li></ul><p><strong><strong>Java 1.5:</strong></strong></p><ul><li><p>自动装箱和拆箱</p></li><li><p>泛型</p></li><li><p>元数据</p></li><li><p>静态介绍</p></li><li><p>内省-内省</p></li><li><p>枚举枚举</p></li><li><p>可变长度参数-Varargs</p></li><li><p>高级虚幻foreach</p></li><li><p>内存模型</p></li><li><p>并发包-并发</p></li></ul><p><strong><strong>Java SE 6:</strong></strong></p><ul><li><p>名称变更</p></li><li><p>脚本语言</p></li><li><p>编译API和微型HTTP服务器API</p></li><li><p>锁定并同步</p></li><li><p>垃圾收集</p></li><li><p>类加载</p></li><li><p>Kerberos</p></li><li><p>LDAP</p></li><li><p>JDBC Advanced-JDBC 4.0JDBC Advanced-JDBC 4.0</p></li><li><p>Java™编程语言编译器接口-Java编译器</p></li><li><p>可插拔注释</p></li><li><p>公钥基础设施本机PKI</p></li><li><p>通用安全服务-Java GSS</p></li><li><p>网络服务-网络服务</p></li></ul><p><strong><strong>Java SE 7:</strong></strong></p><ul><li><p>字符串可以作为switch语句块中的分支条件</p></li><li><p>创建通用对象时应用类型推断</p></li><li><p>try-with-resources</p></li><li><p>null值得自动处理</p></li><li><p>数字类型可以用二进制字符串表示</p></li><li><p>介绍Java NIO.2开发套件</p></li><li><p>动态语言支持</p></li><li><p>安全加,减,乘和除</p></li><li><p>地图集合支持并发请求</p></li></ul><p><strong><strong>Java SE 8:</strong></strong></p><p>Java SE 8是Java更新历史上非常重要的版本。函数式编程的引入使Java编程更加强大。典型的有:</p><ul><li><p>Java工具的操作增强</p></li><li><p>Unicode增强功能,包括对Unicode 6.2.0的支持</p></li><li><p>并行数组排序</p></li><li><p>标准编解码Base64</p></li><li><p>无符号算术支持</p></li><li><p>新并发</p></li><li><p>Lambda表达式</p></li><li><p>方法参数反射Java XML技术增强</p></li><li><p>JSSE服务器中对SSL / TLS服务器名称指示(SNI)扩展的增强支持,用于虚拟机操作</p></li><li><p>支持AEAD算法...</p></li></ul><p><strong>Java SE 9、10 ...</strong></p><p>从目前的情况来看,Java在世界编程语言中排名第一,而且风景非常好。</p><p>回想过去,当我出生时,我陷入了低谷,然后利用互联网崛起。 J2SE捕获了桌面,J2ME捕获了手机,J2EE捕获了服务器。 Java的三大力量也浪费了时间,并从灰烬中重生。投入甲骨文的怀抱,以换取春天的温暖。在这种悲伤,快乐,感激和叹息的情况下,Java的当前状况已不是一天的工作。我希望世界各地的所有程序员都会珍惜并希望它。</p><p>
</p><p>
</p><p><strong>Java崛起,未来充满希望</strong></p><p>
</p><p><strong><strong>1.从开发的角度看Java:API不断更新,可重用性不断提高</strong></strong></p><p>Java的更新速度非常快,并且会不时地进行版本迭代以适应新技术的发展趋势。学习Java的程序员遍布世界各地。幸运的是,我也是众多Java程序员之一。过去几年一直很热门的大数据也与Java密切相关。</p><p>Java本身具有极大的开放性和可伸缩性,再加上Java如此悠久的历史背景,我相信,只要语言继续发展,就很难被时代所淘汰。</p><p><strong><strong>2.从就业的角度来看Java:Java一直处于互联网时代,人工智能时代和5G +时代。</strong></strong></p><p>随着网络的发展,Java已广泛用于数据中心,PC,游戏,移动电话和其他行业。从近年来的招聘量来看,对Java开发人员的需求仍然很大,对Java的学习仍然是主流,发展前景广阔。</p><p>我国信息技术人才的培养仍处于发展阶段,导致社会上对人才的实际需求远远大于信息技术培训人才的数量,迫切需要成千上万的中小企业需要全面掌握Java软件开发的基本技能和知识的软件工程师。</p><p>Java软件工程师的就业前景良好。此外,IT专业企业不仅需要Java软件工程师,而且大多数非IT企业也需要Java软件工程师。前景相对乐观。我到目前为止所知道的是:</p><p>1. Java企业应用程序开发</p><p>当前,Java在许多行业中都有许多企业信息应用程序,例如邮箱,物流,医疗,股票,OA,金融和其他信息系统。这些与当前的主流行业密切相关,因此对Java开发人员的需求仍然相对较大,并且处理效果相当好。工资水平类似于Java Internet的方向。在一些大型企业中很容易找到工作,只要您有毅力和学习的毅力,我认为至少当面对如此多的选择时,您不会无用。机会将永远保留给有准备的人。</p><p>2. Java网站建设</p><p>近年来,网站建设业务呈现快速增长的势头,行业市场越来越大。许多新技术的应用使公司网站的建设更具吸引力和功能。 Java编程语言将使网站结构更紧密,访问更流畅,更适应新要求。尽管当前的市场分析Java太昂贵而无法建立网站,并且硬件要求也比较高,但是大多数中小型企业都会选择使用PHP语言进行开发,但是在许多大型企业中,Java语言仍然用过,所以你还是有机会的,鸭子往大昌。</p><p>3. Android开发</p><p>Android是世界上最大的智能手机操作系统。 Android在过去几年中发展迅速,在该国的市场份额也有所增加。但是,在小程序和H5迅速崛起的影响下,Android本机开发的门槛已经提高。 Android开发工程师的要求也有所提高。这就要求学习Android的程序员具有熟练的技术。优秀的Android开发工程师仍然存在很大差距。 Android的中级和高级工程师仍然很受欢迎。 Android应用程序的主要开发语言是Java,因此,如果您非常熟练,则选择Android是一个很好的方向。</p><p>4. Java游戏开发</p><p>Java可用于编写游戏脚本。 Bean,Shell,Groovy等脚本语言可以方便,无缝地与Java语言进行交互,这极大地促进了Java游戏编程的发展。当前,国内游戏比较火爆,有很多受欢迎的电子竞技,因此国内游戏专业人士的需求总是存在缺口。因此,只要您具备非凡的技能,就可以努力填补这些空白,而不必担心食物。</p><p>
</p><p>
</p><p><strong>不要忘了初衷,走Java</strong></p><p>
</p><h3/><p>我是一个学习Java的程序员。在完成并撰写本文之后,我又重新认识了Java。在我看来,Java的“火”并非偶然,而是许多因素的累积。 Java的开发过程值得研究。作为Java的忠实拥护者,Java的重要性不言而喻。我相信无论是计算机专业人士还是非计算机专业人士,程序员都会有同感。</p><p>对我来说,其他Java程序员也是一样,因为他们对Java有着持久的热爱,因此他们愿意继续追求专业卓越,并且凭借这种忠诚的热爱,我们将不会惧怕风雨无阻而前进。不要忘记最初的意图,并一直拥有它,我想把Java当作一匹马,诗歌和美酒来利用我的时间!</p><p>参考:Java百度百科</p><p>作者简介:伟大的才华横溢,热爱共享的程序员始终相信:“您知道如何共享的知识越多,您的价值就会越高。”</p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/24647691-2fe05440afb85483.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p>
</p><p>
</p><p>
</p><p>
</p><p>
</p><p>
</p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/24647691-47ca94f170ecd9b1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p>您订购的每一次“观看”,我都将其视为最爱</p>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354