Java语言的诞生具有一定的戏剧性,它并不是经过精心的策划,制作,最后产生的划时代产品。从某种角度来看,java语言的诞生完全是一种误会。
(资料图片仅供参考)
1990年末,太阳(Sun)公司预料嵌入式系统将在未来家用电器领域大显身手。 该团队最初考虑使用C++语言,但很多成员包括太阳公司首席科学家比尔·乔伊(Bill Joy)发现C++和可用API在某些方面存在很大问题。工作小组使用嵌入式平台,可用系统资源极其有限,C++太过复杂,以致很多开发者经常错误使用。并且C++缺少垃圾回收系统,可移植性差,缺乏分布式和多线程等功能。
他决定创造一种全新的语言----Oak(橡树),当时Oak这个商品已经被注册,于是只得将Oak更名为Java。
太阳公司在1995年初发布了Java语言,太阳公司直接把Java放到互联网上免费给大家使用,甚至连源代码也不保密,向所有人公开。Java成了互联网上最热门的宝贝,竟有10万多人次访问了太阳公司的网页,下载Java语言,并出现了数不清的Java小程序(Applet),演示着各种小动画、小游戏等。
1998年12月太阳公司发布了Java历史上最重要的JDK版本,JDK 1.2,伴随着JDK 1.2一同发布的还有JSP(JavaServer Pages)/Servlet、EJB(Enterprise Java Beans)等规范,并将Java分成J2SE(Java 2 Standard Edition)、J2EE(Java 2 Enterprise Edition)和J2ME(Java 2 Micro Edition)三个版本。
J2SE:整个Java技术的核心和基础,它是J2ME、J2EE编程的基础。J2EE:Java技术中应用最广泛的部分,J2EE提供了企业应用开发相关的完整解决方案。J2ME:主要用于控制移动设备和信息家电等有限存储的设备。2002年,太阳公司发布了JDK历史上最成熟、发展最快的一个JDK版本 - JDK 1.4。Java语言在企业应用领域大放异彩,涌现出大量基于java语言的开源框架,Struts、WebWork、Hibernate、Spring等。大量企业应用服务也开始涌现,WebLogic、WebSphere、JBoss等,这些都标志着Java语言进入了飞速发展时期。
JDK1.5增加了诸如泛型、增强的for语句、可变数量形参、注释、自动拆箱和装箱等功能。同时,也发布了新的企业级平台规范,如通过注释等新特性来简化EJB的复杂性,并推出了自己的MVC框架规范----JSF(JavaServer Faces),JSF规范类似于asp.net的服务器端控件,通过它可以快速构建复杂的JSP界面。
2006年12月,太阳公司发布了Java EE 6。但在2009年4月20日,甲骨文(Oracle)公司宣布将收购太阳公司。太阳公司倒下了,不过Java的大旗依然猎猎作响。
时隔五年即2011年7月28日,甲骨文公司终于发布了Java SE 7,引入了二进制整数,支持字符串的switch语句,棱形语法,多异常捕抓,自动关闭资源的try语言等新特性。
2014年3月18日,甲骨文发布了Java SE 8,带来了全新的函数式编程、Lambda表达式、流式编程等大量新特性,这些新特性使得Java变得更加强大,成为当下最主流的版本。
2017年9月22日,Java SE 9 发布,强化了Java的模块化系统,让庞大的Java语言更轻量化,,并在核心类库上进行了大量更新,可以进一步简化编程,但对语法本身更新并不多,毕竟Java语法体系已经足够成熟。
2018年3月21日,Java SE 10 发布。为了更快地迭代,更好地跟进Java社区反馈,Java语言版本发布周期调整为每隔6个月发布一次。Java 10带来了很多新特性,其中最备受关注的莫过于局部变量类型推断。除此之外,还有其他包括垃圾收集器改善、GC改进、性能提升、线程管控等一批新特性。
Java 10 发布半年之后,即2018年9月25日,甲骨文公司宣布Java 11 (18.9 LTS) 正式发布,值得注意的是,Java 11是Java的一个长期支持版本LTS(Long Term Support),Java 11的技术支持时间直到2023年9月份,补丁和扩展支持直到2026年9月份。同时甲骨文公司公布的Java后续版本路线图展示新的长期支持版本将每三年发布一次。
Java SE 12 发布于2019年3月,引入了几个新功能和改进,旨在使Java开发更快、更可靠和更安全。
在 Java 12 中,对 Switch 表达式的写法进行了改进,虽然是一个语法糖的改进,也让 Switch 的代码编写变得更加优雅。Java SE 12包括对JVM的改进,导致启动时间更快。这意味着Java应用程序将更快地启动,使其更响应并且更容易使用。引入了JFR事件流,允许实时流式传输JFR事件,使诊断和解决性能问题变得更加容易。Java 13 早在 2019 年 9 月就已经发布,虽然不是长久支持版本,但是也带来了不少新功能。最优雅的当属文本块功能,再也不用丑陋的连接符拼接大段文本了。
java13 之前
java13 之后
2020 年 3 月 Java 14 发布,虽然不是LTS版本,但是也带来了不少新功能。日常实用的便是更有用的 NullPointerExceptions。
但是在 Java 14 之前,如果一行有多个表达式时,这时报了空指针后,单纯的从报错信息来看,可能并不知道是哪个对象为 NULL ,下面是一个演示
旧版 NPE
新版NPE
Java 15 在 2020 年 9 月发布,带来了Sealed Classes(密封类)、Hidden Classes(隐藏类)2个新的类机制,扩展java面向对象的特性。
Sealed Classes(密封类)Java 15 引入 sealed 类,被 sealed 修饰的类可以指定子类。这样这个类就只能被指定的类继承。而且 sealed 修饰的类的机制具有传递性,它的子类必须使用指定的关键字进行修饰,且只能是 final、sealed、non-sealed 三者之一。
Hidden Classes(隐藏类)Hidden Classes就是不能直接被其他class的二进制代码使用的class。Hidden Classes主要被一些框架用来生成运行时类,但是这些类不是被用来直接使用的,而是通过反射机制来调用。比如在JDK8中引入的lambda表达式,JVM并不会在编译的时候将lambda表达式转换成为专门的类,而是在运行时将相应的字节码动态生成相应的类对象。
这个特性让开发者可以引入一个无法被其他地方发现使用,且类的生命周期有限的类。这对运行时动态生成类的使用方式十分有利,可以减少内存占用。
编译后
Java 16 在 2021 年 3 月 16 日正式发布,将OpenJDK 源代码是使用版本管理工具 Mercurial 进行管理的,现在迁移到了 Git ,主要原因如下:
Mercurial 生成的版本控制元数据过大。Mercurial 相关的开发工具比较少,而 Git 几乎在所有的主流 IDE 中已经无缝集成。Mercurial 相关的服务比较少,无论是自建托管,还是服务托管。Java 17 在 2021 年 9 月 14 日正式发布,Java 17 是一个长期支持(LTS)版本,共带来 14 个新功能。
以上就是Java发展史的简单总结,而一种语言如果想要长久的发展,就要不断的进行更新,保持行业领先,并且Java使用前景也比较广阔,许多企业都在使用,而如果要学习的同学们,可以选择长期支持版本进行学习,而 Java SE 8 在现在使用的比较多的版本,而如果进行微服务开发和公司有需求,学习 Java SE 11 也是可以的。
标签: Java
仓储物流“成渝圈”如何乘势而上? 12月3日,连接昆明和万象的中老铁路全线开通运营,被惠及的显...
两件西周青铜簋时隔三千年成功配对 考古工作者介绍,这个铜簋的盖、身分别时隔40余年出土,纹饰...
“医保砍价”不是一个人在战斗 晁星 “我眼泪都快掉下来了”“每一个小群体都不该被放弃”…...
“购物成瘾”真的是一种病 刘艳 牛雅娟 本周日即将迎来“双十二”促销季,很多人又开始摩拳...
因迷恋山间风景,一男子在甘孜州稻城县海拔4000多米的无人区迷失方向,随后与同伴失联。12月的稻城...
嫌疑人DNA信息比中后,成都市公安局刑侦支队技术处DNA实验室民警白小刚一下坐在凳子上,恍惚迟疑间...
一批反映南京大屠杀历史的新书发布 新华社南京12月7日电(记者邱冰清、蒋芳)“以史为鉴,开创未来...
我在现场·照片背后的故事|电影《亲爱的》里面没有的结局,在我眼前“上映” 12月6日,在深圳市...
冥想?泡脚?不如听听助眠音乐 晚上睡不着,白天睡不醒,成为最贴合都市人群的“睡眠画像”。随...
养老话题 老年教育面临缺口 “终身教育”潜力无限 【现实挑战】“新老年”群体愿意在培养兴...
孙海洋被拐14年儿子如何找到的? 警方侦办另一宗拐骗儿童案时发现线索,通过人像比对、DNA确认找...
北京天文馆、圆明园将对未成年人免费开放 12月6日,北京天文馆发布通知称,12月8日起试行对未成...
今年全国粮食总产量再创新高 连续7年保持在1 3万亿斤以上 根据对全国31个省(区、市)的抽样调...
斑块软的很危险 硬的就无碍? 血管里的“垃圾”分类 赶快学起来! 一项最新研究显示:中国...
诺西那生钠注射液大幅降价 聚焦医保谈判背后脊髓性肌萎缩症家庭 医保目录公布那天 好多家长都...
抖音“窗花剪剪”遭抄袭 被判获赔20万元 法院认为“窗花剪剪”的这种表达方式理应受到《著作权...
公安机关近日侦破3起拐卖儿童案件 失散十几年 3组家庭终于团圆了 北京青年报记者12月6日从公...
2021年度十大网络用语发布 本报讯(记者 路艳霞)作为年度“汉语盘点”活动最具网络特色的组成部...
北京天文馆向未成年人免费开放 本报讯(记者 牛伟坤)北京天文馆对票价免费及优惠政策作出调整:1...
2021北京百个网红打卡地发布 本报讯(记者 李洋)2021北京网红打卡地推荐榜单昨晚正式发布。自然...