回顾2014 Java发生的5件大事

1、2月1日:RedMonk分析师确认并宣布Java是最受欢迎和多样化的语言!

2014年,Java生态圈伴随着引擎的轰鸣起步,随着FOSDEM年会的Free Java会议一路飙升。除此之外,还有很多颇有深度的OpenJDK优秀技术演讲,以及(RedMonk分析师)Steve O’Grady带来的令人吃惊的业内相关主题演讲。 Steve给出了2014年初Java受欢迎程度及领域排名领先数据。分析中指出的Java的使用范围,在RedMonk的博客中 也被反复提到。Java位列编程语言前两名已不足为奇,但其他的一些议题让我们这些身处Java生态圈的相关人事也感到惊讶。Steve在演讲中清 晰地指出Java呈现了非常明显的多元化。除了大家通常认为的企业级应用,在社交媒体、消息通讯、游戏、移动领域、虚拟化、构建系统等许多方面也表现突 出。Steve还指出,Java在(在所有行业的)新项目中被广泛采用。这个事实彻底粉碎了Java已成为遗留企业平台的迷思。

(译者注:FOSEM 自由和开源软件欧洲大会)。

2、3月18日:Java 8到来

Java 8的到来迎来了新的函数式与面向对象混合语言。对Java而言是一次“新生”。Java 8发布后,使用新版本的比率令人难以置信(可参阅Typesafe的完整报告)。毫无疑问,这是Java开发者翘首期盼的一次发布。

下面是关于这次发布亮点一些额外的思考:

Lambdas(JSR 335):在这次发布前,关于Lambda这个主题已经有很多优秀的书籍和教程预热了。在我看来,Lambda给开发者带来的最明显的好处就是,他们可以 摆脱所有强加在身上的命令式、面向对象的冗余代码,通过集合清晰地表达行为的正确意图。归结到那句老话“在计算机科学中只有3个问题,缓存失效、命名和差 一错误”。新的Collection Stream API与Lambda一起可以解决后面2个问题! Nashorn 项目(JSR 223、JEP 174):这个JavaScript运行时允许开发者将JavaScript代码嵌入到他们的Java应用程序中。尽管我个人不会很快使用,但是这个新特性有力地促进了JVM作为一线动态类型语言平台的地位。期待这个趋势继续保持下去! 日期和时间API(JSR 310、JEP 150):这是类似生活必需品的API,对于像Java这样的蓝领语言需要将它恢复正常。这一次(第3次)终于做到了!除了终于让时区设置可以正常工作,这次还将特意将Immutable First作为Java语言中新API的设计决定。

3、七月:移植到ARM 64(AArch64)

RedHat主导了在ARMv8 64位架构上支持Java的开发工作。这是让Java真正成为“可以在任何地方运行”的重要一步,同时SAP开始移植Java到PowerPC、AIX的工作,之前这两项工作由OpenJDK中非Oracle参与者负责。如果你希望加入这项工作,可在项目主页看到详细信息。

在嵌入式领域,Java要成为主要的参与者还有很长的路要走。然而,2014年出现的种种迹象令人鼓舞,Java SE嵌入式功能在Raspberry Pi上被频繁使用,Java ME嵌入式增加了实际要求的新特性,与Java SE API互相呼应。

4、9月、10月:JCP复兴并举行15周年庆典

Java社区流程(JCP)是决定Java SE、Java EE和Java ME新加入功能的标准主体。在2013年基础上,JCP将自己重新定义为更加开放的开源社区,在2014年持续改进,遏止了成员流失的势头。最重要的是——现在的JCP真正代表了Java生态圈的多样性。你可以从现在的执行委员会组成结构上看到,像Java用户组这样的组织与业界及重量级用户IBM、Twitter和高盛并肩坐在了一起。

5、社区协作空前高涨,微软加入OpenJDK

OpenJDK的新成员超过以往(参见Mani的优秀文章)。OpenJDK现在成为了主要技术公司的巨大熔炉,其中包括Red Hat、IBM、Oracle、Twitter以及今年新加入的微软。微软的加入着实让人大吃一惊。

JSR和OpenJDK方案的采纳越来越多地让日常工作的开发者加入。除了组织工作坊引导各个API的未来开发,现在会在全球范围内测试新的API以及新的想法,并尽早将反馈传递给OpenJDK和Java EE规范的设计工作。

社区会议及Java用户组的数量持续增加,尤其是最近的JavaOne令人映像深刻。令人欣喜是,很多社区帮助儿童课外和周末时间学习编码,比如Devoxx for Kids。

2015会发生什么?

