旧文:年终盘点:Java今年的大事记都在这里!

2023-12-13 12:10

本文主要是介绍旧文:年终盘点:Java今年的大事记都在这里!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

image.png

风平浪静的一月

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进行了说明。

image.png

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成为最节能的编程语言之一。

image.png

据国外顾问机构约翰·库克博士的预测,到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来说,2020年是伟大的一年,让我们共同期待接下来会发生什么吧!

个人主页领取多种电子书,实战文档,面试题



 

这篇关于旧文:年终盘点:Java今年的大事记都在这里!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/488412

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定