2015年的Java –重大事件

2015年是Java的一年,语言,平台,生态系统和社区继续主导着软件领域,只有Javascript对整个行业产生了类似的影响。 如果您错过了2015年的亮点,这里是发生的一些重大事件。

Java 20岁了,还没有死!

Java今年已满20岁,并在2015年12月重新回到Tiobe指数的顶部。 尽管Tiobe指数几乎不是100%同行评审的科学方法,但它被视为衡量语言/平台健康的强大指标。 那么到底发生了什么使Java如此大幅度提升的事情呢?

首先,主流Java企业商店采用了去年的Java 8版本。 Lambdas的附加功能功能与新的Streams和Collections框架相结合,为该语言注入了新的活力。 尽管Java 8的功能集不如Scala或Python丰富,但它被视为稳定的主力军,现在至少与更激进的语言具有某些功能对等。 企业喜欢一个稳定的平台,Java不太可能很快消失。

其次,Java已成为用于基础架构平台/框架的强大平台。 同样,许多流行的NoSQL数据网格解决方案(例如Apache Cassandra , Hazelcast)都是用Java编写的,这再次是由于其稳定性以及强大的线程和网络支持。 CI工具(例如Jenkins)被广泛采用,当然,商业效率工具(例如Atlassian的JIRA)再次基于Java。

甲骨文破坏了其Java宣传团队

甲骨文在JavaOne之前解雇了其Java宣传小组的大部分人员,这并不是Java管家最大的公关举动。 在随后的几个月中,越来越清楚的是,这并不是Oracle减少将其工程工作减少到Java中的一步,但是由于担心最糟糕的情况,大多数社区都感到紧张。 一个明显的提醒是,大公司并不总是让他们的右手说话!

Java 9延迟宣布

在“我们并不真的感到惊讶”一词中,宣布了Java 9将被推迟到2017年3月,以确保新的模块化系统不会破坏目前运行的数百万个Java应用程序。

尽管拼图的技术工作进展顺利,但整个生态系统仍需要在新系统上进行测试。 OpenJDK中的Quality小组正在领导这项工作。 我强烈建议您与他们联系,以使其成为早期访问和反馈循环的一部分。

OpenJDK支持更多的移动平台

OpenJDK移动项目的创建使许多人感到惊讶,尽管这并不代表Oracle业务方向的变化,但它是可在ARM,Android和iOS平台上启用Java的代码的欢迎版本。 有许多技术工作要做,但值得关注的是,整个软件社区是否会选择这种新支持,并在2016年及以后尝试将Java用作iOS和Android平台的语言。 OpenFX(JavaFX)与iOS或Android上的Java mobile结合使用可能会吸引大量开发人员使用此“新”平台。

我对2015年是否正确?

查看过去的预测总是很有趣,让我们看看我的表现如何!

  1. 我预计2015年会比较安静。 好吧,我显然错了! 尽管没有针对ME,SE或EE的主要版本,但庆祝Java诞生20周年的激动之情和使用Java 8的新开发人员的涌现意味着2015年比以往更加繁忙。
  2. 前端采用Javascript。 这种趋势还在继续,诸如JHipster之类的堆栈显示了Java开发人员对Javascript的新爱。
  3. Devops工具链脱颖而出。 Docker的受欢迎程度继续不断提高,并且Java开发人员特别开始在测试环境中使用Docker,以避免Java运行时,Web服务器,数据存储等方面的变化污染环境。
  4. 物联网和Java成为物联网。 没呢还没! 也许在2016年,随着OpenJDK中新的Mobile Java项目以及Java ME的进一步完善,我们可能会开始看到严重的入侵。

