自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JDK 16:Java 16需要了解的新功能

開發(fā) 后端
可以在jdk.java.net上找到適用于Linux,Windows和MacOS的JDK 16的早期版本。與JDK 15一樣,JDK 16將是一個短期版本,支持六個月。將于2021年9月發(fā)布的JDK 17將是一個長期支持(LTS)版本,將獲得數(shù)年的支持。當(dāng)前的LTS版本JDK 11已于2018年9月發(fā)布。

JDK 16:Java 16需要了解的新功能

可以在jdk.java.net上找到適用于Linux,Windows和MacOS的JDK 16的早期版本。與JDK 15一樣,JDK 16將是一個短期版本,支持六個月。將于2021年9月發(fā)布的JDK 17將是一個長期支持(LTS)版本,將獲得數(shù)年的支持。當(dāng)前的LTS版本JDK 11已于2018年9月發(fā)布。

JDK 16將作為標(biāo)準(zhǔn)Java版本的參考實(shí)現(xiàn),將在明年3月到來。

截至10月8日,八項(xiàng)提案正式針對JDK16。Java16的新功能包括:

  • 將ZGC(Z垃圾收集器)線程堆棧處理從安全點(diǎn)safepoints遷移到并發(fā)階段。該計劃的目標(biāo)包括從ZGC安全點(diǎn)中刪除線程堆棧處理。使堆棧處理變得惰性,協(xié)作,并發(fā)和增量;從ZGC安全點(diǎn)刪除所有其他每線程根處理;并為其他HotSpot VM子系統(tǒng)提供了一種機(jī)制來延遲處理堆棧。這樣,ZGC使HotSpot中的GC暫停和可伸縮性問題成為過去。到目前為止,隨著堆大小和元空間大小而擴(kuò)展的GC操作已經(jīng)從安全點(diǎn)操作中移出并進(jìn)入并發(fā)階段。這些包括標(biāo)記,重定位,參考處理,類卸載和大多數(shù)根處理。GC安全點(diǎn)中唯一仍進(jìn)行的活動是根處理和有時間限制的標(biāo)記終止操作的子集。這些根目錄包括Java線程堆棧和其他線程根目錄,這些根目錄存在問題,因?yàn)樗鼈冸S線程數(shù)的增長而擴(kuò)展。為了超越當(dāng)前狀況,必須將包括堆棧掃描在內(nèi)的每線程處理移至并發(fā)階段。使用此計劃,改進(jìn)的延遲的吞吐成本應(yīng)該是微不足道的,并且在典型計算機(jī)上的ZGC安全點(diǎn)內(nèi)花費(fèi)的時間應(yīng)少于一毫秒。
  • 彈性元空間能力,它可以將未使用的HotSpot VM類元數(shù)據(jù)(元空間)內(nèi)存更迅速地返回給操作系統(tǒng),從而減少了元空間的占用空間并簡化了元空間代碼,從而降低了維護(hù)成本。元空間存在大量的堆外內(nèi)存使用問題。該計劃要求用基于伙伴的分配方案替換現(xiàn)有的內(nèi)存分配器,提供一種將內(nèi)存劃分為多個分區(qū)以滿足內(nèi)存請求的算法。這種方法已在Linux內(nèi)核等地方使用,它將使在較小的塊中分配內(nèi)存以減少類加載器的開銷變得切實(shí)可行。碎片也將減少。此外,從操作系統(tǒng)到內(nèi)存管理領(lǐng)域的內(nèi)存承諾將根據(jù)需要延遲執(zhí)行,減少了從大型舞臺開始但不立即使用它們或可能未完全使用它們的裝載機(jī)的占地面積。為了充分利用伙伴分配所提供的彈性,將元空間內(nèi)存排列成大小統(tǒng)一的顆粒,這些顆粒可以彼此獨(dú)立地進(jìn)行提交和不提交。
  • 啟用C ++ 14語言功能,以允許在JDK C ++源代碼中使用C ++ 14功能,并提供有關(guān)在HotSpot VM代碼中可以使用其中哪些功能的特定指南。通過JDK 15,JDK中C ++代碼使用的語言功能已限于C ++ 98/03語言標(biāo)準(zhǔn)。使用JDK 11,源代碼已更新,以支持使用更新版本的C ++標(biāo)準(zhǔn)進(jìn)行構(gòu)建。這包括能夠使用支持C ++ 11/14語言功能的最新版本的編譯器進(jìn)行構(gòu)建。本提案不建議在HotSpot之外使用的C ++代碼的樣式或用法更改。但是要利用C ++語言功能,需要進(jìn)行一些構(gòu)建時更改,具體取決于平臺編譯器。
  • 孵化器階段的矢量API,其中JDK將裝有一個孵化器模塊,jdk.incubator.vector,以表達(dá)可在支持的CPU架構(gòu)上編譯為最佳矢量硬件指令的矢量計算,以實(shí)現(xiàn)優(yōu)于等效標(biāo)量計算的性能。向量API提供了一種使用Java編寫復(fù)雜向量算法的機(jī)制,該機(jī)制使用HotSpot VM中預(yù)先存在的支持進(jìn)行向量化,但其用戶模型使向量化更可預(yù)測且更可靠。該提案的目標(biāo)包括提供一個清晰簡潔的API來表達(dá)一系列矢量計算,通過支持多種CPU架構(gòu)而與平臺無關(guān),在x64和AArch64架構(gòu)上提供可靠的運(yùn)行時編譯和性能。優(yōu)雅降級也是一個目標(biāo),
  • 將JDK移植到Windows / AArch64平臺。隨著新的服務(wù)器類和消費(fèi)類AArch64(ARM64)硬件的發(fā)布,由于需求,Windows / AArch64已成為重要的平臺。盡管移植本身已經(jīng)基本完成,但該建議的重點(diǎn)是將端口集成到主線JDK存儲庫中。
  • 在x64和AArch64體系結(jié)構(gòu)上,將JDK移植到Alpine Linux和其他使用musl作為其主要C庫的Linux發(fā)行版。Musl是ISO C和Posix標(biāo)準(zhǔn)中描述的標(biāo)準(zhǔn)庫功能的Linux實(shí)現(xiàn)。由于Alpine Linux的映像較小,因此已在云部署,微服務(wù)和容器環(huán)境中廣泛采用。Linux的Docker映像小于6MB。在這樣的設(shè)置中讓Java開箱即用地運(yùn)行,將允許Tomcat,Jetty,Spring和其他流行的框架在這​​些環(huán)境中本機(jī)運(yùn)行。通過使用jlink減小Java運(yùn)行時的大小,用戶可以創(chuàng)建專門為運(yùn)行特定應(yīng)用程序而定制的甚至更小的映像。
  • OpenJDK源代碼庫從Mercurial遷移到Git。推動這一努力的是版本控制系統(tǒng)元數(shù)據(jù)大小以及可用工具和托管方面的優(yōu)勢。
  • 遷移到GitHub,與從Mercurial到Git的遷移有關(guān),JDK 16源代碼存儲庫位于流行的代碼共享站點(diǎn)上。Mercurial JDK和JDK-sandbox的向Git,GitHub和Skara的過渡已于9月5日完成,現(xiàn)已開放供稿。 

 

責(zé)任編輯:龐桂玉 來源: JDON
相關(guān)推薦

2024-01-08 16:17:02

數(shù)據(jù)治理工具大數(shù)據(jù)

2024-11-01 08:34:08

2011-09-29 10:25:18

Fedora 16

2022-07-28 14:50:04

iOS蘋果功能

2020-05-11 15:01:16

JavaJKD 15工具

2022-05-19 23:49:20

iOS蘋果功能

2024-06-14 16:07:41

2012-06-27 09:11:47

2012-06-26 10:13:55

2011-04-01 11:16:06

hessian

2022-09-23 15:33:48

iOS16耗電功能

2022-06-10 21:34:45

iOSiOS 16

2011-12-08 09:16:12

2024-04-01 14:14:05

2018-09-29 15:20:08

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)設(shè)備

2022-06-07 14:26:35

iOS蘋果功能

2009-02-25 08:36:59

新功能CRM R16托管型

2023-10-28 00:04:15

2015-09-17 09:36:46

Chrome改變

2021-02-02 08:00:00

邊緣計算云計算公有云
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號