首页 > 业界 > Java程序员不容错过的开发趋势
2017
01-22

Java程序员不容错过的开发趋势

  英文原文:If You Wrote Java in 2016, Here Are the Trends You Couldn’t Have Missed

  当涉及到代码时,有很多热门话题,并且与时俱进总是潮流所向。如果你想知道如何分离糟粕和精华,那么我们已经准备就绪,只欠各位阅读下文的东风。

  在接下来的内容中,我们将查看 2016 年的热点,以及今年会更热的热点。当然说的是 Java 方面的。好的,那就启航吧。

Java程序员不容错过的开发趋势 - 同创卓越 - 1

  Java 9,你真好,你让我神魂颠倒

  首先从 Java 6 中的一个 bug 说起,这个 bug 在 Java 9 中将变成一个功能:sun.misc.Unsafe。此库是用于执行低级别、不安全操作的方法的集合。例如,使用 allocate Instance 方法允许你跳过对象初始化阶段或绕过构造函数中的安全检查。

  虽然 Oracle 考虑过干脆删除 Unsafe 库,但社区改变了他们的主意,并最终使 Unsafe 库成为了 Java 9 的一个功能。

  这不是唯一一次社区谈论 Java 9 或 Java 未来版本的可能变化。今年早些时候,Brian Goetz,Oracle 的 Java 语言架构师发布了 JEP 286 的调查结果。

  该提案建议在未来的 Java 版本中引入 Local Variable Type Inference,以简化 Java 应用程序的编写。实质? 74% 的开发人员希望不要那么冗长,并且能够声明变量而不必指定相关联的类型。

  过了 200 多天,直到 Java 9 将被发布(因为我们掰着手指在数它的发布日期),我们有足够的时间来挖掘不同的 JEPs,并找到新的和改进的功能。这就是我们遇到的 JEP 266:更多并发更新,包括 CompletableFuture 和令人兴奋的 java.util.concurrent.Flow 类的更新。

  毫无疑问,过去一年中,Java 9 已经成为了头条新闻,并且随着我们进入 2017 年,它将继续获得越来越多的关注。现在我们要做的是等待,希望它不会被再次延迟发布。

  关于 Java EE?

  2016 年对于 Java Enterprise Edition,也被称为 Java EE 来说是有意义的一年。它一直是全球 Java 社区的一个混乱的来源,因为它建立在 Java SE 之上。从官方来说,它就“只是”一个规范,通过来自 Oracle(如 Glassfish 参考实现)和其他厂商如 Red Hat 和 IBM 的实际可用的实现。

  Java EE 存在着许多问题,主要是这一个“Oracle 是否已经放弃了企业软件?”。Java EE 的致命打击来自 Gartner 的“应用程序平台市场指南”报告。在报告中,Gartner 指出,Java EE 是为了“已经过时且不再满足现代应用程序需求的模型”而构建的。唉~

  Java EE 社区表示 Gartner 说得不太对,并由此引发了围绕这个版本的讨论。Java EE 8 预计将在 2017 年上半年发布,我们觉得现在就赞誉它还为时尚早。我们必须等待,看看结果如何以及 Java EE 是否会崩溃。

  关于更多 Java

  Java 不仅仅是 Java 9,它还有很多趋势是你必须保持在潮流之上的。一个好的开始浏览2016 年的 100 个顶级 Java 库,检查在过去一年是否有任何你可能错过了的东西。

  此外,如果库并非你所好,那么还有一些有趣的来自于 Google 的 Java 库(不是 Guava)值得一阅。

  遵循教育路线,有一些关键的元素你只能随着经验的增长而学到,所以准备好学习吧。

  如果你正在寻找挑战,那么有很多项目值得你花时间。你可以试着去解决这些优雅的问题,字符串操作,或者甚至 Java 音乐播放器,边玩边学习。当然,如果你遇到任何问题或有任何疑问的话,伟大的 Stackoverflow 随时为你提供服务。这里有七个我们发现的最佳问题

  有趣的小轶事:你能猜到 GitHub 的顶级 Java 项目如何使用日志吗?我们分析了1,313 个 GitHub 存储库中的 779,236 个 Java 日志记录语句,以找出答案:ERROR,WARN 还是 FATAL?

  将 Java 放在容器中

  容器在新一年中变得非常有用,并且它们在管理 servlet 的生命周期,将 URL 映射到特定 servlet 并确保 URL 请求者具有正确的访问权限时也非常方便。

  很多人都对 Java 容器感兴趣。在我们对 Alpine Linux 和 Docker 的结合激起了兴趣的几个月后,单 OverOps 就可以支持聊天,然后我们看到越来越多的用户使用他们的容器尝试它。

  这就是为什么我们决定尝试 Alpine Linux 的原因,Alpine Linux 是独立的,脱离了 Linux,基于 musl libc(读作’muscle’)和 busybox。除了轻量级这个特点,它也遵循安全为主的原则,并且使用 grsec / Pax,对于 Linux 内核而言增强了安全。

  Docker 仍然是业界最热门的工具之一。该公司承担了运输代码的挑战性任务,并且使它更快更容易地使用容器。但是,如果你想在 Docker 上使用 Java,那么你可能需要重新考虑一下,因为它可能会导致你打破(Java)戒律。

  关于 DevOps?

  我们知道你在想什么——下面我们将来说一说这个流行语。我们在 2016 年遇到的最常见的主题之一是 DevOps,它有着各种各样的含义和工作方法。它的要旨是专注于知道在一个实时应用程序中发生了什么,并能够控制它。

  我们怎么做到这一点?通过监控我们的生产环境。性能问题,错误和异常总是在产生,我们必须知道究竟发生了什么。但是,我们怎么知道什么时候以及为什么产生了某些问题?这就是 Observability 的概念所在,帮助我们深入了解系统并知道发生了什么。

  它是 DevOps 工作流程的一部分,并且在控制理论中,它是通过其外部输出的知识来推断系统内部状态如何的一种度量手段。这里出现了另一个“流行语”:Instrumentation。正是 Instrumentation 允许我们在应用程序对我们和我们的用户发疯前获得洞察。

  在我们建立这些基石之后,现在是时候提供可以帮助我们监控应用程序性能的工具了。一旦应用程序启动并运行,我们需要知道是否以及何时抛出错误或异常。这就是为什么市场上有许多错误跟踪工具,因此,所有你需要做的是选择正确的。

  错误不是唯一需要我们关注的问题,2016 年剩下的最大挑战是处理日志文件。每个人都会使用日志文件来搜索和理解应用程序中的错误、崩溃和异常。有些人使用直接方法和筛选纯文本日志文件,而其他人依靠日志管理工具来帮助他们在 log-haystack 中找到错误。

  日志文件在 2016 年依然是个坑

  如果你正在寻找一种新的方式来调试生产错误和异常,那么 OverOps(2016 年期间进行了修改)可以为你提供了整个调用堆栈的完整源代码和变量状态。导致失败的每个参数和每个变量会被传递到事务或工作流中。

  还有很多

  我们还不能忽略微服务的趋势。有人会说,这就是另一个令人难以忍受的流行语,而另一些人则高歌吟颂其分解庞然大物或采取逆向方法和注重消极方面的优势。

  无论你用什么方法看,这些日子好像每个人都搞微服务。现在你只需要小心在使用微服务时不要在生产中涉及它。

  无服务器计算架构在过去几年中也一直受到关注。无服务器计算的概念涉及部署代码,而不是服务器。云提供商不是购买、管理和扩展服务器,而是处理对 VM 的请求。

  所以你仍然需要服务器,但这个新模式承担了这个责任。或者换句话说,在处理到服务器或安装的任何软件上的部署都没有麻烦。基本上,所有你需要的是一个管理的云服务和一台计算机。

  以及最后一个,即使人工智能和机器学习已经存在一段时间了,但依然感觉每个人还是在谈论它们。它们不再是科学家和研究人员的秘密,几乎在任何新兴技术中都可以看到实现的影子。

  最近这一领域的喧嚣尘上和演变进步使得非研究人员更容易了解相关内容。现在,你完全可以轻松访问相关的算法和工具。你必须知道你在做什么,而且通过机器学习能力来增强应用程序会容易得多。

  进军社区

  你必须热爱 Java 社区。因为它们不仅影响了语言的未来版本,而且还通过聚会、文章和一切有关 Java 的信息丰富了我们所有人。2016 年有一些非常令人惊叹的会议,如 JavaOne,QCon,并且更多伟大的会谈你现在还可以重新观看。

  在软件开发中学习新事物的主要资源之一是观看在线讲座和视频。这是一个伟大的平台,因为里面有 Java 专家与我们分享他们的经验,而你无需离开舒适的沙发四处奔波。

  或者,如果你不喜欢看视频,那么浏览 Java decks 也可以让你保持更新到当前的新趋势。

  同伴支持与我们工作的每个方面都是相关的,而且我们可以从我们周围的人那里学到很多东西。一个关键的特点是多产,因为总有改进的余地。我们所要做的就是准备好接受建议,并倾听任何愿意发言的人。

  不要忘记开源

  社区的另一个关键因素是支持和促进开源项目。事实上,我们已经正式推出了你一直在等待(也有可能并非如此)的命令行工具——Bullshifier。它用于在大得离谱的代码基础上测试一些监控能力,通过成千上万的调用深度,成千上万的类,并结束了异常的事务。

  最后的想法

  在 2016 年我们邂逅了很多主题和流行语。有一些我们已经知晓,有一些崭新的东西则允许我们以完全不同的方式去看 Java。现在我们期待着 2017 年的 Java 9,期待 2017 年 Java 会有一些更新和更惊人的功能,会谈,项目,甚至一两个新的流行语。

  2016 年你最喜欢的 Java 功能、会谈或话题是什么?我们很乐意在下面的评论聆听各位的声音。

  -

  译文链接:http://www.codeceo.com/article/java-develop-trend.html

  翻译作者:码农网 – 小峰

最后编辑:
作者:同创卓越
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。