我不会对2016年做任何预测,因为我显然需要坚持自己的日常工作:)
最后一个重要说明。 Jigsaw项目是Java 9的模块化故事,它将极大地影响工具供应商和日常开发人员。 整个社区都需要您的帮助,以帮助测试Java 9的早期版本,并帮助OpenJDK开发人员和工具供应商确保IDE,构建工具和应用程序已为这一重要更改做好了准备。 您可以加入OpenJDK的“ 采用组” 。 我希望每个人都能度过一个美好的假期–我期待看到Twitter提要和GitHub承诺在2016年到来。

Martijn,Cheers(首席执行官– jClarity ,Java冠军和恶魔般的开发人员)

翻译自: https://www.javacodegeeks.com/2015/12/java-2015-major-happenings.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java商品编写代码_商品品牌业务之后台Java代码的编写

今天是刘小爱自学Java的第146天。感谢你的观看,谢谢你。商品品牌业务之后台Java代码的编写-1.jpg (50.46 KB, 下载次数: 1)2021-2-5 00:22 上传学习计划安排如下:昨天实现了前端页面的编写以及发送请求,今天关于异步请求工具axios的简单说明。…

java中8种数据类型和默认值所占字节数

java 8种基本数据类型的默认值及所占字节数通过一段代码来测试一下 8种基本数据类型的默认值 1 package dierge;2 3 public class Ceshi { 4 int a; 5 double b; 6 boolean c; 7 char d; 8 float f; 9 byte e; 10 long h; 11 short j; 12 public static void main(String…

软件测试实验1:为三角形问题编写一个Java程序,并用Junit测试程序

实验报告 实验内容: 1.Install Junit(4.12), Hamcrest(1.3) with Eclipse 2.Install Eclemma with Eclipse 3.Write a java program for the triangle problem and test the program with Junit. 实验步骤: 1.在eclipse中安装Junit、Hamcrest和eclemma。…

java避免空指针异常_避免Java中的空指针异常

java避免空指针异常空指针异常是Java中最常见,最烦人的异常。 在这篇文章中,我想避免这种不希望的异常。 首先让我们创建引发空指针异常的示例 private Boolean isFinished(String status) { if (status.equalsIgnoreCase("Finish")) { ret…

比java好的_Java Spring真的比直接进行Java编程好吗

我已经读过依赖注入对于测试是有好处的,因为可以在没有依赖的情况下测试一个类,但是我想到的问题是,如果A类依赖于B或C或任何类,则独立于某个类的A类测试就是得出的测试结果为零,而不是失败或过去的测试.创建A类是为了执行某些操作,如果无论是使用新关键字还是在Spring中设置多…

SurfaceFlinger与Surface概述

基本原理: SF一个Client对应一个app中的SurfaceComposerClient, 分别是Binder的n端和b端,主要用来CreateSurface 一个app中有多个Activity,一个Activity一般有一个Surface(除SurfaceView,一个View就有一个Surface)&…

拼图项目动手指南

Jigsaw项目将把模块化引入Java平台,根据原始计划,它将在12月10日完成功能。 所以我们在这里,但是拼图在哪里? 在过去的六个月中肯定发生了很多事情: 原型问世 ,内部API的迫在眉睫的删除引起了很大的骚动 &…

java实现回文验证_LeetCode 精选 TOP 面试题(Java 实现)—— 验证回文串

文章目录一、题目描述1.1 题目验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a cana…

Yarn 和 Npm 命令行切换 摘录

原文作者: Gant Laborde原文地址: https://shift.infinite.red/np...中文翻译: 文蔺译文地址:http://www.wemlion.com/2016/n... 好,想必你对新的 JavaScript 包管理工具 yarn 已经有所耳闻,并已通过 npm i -g yarn 进行了安装,现在想知道怎么…

Something about Giraffe (II)

先解決老師留的幾個問題再說吧,23333 XD.Giraffe 是一個將 Deep Reinforcement Learning 和 Neural Network 结合到一起的Chess AI 程式。 作者 Matthew Lai 是一個了不起的人,目前就職於 Google Deepmind. 隨著AlphaGo席捲全球,隨著Deep lea…

php 时间选择,PHP-在学说2中的日期之间选择条目

PHP-在学说2中的日期之间选择条目我将因这个无法修复的最小错误而发疯。 我想在两天之间选择条目&#xff0c;下面的示例说明了我所有的失败&#xff1a;选择1。$qb->where(e.fecha > . $monday->format(Y-m-d));$qb->andWhere(e.fecha < . $sunday->forma…

threadlocal线程_线程故事:Web应用程序中的ThreadLocal

threadlocal线程本周&#xff0c;我花了一些合理的时间来消除Web应用程序中的所有ThreadLocal变量。 原因是他们造成了类加载器泄漏&#xff0c;我们不能再适当地取消部署我们的应用程序。 取消部署应用程序后&#xff0c;当GC根目录继续引用应用程序对象时&#xff0c;将发生类…

java开发门禁指纹,指纹门禁

大兀人脸识别控制系统USB指纹仪DW9拓扑图(指纹为java系统直接采集、云或控制板直接比对&#xff0c;无需二次注册&#xff0c;人脸为htttp上传服务器或rtsp视频流比对方案)大兀活体指纹门禁采用BS架构&#xff0c;已集成进大兀人脸识别系统&#xff0c;如二次开发可直接调用jav…

使用Selenide进行有效的UI测试

等待奇迹 圣诞节是奇迹的时刻。 在新的一年的前夕&#xff0c;我们都为下一年制定了计划。 我们希望所有问题都将在最后一年消失&#xff0c;在来年出现奇迹。 每个Java开发人员都梦想着创造一个奇迹&#xff0c;使他成为世界上最有效的Java开发人员。 我想向你展示这样的奇…

android之seekbar

做了一个拖动滑块改变数值的demo 下附上代码: <SeekBar android:id"id/myseekbar" android:layout_width"match_parent" android:layout_marginTop"20dp" android:thumb"drawable/slider" android:layout_height&qu…

php 微信小程序 循环 多选,微信小程序实现多选功能

本文为大家分享了微信小程序实现多选功能的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下代码&#xff1a;{{num 1}}/{{quesyion.length}}{{question[num][0]}}A {{question[num][1]}}B {{question[num][2]}}C {{question[num][3]}}D {{question[num][4]}}正确答案…

今天在看慕课网的java学习路径

new对象是静态加载类 在编译时刻就需要加载所有可能使用的类 如果有有一个类没有 其他的类也无法使用 通过动态加载类可以解决这个问题 class for name 打印异常栈轨迹Stack Trace。说起栈轨迹,可能很多人和我一样,第一反应就是printStackTrace()方法 classforName //加载…

php+反序列化代码执行漏洞,PHP反序列化漏洞

0x001 漏洞产生原理在反序列化的过程中自动触发了某些魔术方法。未对用户输入的序列化字符串进行检测&#xff0c;导致攻击者可以控制反序列化过程&#xff0c;从而导致XSS、代码执行、文件写入、文件读取等不可控后果。0x002 漏洞触发条件一般只能通过代码审计的方式挖掘该漏洞…

java 应用程序 gui_Java GUI应用程序关闭陷阱

java 应用程序 gui最近&#xff0c;我遇到了一个或两个Java GUI应用程序在关闭时无法关闭的问题。 他们似乎是一个过程&#xff0c;消耗着计算机资源。 今天&#xff0c;我深入探究了问题的根源&#xff0c;这是一个我以前不曾意识到的棘手陷阱&#xff0c;所以我想我会分享一下…

php动态成本管理,网上审批系统环境下的动态目标成本管理

1.预测目标价格和销售量目标价格是根据市场可接受的价格范围、企业自身的竞争优势和企业的经营理念等因素来确定的。在确定目标价格的同时&#xff0c;需要确定在这种价格下企业的预计销售量&#xff0c;因为销售量影响生产量&#xff0c;生产量影响作业量&#xff0c;作业量影…