oracle卸载工具_Oracle发布Java 15,希望数百万人离开Rust、Kotlin等语言

989a2cd947931ff16ac4096cceea84ce.png

Java 15或Oracle Java Development Kit(JDK)15带来了Edwards-Curve数字签名算法,隐藏类和以前的预览版本功能:包括文本块和Z Garbage Collector,而密封类功能到达并进行模式匹配,并且记录作为第二个预览版本出现。 

JDK 15是Java SE平台版本15的开源参考实现,由Java社区流程中的JSR 390指定。JDK 15于2020年9月15日正式发布,Oracle可以提供GPL下的生产就绪二进制文件,有Linux / AArch64、Linux / x64、macOS / x64、Windows / x64平台软件包下载。

29f5aedb63615ded4f6f73b75503ae06.png

JDK 15/Java 15的亮点包括加密签名、文本块、隐藏类、外部存储器访问API、ZGC、模式匹配和Records等。

JDK 15/Java 15新特性介绍

9698d20f81fc2cce4fa38eae87a81dc8.png

339:Edwards-Curve Digital Signature Algorithm (EdDSA)

使用Edwards-Curve数字签名算法(EdDSA)实现加密签名。与其它签名方案相比,EdDSA具有更高的安全性和性能,并且已在许多其它加密库(如OpenSSL和BoringSSL)中得到支持。

360:Sealed Classes (Preview)

用于限制超类的使用,密封的类和接口限制其它可能继承或实现它们的其它类或接口。

371:Hidden Classes

隐藏类适用于在运行时生成类并通过反射间接使用它们的框架。隐藏类可以定义为访问控制嵌套的成员,并且可以独立于其他类进行卸载。

372:Remove the Nashorn JavaScript Engine

删除Nashorn JavaScript脚本引擎和API,以及jjs工具。不建议在Java 11中删除引擎,API和工具,并明确表示打算在将来的版本中删除它们。

373:Reimplement the Legacy DatagramSocket API

重新实现旧版DatagramSocket API,用易于维护和调试的更简单、更现代的实现来代替java.net.DatagramSocket和java.net.MulticastSocketAPI的基础实现。

374:Disable and Deprecate Biased Locking

默认情况下禁用偏向锁,并弃用所有相关的命令行选项。

375:Pattern Matching for instanceof (Second Preview)

通过对instanceof运算符进行模式匹配来增强Java编程语言。模式匹配允许程序中的通用逻辑,即从对象中有条件地提取组件,可以更简洁、更安全地表示。

377:ZGC: A Scalable Low-Latency Garbage Collector

将Z垃圾收集器从实验功能更改为产品功能。

378:Text Blocks

将文本块添加到Java语言。文本块是多行字符串文字,它避免了大多数转义序列的需要,以一种可预测的方式自动设置字符串的格式,并在需要时使开发人员可以控制格式。

379:Shenandoah: A Low-Pause-Time Garbage Collector (Production)

Shenandoah垃圾回收从实验特性变为产品特性。这是一个从JDK 12引入的回收算法,该算法通过与正在运行的Java线程同时进行疏散工作来减少GC暂停时间。Shenandoah的暂停时间与堆大小无关,无论堆栈是200 MB还是200 GB,都具有相同的一致暂停时间。

381:Remove the Solaris and SPARC Ports

删除源代码并构建对Solaris/SPARC,Solaris/x64和Linux/SPARC端口的支持。不建议在JDK 14中删除这些端口,并明确表示打算在将来的版本中删除它们。

383:Foreign-Memory Access API (Second Incubator)

引入一个API,以允许Java程序安全有效地访问Java堆之外的外部内存。

384:Records (Second Preview)

Records提供了一种紧凑的语法来声明类,以帮助开发者写出更简洁的代码,这些类是浅层不可变数据(shallowly immutable data)的透明拥有者。该特性主要用在特定领域的类,这些类主要用于保存数据,不提供领域行为。

385:Deprecate RMI Activation for Removal

弃用RMI激活机制以便将来删除。RMI激活是RMI的过时部分,自Java 8开始,RMI一直是可选的。另外不会弃用RMI的其他部分。

de36e5eadfc414652b1f4b8798050a85.png

JEP 378和我们的日常编程关系很大,之前在Java里写个多行文本很麻烦,有了“文本块”这个新特性,写多行文本就方便多了。在经过了Java 13和14中的两个预览版之后,这个特性算是正式到来了。

语法是字符串前后分别加3个双引号。

String html = """                                                      

Hello, world

""";

在这样的字符串里可以自用使用双引号。

ZGC是Java 11引入的新的垃圾收集器,也经过了多个实验阶段,终于成为正式特性。可以用-XX:+UseZGC命令行参数打开。其设计目标是:

06f17a41e83e8249e504dc58af8cc73f.png

目前可以支持从8MB~16TB的堆大小。非常值得关注。

Shenandoah收集器也从实验特性转正了。可以通过-XX:+UseShenandoahGC命令行参数启用。这是Red Hat引入的一个收集器。不过这里要注意,它存在于OpenJDK中,Oracle JDK并没有包含该特性。所以在使用的时候要注意自己的JDK版本。

下载链接

OpenJDK网站:https://openjdk.java.net/

cdfabe4bfe44e349f204c2e6a6d3b811.png

感兴趣的可以下载尝鲜了。

关于Java目前的情况

根据开发者分析师RedMonk的说法,Java已被Python语言取代,Java对基于GitHub项目的语言进行了评级,并在Stack Overflow上对开发人员进行了交谈。 

自2012年7月以来,Java自2012年以来首次跌出RedMonk的前两名交椅,但 就受欢迎程度而言,它现在已经落后于JavaScript和Python。 

Tiobe在9月份将Java排在第二位,落后于C,但领先于Python。尽管落后于具有35年历史的C/C++的增长速度仍领先于其他任何语言,但Tiobe首席执行官Paul Jansen表示Java“确实遇到了麻烦”,因为与一年前相比,Java的下降了3.81个百分点。   

但是Oracle表示,Java仍然非常流行,并在企业中广泛使用。它指出,全世界有超过69%的专职开发人员使用Java。

Oracle Java平台事业部开发副总裁Georges Saab表示,Java 15代表了Oracle的“技术投入,可以推动Java创新向前发展并帮助应对迅速变化的技术格局。” 

据甲骨文称,全球仍然有510亿台活动的Java虚拟机(JVM)被部署,其中Java被用于诸如分析,数据管理,大数据,DevOps,移动,持续开发工具和聊天机器人等服务。尽管该语言具有通用性,但与Python语言不同,它不是构建机器学习应用程序的数据科学家和程序员的首选语言。

编辑:万能的大雄

f5e67c6262c6731724f53329d3b72ae8.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值