日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA16版本.JDK16关于TCP和UDP的优化

發(fā)布時間:2024/1/23 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA16版本.JDK16关于TCP和UDP的优化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

性能加倍:虛擬線程(光纖)和JDK15/16!
如果您使用UDP作為傳輸,并希望將性能提高一倍:請繼續(xù)閱讀!
如果使用TCP,性能不會有太大變化。您可能仍然對最近的jdk和虛擬線程(以前稱為“fibers”)將帶來什么感興趣。
虛擬線程
虛擬線程是輕量級線程,在概念上類似于舊的綠色線程,由JVM而不是內(nèi)核來管理。許多虛擬線程可以映射到同一個操作系統(tǒng)本機(運營商)線程(當然,一次只能映射一個),因此我們可以擁有數(shù)百萬個虛擬線程。
虛擬線程是用continuations實現(xiàn)的,但這只是一個細節(jié)。重要的是JDK中的所有阻塞調(diào)用(停車場鎖支架()等)已修改為屈服而不是阻塞。這意味著我們不會浪費寶貴的本機載波線程,而只是進入非運行狀態(tài)。當塊結(jié)束時,線程被簡單地再次標記為可運行,調(diào)度程序在它停止的地方繼續(xù)繼續(xù)執(zhí)行。
主要優(yōu)點:
阻塞呼叫不需要更改,例如變?yōu)楸粍雍艚?br /> 不需要線程池:只需創(chuàng)建一個虛擬線程
更少的上下文切換(減少/消除阻塞調(diào)用)
我們可以有很多虛擬線程
虛擬線程在JDK中出現(xiàn)還需要一段時間,但JGroups已經(jīng)添加了對它的支持:只需在傳輸中設(shè)置use_fibers=“true”。如果JVM支持虛擬線程,那么將使用它們,否則我們將返回到常規(guī)的本機線程。
UDP:網(wǎng)絡(luò)改進
雖然虛擬線程為jgroup帶來了優(yōu)勢,但通過嘗試更新的JDK,可以獲得其他性能提升。
從jdk15開始,DatagramSockets和MulticastSockets的實現(xiàn)已經(jīng)改為委托給DatagramChannels和multicast channels。此外,還支持虛擬線程。
這提高了UDP使用DatagramChannels和multicast channels的性能。
網(wǎng)絡(luò)代碼改進和虛擬線程的結(jié)合為UDP帶來了驚人的結(jié)果,如下所示。
性能
用于以太網(wǎng)測試(1-16個)和1-5個虛擬機的JDEAK(16個)和1個。前兩個使用本機線程,后一個使用虛擬線程。
從[1]中可以看出,UDP的性能從jdk11上的44’691提高到j(luò)dk16-ea5上的81’402;這是驚人的82%的增長!啟用虛擬線程可以將16-ea5和16織機+2-14之間的性能提高到88’252,這又是8%!
jdk11和16織機的性能差異是97%!
TCP的性能差別很小;我想是因為TCP代碼已經(jīng)在jdk11中進行了優(yōu)化。
在jdk16loom+2-14上運行表明UDP的性能已經(jīng)與TCP不相上下,事實上UDP甚至比TCP快3%!
如果您想自己嘗試一下:轉(zhuǎn)到JGroups Github repo并創(chuàng)建JAR(antjar)。或者稍等一下:我很快就會發(fā)布5.0.0.Final,其中包含了這些更改。
不確定是否要將更改后傳到4.x分支。。。
享受吧!
[1]https://drive.google.com/file/d/1Ars1LOM7cEf6AWpPwZHeIfu kKLa9gv0/view?usp=分享
[2]http://openjdk.java.net/jeps/373

總結(jié)

以上是生活随笔為你收集整理的JAVA16版本.JDK16关于TCP和UDP的优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。