不停歇的Java即将发布JDK16新特性速览及从菜鸟到架构师[图]

一、不停歇的Java即将发布JDK16新特性速览
当开发者深陷Java8版本之际,这边下一版本Java16有了最新的消息,与Java15一样,作为短期版本,Oracle仅提供6个月的支持。
根据发布计划,JDK16将在12月10日和2021年1月14进入Rampdown阶段,2021年2月4日到2月18日进入发布候选阶段。最终版本预计于2021年3月16日正式发布。
日前,JDK16揭晓了即将到来的新功能,接下来,我们将一睹为快:
以前在JDK15中预览的密封类和接口限制其他类和接口可以扩展或实现它们。该计划的目标包括,允许类或接口的作者控制负责实现它的代码,提供比访问修饰符更声明性的方式来限制超类的使用,以及通过提供模式分析的基础来支持模式匹配的未来方向。

不停歇的Java即将发布JDK16新特性速览及从菜鸟到架构师[图]

默认情况下,对JDK内部进行强封装,但关键内部API(如misc.Unsafe)除外。用户可以选择自JDK9以来默认的宽松强封装。此建议的目标包括提高JDK的安全性和可维护性,作为项目Jigsaw的一部分,并鼓励开发人员从使用内部元素迁移到使用标准API,以便开发人员和最终用户都可以轻松地更新到未来的Java版本。
外部链接程序API,提供静态类型、纯Java对本机代码的访问。此API将在JDK16中处于孵化器阶段。
将ZGC(Z垃圾收集器)线程堆栈处理从安全点移动到并发阶段。此计划的目标包括从ZGC安全点中删除线程堆栈处理。
弹性元空间功能,它将可以更迅速地将未使用的HotSpotVM类元数据(元空间)内存返回到操作系统,减少元空间占用空间并简化元空间代码以降低维护成本。
启用C++14语言功能,允许在JDKC++源代码中使用C++14功能,并提供有关部分功能可用于HotSpotVM代码的特定指导。
孵化器阶段的向量API,其中JDK将安装一个孵化器模块,用于表示编译为支持的CPU体系结构上的最佳矢量硬件指令的矢量计算,以实现与等效标量计算更高的性能。
将JDK移植到Windows/AArch64平台。随着新的服务器级和使用者AArch64(ARM64)硬件的发布,Windows/AArch64已成为一个重要的平台。
在x64和AArch64体系结构上,将JDK移植到AlpineLinux和其他使用musl作为主C库的Linux发行版。Musl是ISOC和Posix标准中描述的标准库功能的Linux实现。由于云部署、微服务和容器环境,AlpineLinux由于其映像大小较小,因此被广泛采用。
为不可变数据提供充当透明载体的记录类。
增加Unix域套接字通道,其中Unix域(AF_UNIX)套接字支持添加到nio.channels包中的套接字通道和服务器套接字通道API中。该计划还扩展了继承的通道机制,以支持Unix域套接字通道和服务器套接字通道。Unix域套接字用于同一主机上的进程间通信。它们在很多方面与TCP/IP套接字类似,只是它们由文件系统路径名称而不是IP地址和端口号寻址。新功能的目标是支持Unix域套接字通道的所有功能,这些功能在主要Unix平台和Windows中很常见。
一种外部存储器访问API,允许Java程序安全地访问Java堆以外的外部存储器。这一功能将在JDK16中重新孵化。优化的目标包括提供单个API以对各种外部存储器(包括本机、持久和托管堆内存)进行操作,API不应破坏JVM的安全性。此外,许多Java程序应访问外部存储器,如Lgnite、Memcached和MapDB。但是JavaAPI不能提供令人满意的访问外部内存.MemorySegmentMemoryAddresses的解决方案。
用于运算符的模式匹配(该功能也在JDK14/15版本中实现了预览)。在JDK16上,模式匹配允许程序中的通用逻辑,即从对象中提取组件,可以更简洁、更安全地表达.instanceof运算符。

提供用于打包独立的Java应用程序jpackage工具。最初作为JDK14中的孵化工具,jpackage在JDK15中仍然处于孵化期。预计到JDK16版本,jpackage将会进入生产环境中,支持本地包格式,读后感(https://www.yuananren.com/duhougan/)并为用户提供流畅的安装体验,以及允许在打包时指定启动时间参数。格式包括Windows上的msi和exe、MacOs上的pkg和dmg、以及Linux上的deb和rpm。该工具可以直接从命令行调用,也可以以编程方式调用。

新的打包工具解决了许多Java应用程序需要以一流的方式安装在本机平台上,而不是放置在类路径或模块路径上等问题。
OpenJDK源代码存储库从Mercurial迁移到Git。推动这项工作是借助版本控制系统元数据和可用工具及托管方面的优势。
借助JEP369,托管平台迁移到GitHub。在今年9月5日,MercurialJDK和JDK沙盒向Git、GitHub和Skara的过渡工作已实现。
继Java16之后,Java17将于2021年9月发布,这是长期支持(LTS)版本,因此身处研发前线的开发者可以再等等。对此,你期待新版Java的到来吗?
二、java成长路线图?java菜鸟到架构师图?
一度发现,有很多路线成长路线图的资料,然后配上XX大咖的教程,然后很开心的加了QQ,拿到了些资料,然后开始屁颠屁颠地看。不知道多少人有这样的经历,并且有多少希望通过这样的一套教程或者教材,能够快速得到这些大咖的水平。
有人可能真的的完成从菜鸟到高手的蜕变,但是,我相信还有很多人看完,学习完之后,还是会没有变化。
那么这样的千篇一律的教学模式下,是否真的对程序员有帮助呢?
因地制宜,每个地方需要的桥是不一样的
1、教材大部分是来源大咖的经验+脑补的结晶,大咖们遇到的问题,可能是很多程序员一辈子都可能不会遇到的问题,没有场景的洗礼,一般情况下,你只是知道,但是是无法理解的或者理解是不深刻的。讲个例子:sql优化,索引一定是会提到的,但是索引真的会提高查询性能嘛?分使用场景,分数据库类型来看,其实未必。
一步一个脚印不能帮助你提升职场影响力
2、成长路线强调是规划,但是工作是创建价值的地方,不是学习练习的地方,所以,工作的学习更多是为了创建某个价值而去学习的,是有针对性,所以工作中的学习是没有规划的,是随机的,是很杂乱无章的。经常会出现好像什么都会,但是还是无法解决工作中的问题。
一堆的技术能组装成一个完整的系统嘛?
3、无论什么样的技术知识点,其实都只是一个实现工具,如果是实现工具,那么它需要有对应的应用的场景,场景下的需求是千变万化的,需要的工具也是需要经过无数的小知识点进行组装而成的。你会分布式,算法,数据库等等,但是你能设计或开发出一个符合需求的方案嘛?
结合你遇到的问题和你需要解决的问题,然后去选择合适的技术知识点进行学习,效果是最明显的。抛开实际的问题,讲的技术,只是老师想告诉你的,并不是你想知道的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值