在我的预期中,2015年Java语言核心的变化会相对减少。Java EE和Java ME的新特性发布也会减少,因为他们的主要发布节点都设在2016。在社区方面,我期待看到Java开发者坚定地拥抱Web、UI技术,比如 AngularJS、更多系统和Devops工具链,比如Docker、AWS、Puppet等。当然,还有迁移到Java 8享受函数式带来的好处!我敢肯定,社区肯定会继续茁壮成长,飘忽不定的IoT(物联网)将会开始进入主流。Java开发者将会继续等待,直到Java 9真正成为嵌入式开发的主流平台。但是,尝鲜者会在2015年开始尝试早期发布的版本。Java、JVM应用程序将会因为可移动组件以及分布式系统变得愈 加复杂。可怜的开发者会经常耗费数周修复产品的问题。为了应对这种情况,将会出现一波有意思的分析工具,用来分析基于Java、JVM的应用程序。同时还 会有部署工具。Oracle的Mission Control是一款非常强大的工具,可以深入JVM了解其中的信息。其他工具比如ZeroTurnaround的Xrebel,jClarity’的Censum。Illuminate下 一步会把机器学习中的分析应用到原始数据。最后我想强调的是。Jigsaw项目是Java 9模块化招牌,它会给工具开发商以及日常开发者带来巨大的影响。社区需要你的帮助来测试Java 9早期构建版本,以此来帮助OpenJDK开发者及工具开发商确保IDE、构建工具和应用程序为这个重大的改变做好准备。你可以加入OpenJDK采纳小 组:http://adoptopenjdk.java.net。希望大家都能度过一个很棒的新年假期——期待2015年能够看到Twitter消息和 GitHub提交越来越多。

原文链接: javacodegeeks 翻译: ImportNew.com - 唐尤华 译文链接: ImportNew

回顾2014 Java发生的5件大事的更多相关文章

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

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

  2. Java学习-008-判断文件类型实例

    此文源码主要为应用 Java 如何判断文件类型的源码及其测试源码.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-2-2 23:02:00,请知悉. Java 判断文件类型源码如 ...

  3. Java语法进阶13-文件、IO流

    File File是文件和目录路径名的抽象表示形式,即File类是文件或目录的路径,而不是文件本身,因此File类不能直接访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流. File ...

  4. Java甘特图控件swing版免费下载地址

    FlexGantt 控件是现在Java 平台下最先进的甘特图解决方案,使用一个很高的抽象层次,能适用于多种不同的域,例如 ERP 系统.生产计划和日程安排.制造流程系统或项目公文管理程序等.这些使得 ...

  5. java基础知识回顾之java集合类-Properties集合

    /** java.lang.Object   |--java.util.Dictionary<K,V>      |--java.util.Hashtable<Object,Obje ...

  6. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  7. Java眼中的XML--------文件读取

     XML 的初次邂逅 初次邂逅XML 如何进行XML文件解析前的准备工作 在Java程序中如何获取xml文件的内容 在Java程序中读取xml文件的过程也成为----解析xml文件 解析的目的:获取节 ...

  8. java 随意控制控件的位置

    package chat1; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class chat1{ ...

  9. JAVA反编工具件安装 JD-eclipse

    想看Android  API源码,但是只有class文件,于是找了个反编译工具Java Decompiler,免费的反编译工具.eclipse插件:JD-eclipse. 安装步骤: 1.确保计算机上 ...

随机推荐

  1. xpack文件打包解包代码库

    Github ###概述 xpack是一个文件资源打包工具及类库,可以对多文件进行打包解包. 其使用文件名的hash作为索引,建立hash索引表以加速文件查找. ###特性 支持hashid自动解冲突 ...

  2. 【转】.NET中的三种Timer的区别和用法

    最近正好做一个WEB中定期执行的程序,而.NET中有3个不同的定时器.所以正好研究研究.这3个定时器分别是: //1.实现按用户定义的时间间隔引发事件的计时器.此计时器最宜用于 Windows 窗体应 ...

  3. HDU 2391 Filthy Rich (dp)

    题目连接 Problem Description They say that in Phrygia, the streets are paved with gold. You're currently ...

  4. hdu 1716 排列2(DFS搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1716 排列2 Time Limit: 1000/1000 MS (Java/Others)    Me ...

  5. meterpreter使用

    1.基本命令 background:将meterpreter终端隐藏在后台 sessions:查看已经成功获取的会话,想继续与某会话进行交互使用sessions –i quit:直接关闭当前meter ...

  6. JavaScript验证注册信息

    <script language="javascript"> function check_login(form){ if(form.username.value==& ...

  7. 【黑客免杀攻防】读书笔记14 - 面向对象逆向-虚函数、MFC逆向

    虚函数存在是为了克服类型域解决方案的缺陷,以使程序员可以在基类里声明一些能够在各个派生类里重新定义的函数. 1 识别简单的虚函数 代码示例: #include "stdafx.h" ...

  8. Python图片验证码降噪 — 8邻域降噪

    简介 图片验证码识别的可以分为几个步骤,一般用 Pillow 库或 OpenCV 来实现,这几个过程是: 1.灰度处理&二值化 2.降噪 3.字符分割 4.标准化 5.识别 所谓降噪就是把不需 ...

  9. java系统的优化

    1.tomcat.jboss.jetty的jvm内存,增大 2.数据库的优化,如MySQL的innodb_buffer_pool_size等参数,增大

  10. RESTful Web 服务:教程

    RESTful Web 服务:教程   随着 REST 成为大多数 Web 和 Mobile 应用的默认选择,势必要对它的基本原理有所了解. 在它提出十多年后的今天,REST 已经成为最重要的 Web ...