在2017年即将结束之际,我们最好停下脚步来看看过去十二个月Java的发展情况。本文,笔者盘点了IT168企业级一年来对Java的跟踪报道。

这一年对Java来说是不容易的,从Java 9一再延期备受争议,再到拿下所有权威排行榜的前三名,Java今年发生了太多事情,饱受了很多争论。

风平浪静的一月

2017年开始之际,Jeff Luszcz解释了使用“免费”Java软件的一些陷阱以及开发者希望在Java 10中看到哪些功能。

由于一些语言服务器协议,Eclipse Che 5.0支持Java。

尚未遭遇变故的二月

我们在2月份拿到了很多顶级技术列表,主要集中在针对重要编程语言,顶尖编程语言和IT最热门工作的调查结果。对Java 9特性的持续报道继续介绍了JDK 9的早期访问文档。

本月,Google的Cloud Spanner测试版发布,完全支持Java。Oracle与谷歌的诉讼持续升温,双方继续争夺Java API。

登上最值得被学习榜单的三月

本月,Java被列为2017年最值得学习的编程语言之一。IntelliJ IDEA 2017.1加入了对Java 8的支持。另外,Stephen Colebourne解释了为什么需要利用Java 8的优势。

Angualr抢走关注点的四月

四月发生了什么? 本月,我们了解了Angular 4的顶级功能。

我们看了2017年的微服务趋势,Java消亡的预测以及Java是否对初学者不利(斯坦福大学将入门编程语言从Java换成了Python)。仔细研究了Stack Overflow调查报告,发现Java从版本9到5是非常流行的。

开始出现下滑迹象的五月

本月,主要关注TIOBE指数,榜单显示Java正在走向下滑。

其他消息包括Java的父亲詹姆斯·高斯林(James Gosling)加入与AWS合资的公司。在Eclipse中,对Eclipse Oxygen的早期观察表明,这一切都意味着Sirius更好的可用性和工作流程。

Java 9延迟消息被曝出的六月

本月是Java 9延迟消息最先发布的时候,OpenJDK管理委员会主席和甲骨文Java平台组开发副总裁Georges Saab解释了这其中的原因,由于委员会投票未通过导致这一结果。同时,他也表示Java 9不会在没有Jigsaw的情况下独自上线。

本月,Eclipse Oxygen终于发布!

为广大Java程序员打了一剂强心针,Java虽然一直被唱衰,但不会死亡,毕竟它有其自身的独特优势。(《Java不被看好,前景堪忧?程序员怎么看?》)

敲定最终发布日期却遭遇信任危机的七月

