JAVA15中面世的新功能
-
JEP 339 爱德华曲线算法(EdDSA):Java 15 中增加了一个新的密码学算法,爱德华曲线算法(EdDSA)签名算法。它是由 Schnorr 算法发展而来,在 RFC8032 中被定义实现。
EdD SA 是一种新型的椭圆曲线签名方案,与现有的签名方案相比有许多优点。JDK.这个 JEP 的主要目标是在 RFC 8032 中标准化的实现这个方案。这个新的签名方案并不能取代 EC DSA 。
其他执行目标:在相同的安全强度下,开发一个独立于平台的 EdDS A 实现,其性能优于现有的 EC DSA 实现(使用本机 C 代码)。例如,使用 curve 25519 在~ 126 位的安全性的 EdDS A 应该和使用曲线 secp 256r1 在~ 128 位安全的 EC DSA 一样快。
假设平台在恒定时间内执行 64 位整数加法/乘法,则确保计时与机密无关。此外,执行将不涉及机密。这些属性对于防止侧信道攻击非常有价值。
JEP 360:Sealed Classes(密封类)预览:我们都知道,在 Java 中如果想让一个类不能被继承和修改,这时我们应该使用 final 关键字对类进行修饰。不过这种要么可以继承,要么不能继承的机制不够灵活,有些时候我们可能想让某个类可以被某些类型继承,但是又不能随意继承,是做不到的。Java 15 尝试解决这个问题,引入了 sealed 类,被 sealed 修饰的类可以指定子类。这样这个类就只能被指定的类继承。
而且 sealed 修饰的类的机制具有传递性,它的子类必须使用指定的关键字进行修饰,且只能是 final 、sealed 、non-sealed 三者之一。
JEP 371:Hidden Classes(隐藏类):这个特性让开发者可以引入一个无法被其他地方发现使用,且类的生命周期有限的类。这对运行时动态生成类的使用方式十分有利,可以减少内存占用。
JEP 374:禁用和废弃偏向锁(Biased Locking):在之前,JVM 在处理同步操作,如使用 synchronized 同步时,有一套锁的升级机制,其中有一个锁机制就是偏向锁。然而通过目前的 Java 开发环境来看,使用这些被 synchronized 同步的类的机会并不多,如开发者更喜欢使用 HashMap 或者 ArrayList 而非 HashTable 和 Vector。
即使换个角度,当初使用偏向锁是为了提高性能,如今看来性能提升的程度和使用次数都不太有用。而偏向锁的引入增加了 JVM 的复杂性。所以现在偏向锁被默认禁用,在不久的将来将会彻底删除,对于 Java 15,我们仍然可以使用-XX:+UseBiasedLocking 启用偏向锁定,但它会提示 这是一个已弃用的 API。
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