• 首先从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?

    对于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)戒律。
  • 进军社区

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

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

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

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

  • 不要忘记开源

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