本月,Java 9终于敲定最终发布日期为9月21号,对于Java 9的一再延期,外媒采访了圈内比较知名的Java开发大神,这十位开发者对这一事件的看法各不相同,有的认为Java 9仍然是值得期待的,有的认为根本没想到Java 9可以通过委员会的投票,根本就不会有人使用Java 9.(《Java 9状况百出,Java程序员大神们都忍不住发声了!》

本月,Java 9公布了前九大改进和功能,对由于资金问题无法出现在Java 9中的JSON API进行了说明。

Java 9新一轮解读开始的八月

由于Java 9的一再延期,多数开发者对此项目充满了不信任。Monica Beckwith是一名Java/JVM 性能咨询专家,他在接受访问时表示,Java 9的亮点不是一个Jigsaw就可以概括的。Java 9加入了很多新特性,在性能等方面也有很大改进。

Java EE 8发布新功能,简化的同时扩展了平台范围,以适应当前云和web开发中的新兴技术。

在本月公布的IDE搜索排行榜中,Eclipse位居榜首,与Visual Studio、Android Studio一起成为了开发者搜索最多的IDE之一。

本月的TIOBE榜单中,Java的指数为12.961%,比去年同期下降了6个百分点,创下历史新低。

本月新发布的CheerpJ可以轻松将Java应用转换为javaScript。

Java 9终于到来但让开发者有些失望的九月

所有的延迟都是值得的,因为Java 9终于到来了,这是本月的最大事件。

9月21日,一再延期的Java 9终于正式发布。宣传最热的Jigsaw似乎并没有迅速赢得开发者的心。基于Project Jigsaw的模块化功能引起了广大程序开发人员的争议,Java商店对于模块化功能并没有立即更新,而是保守的决定等模块化成熟后再进行更新。

Azul Systems营销副总裁Howard Green在采访中表示,鉴于JDK 8的广泛采用,他怀疑Oracle可能会延长它的寿命,特别是JDK9的采用速度远不及JDK 8那么快时。

经历了Java 9延期事件,Oracle的Java平台组首席架构师Mark Reinhold提出,Java SE平台和JDK将转变为严格的基于时间模式,每六个月增加一个新功能,每季度更新一次,每三年发布一次长期支持。

此外,一组葡萄牙的研究人员在本月公布了编程语言与节能效率之间的关系,整个过程主要考虑了三个变量:执行时间、内存消耗和能耗。最终,Java成为最节能的编程语言之一。

据国外顾问机构约翰·库克博士的预测,到2039年,Java将死亡。Java被列为21世纪即将死亡的编程语言之一。

Java EE本月正式移交给了Eclipse基金会。

Kotlin虎视眈眈喧宾夺主的十月

本月对Java来说,可谓是厄运缠身。Python与Kotlin对Java的冲击显然不小。这场战争最先由Realm引爆,Realm是一家实时移动平台提供商,在本月发布了针对10万多名程序员的调查结果。数据显示,过去的四个月中,使用Java构建的Android应用程序数量下降了6.1%,该机构预测到2018年12月,Kotlin在Android领域将超越Java,这就好像Swift一步步打败了Objective-C。(《Java被抛弃?大量安卓程序员涌向Kotlin!》)

不久后,在GitHub发布的年度报告中,Python又成功挤掉了Java上升至第二位。好在Oracle及时宣布了JDK 18.3计划,才让Java扳回一城。Oracle在声明中表示,JDK9的下一个版本将更名为JDK18.3。

此外,阿里巴巴李三红在一场公开演讲中表示,阿里开发的所有Java应用程序都在运行AJDK,阿里巴巴基于丰富的Java开源定制了大部分软件生态系统。

前三季度盘点Java稳坐前三名的十一月

11月份,大家对Java 9的关注似乎有所减少(可能是因为转向了最新的Angular和Kotlin 1.2)。Kotlin 1.2最新版本的发布可能会进一步侵占Java的市场。

此外,作为加速发布周期举措的一部分,Oracle宣布“大多数版本发布应至少包含一个或两个重要功能”。为了让Java保持相关性和现代化,Oracle为Java添加了许多新特性,同时弃用了一部分特性。(《Oracle的不断改进使Java成为一门更完美的语言》)

本月还发布了针对Kotlin和Java用户的轻量级Web框架Javalin,以及在开发过程中花费了大量时间的Apache Kafka。

在本月发布的针对编程语言2017年前三季度盘点中,我们总结了前三季度发布的所有权威排行榜,无论按照流行度、易用性、主流编程语言等各项指标排名,Java都是不变的前三名。(《2017年编程语言前三季度盘点:综合所有权威排行榜及调研结果!》)

当选2018年市场需求最旺盛编程语言首位的十二月

今年即将结束,只剩下几个故事可以讲述,比如下一个Java版本将被正式称为JDK 10。

本月,Coding Dojo发布了程序员最应意识到的前七大工作机会最多的编程语言。简而言之,这是对2017年市场需求最旺盛的编程语言的总结,也是对2018年的预测。根据数据显示,Java是2017年最受欢迎的编程语言,拥有6.8万个工作机会,但是这一数字将在2018年下降至6.2万。即便下降,该编程语言同样是市场需求最旺盛的。(相关文章:《2018市场需求最旺盛编程语言:Java、Python、JavaScript!》)

同时,本月也重申了Java在数据科学领域的地位。由于数据科学家的高需求,Python和R语言被认为是直接受益者,其实,Java在数据科学领域同样可以发挥巨大作用。另外,Buildship 2.2现在支持Java 9。(《强心针:Java在数据科学领域同样是王者!》)

展望未来

Java在未来一年还有哪些值得期待的事情呢?根据Oracle的计划,2018年3月底或4月初,Java 10似乎将准备就绪。新版Java最有可能包含的特性是目前处于目标状态或建议目标状态的JEP。主要涉及以下功能:

·局部变量类型推断

·将JDKForest 合并到单个存储库中

·垃圾收集器接口

·G1的并行完整GC

·应用程序类数据共享

·Thread-Local Handshakes

然而,未来一年到底会发生什么显然不是可预测的。对Java来说,2017年是伟大的一年,让我们共同期待接下来会发生什么吧!

java学习群669823128

年终盘点:Java今年的大事记都在这里!的更多相关文章

  1. 《连载 | 物联网框架ServerSuperIO教程》1.4种通讯模式机制。附小文:招.NET开发,结果他转JAVA了,一切都是为了生活

    参考文章: 1.SuperIO通讯框架介绍,含通信本质 2.C#跨平台物联网通讯框架ServerSuperIO(SSIO) 一.感慨 上大学的时候,没有学过C#,花了5块钱在地坛书市买了一本教程,也就 ...

  2. 2.JAVA编程思想——一切都是对象

    一切都是对象 欢迎转载.转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040221 虽然以C++为基础,但 Java 是一种更纯粹的面 ...

  3. java 中操作字符串都有哪些类?(未完成)它们之间有什么区别?(未完成)

    java 中操作字符串都有哪些类?(未完成)它们之间有什么区别?(未完成)

  4. List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedList Set有两个实现类:HashSet和LinkedHashSet AbstractSet实现了Set

    List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedListSet有两个实现类:HashSet和LinkedHashSetAbstractS ...

  5. 【性能优化】面试官:Java中的对象都是在堆上分配的吗?

    写在前面 从开始学习Java的时候,我们就接触了这样一种观点:Java中的对象是在堆上创建的,对象的引用是放在栈里的,那这个观点就真的是正确的吗?如果是正确的,那么,面试官为啥会问:"Jav ...

  6. 盘点 Java 开发 2020 年发生的几件大事,你必须得知道!

    2021 年了,在过去的一年 Java 软件开发行业都发生了哪些重大事件呢? 这篇栈长带大家回顾一下,其实在元旦的<滚蛋吧,2020>也略有介绍,这篇就更加详细的总结一下. 1.Java ...

  7. 不藏了,这些Java反射用法总结都告诉你们

    摘要:Java反射是一种非常强大的机制,它可以在同一个系统中去检测内部的类的字段.方法和构造函数.它非常多的Java框架中,都大量应用了反射技术,如Hibernate和Spring.可以说,反射机制的 ...

  8. 盘点 6 个被淘汰的 Java 技术,它们都曾经风光过!

    大家好啊,今天栈长给大家分享下我的开发历程中,我知道的那些被淘汰的技术或者框架,有些我甚至都没有用过,但我知道它曾经风光过. 废话不多说,下面我要开始吹了-- 1.Swing 下面这个是用 swing ...

  9. <转>年终盘点!2017年超有价值的Golang文章

    马上就要进入2018年了,作为年终的盘点,本文列出了一些2017年的关于Go编程的一些文章,并加上简短的介绍. 文章排名不分先后, 文章也不一定完全按照日期来排列.我按照文章的大致内容分了类,便于查找 ...

随机推荐

  1. 练Focus T25必看!T25课表 视频与成功案例汇总

    练Focus T25必看!T25课表 视频与成功案例汇总! [复制链接]  http://jianfei.39.net/thread-3645799-1.html     小西i减肥         ...

  2. java要注意的问题3

    十七.使用正则 正则表达式的结构摘录如下(来源: Oracle官网) 字符 x 字符x / 反斜杠 /0n 8进制值为0n的字符(0<=n<=7) /0nn   /0mnn 8进制值为0m ...

  3. sqlserver导入excel的电话号码(身份证)变为科学计数解决方式

    如果excel中有一列存的是手机号码或者身份证号码,那么导入到sql中时,会把手机或者身份证当作数字格式对待,因而会以科学记数法的形式存在sqlserver表中,解决方式,先将excel文件另存为文本 ...

  4. 关于maven包冲突的一些思路

    在最近的项目中出现了很多包冲突,有时一下子就能猜到错误,但是有写往往需要很久都不能定位问题,尤其是项目人员参差不齐,有时为了方便私自引入一些工具类,而未考虑到项目本身. maven的出现方便了我们的包 ...

  5. POJ 2253 Frogger (Dijkstra变型)

    题意:求点1到点2的路径中,权值最大的那条边,其最小值是多少. 分析:最大值最小化.可以将迪杰斯特拉模板中的松弛操作加以修改,在O(n^2)的时间内解决该问题.其中需要注意的是,dist[i]指的是: ...

  6. Python数据处理实例

    使用python进行数据处理的实例(数据为某公司HR部门关于员工信息的部分摘录,kaggle上面的一次赛题) https://www.kaggle.com/c/kfru-dbm-hr-analytic ...

  7. windows10下Python如何设置环境变量

    1.右击“我的电脑”,选择“属性”, 2.选择“高级系统设置”, 3.选择“环境变量”, 4.在“系统变量”中选中“Path”,再点“新建”.(Python.Scripts两个目录都要加,只加Pyth ...

  8. Python中用format函数格式化字符串的用法(2.7版本讲解哦!)

    语法 它通过{}和:来代替%.“映射”示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.forma ...

  9. Linux下解压分包文件zip(zip/z01/z02)【转】

    本文转载自:https://www.cnblogs.com/EasonJim/p/7227109.html?utm_source=itdadao&utm_medium=referral Lin ...

  10. awk 连接字符串

    awk中数据类型,是不需要定义,自适应的. 有时候需要强制转换.我们可以通过下面操作完成. 一.awk字符串转数字awk 'BEGIN{a="100";b="10test ...