java性能優(yōu)化之編譯器版本與平臺(tái)對(duì)應(yīng)關(guān)系
本章節(jié)更加具體化的學(xué)習(xí)編譯器還有哪些可以優(yōu)化的方便,讓你的應(yīng)用展現(xiàn)出更好的性能。
JIT編譯器版本
JIT編譯器有不同的版本,而最終你使用哪種,取決于你所使用的系統(tǒng)平臺(tái)。前面的文章我們說(shuō)到編譯器有-client
和-server
,具體劃分應(yīng)該是如下所示:
-client
32位client編譯器-server
32位server編譯器-d64
64位server編譯器
如果你的系統(tǒng)是32位,那么你只能使用32位JVM,如果你是64位系統(tǒng),那么可以選擇32位或64位系統(tǒng)。
不同jvm的編譯器版本如下:
jvm版本 | -client | -server | -d64 |
---|---|---|---|
linux 32位 | 32位client | 32位server | 出錯(cuò) |
linux 64位 | 64位server | 64位server | 64位server |
windows 32位 | 32位client | 32位server | 出錯(cuò) |
windows 64位 | 64位server | 64位server | 64位server |
macOS | 64位server | 64位server | 64位server |
我們使用的java8,默認(rèn)使用的都是server編譯器,同時(shí)是開啟分層編譯的。
默認(rèn)情況JVM如何選擇編譯器?
假如我們沒有指定編譯器的參數(shù),那么JVM是如何選擇使用何種編譯器的呢?
實(shí)際上jvm是考慮機(jī)器的CPU數(shù)目:
在64位系統(tǒng),無(wú)論機(jī)器多少CPU,都會(huì)使用server編譯器
在32系統(tǒng)
- 如果只有一個(gè)cpu,那么使用client編譯器
- 多個(gè)cpu,使用server編譯器。
如何判斷當(dāng)前環(huán)境jvm使用的編譯器?
我們最經(jīng)常使用的查看java版本命令,就可以在最后一行展示當(dāng)前所使用的編譯器類型:
[root@public-server9 esmp]# java -version java version "1.8.0_172" Java(TM) SE Runtime Environment (build 1.8.0_172-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode) 復(fù)制代碼
如上所示,Linux環(huán)境下使用的是64位server編譯器。
小節(jié)
不同的平臺(tái)環(huán)境對(duì)應(yīng)著不同的java版本,不同的java版本又對(duì)應(yīng)著不同的編譯器版本。我們?cè)谑褂玫臅r(shí)候,只需要選擇對(duì)應(yīng)于平臺(tái)的java版本,不需要手動(dòng)指定編譯器,仰仗于平臺(tái)所支持的編譯器即可。
到此這篇關(guān)于java性能優(yōu)化之編譯器版本與平臺(tái)對(duì)應(yīng)關(guān)系的文章就介紹到這了,更多相關(guān)Java 性能優(yōu)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java面試突擊為什么要用HTTPS及它的優(yōu)點(diǎn)
這篇文章主要介紹了Java面試突擊為什么要用HTTPS及它的優(yōu)點(diǎn),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07spring boot 日志/頁(yè)面處理、實(shí)體類構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn)
這篇文章主要介紹了spring boot 日志/頁(yè)面處理、實(shí)體類構(gòu)建、后臺(tái)管理功能的實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08關(guān)于JWT與cookie和token的區(qū)別說(shuō)明
這篇文章主要介紹了JWT與cookie和token的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10java設(shè)計(jì)模式Ctrl?C和Ctrl?V的原型模式詳解
這篇文章主要為大家介紹了java設(shè)計(jì)模式Ctrl?C和Ctrl?V的原型模式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02idea2022創(chuàng)建javaweb項(xiàng)目步驟(超詳細(xì))
本文主要介紹了idea2022創(chuàng)建javaweb項(xiàng)目步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Java替換(新增)JSON串里面的某個(gè)節(jié)點(diǎn)操作
這篇文章主要介紹了Java替換(新增)JSON串里面的某個(gè)節(jié)點(diǎn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-11-11淺談序列化之protobuf與avro對(duì)比(Java)
下面小編就為大家?guī)?lái)一篇淺談序列化之protobuf與avro對(duì)比(Java)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-08-08Java實(shí)現(xiàn)高并發(fā)秒殺的幾種方式
高并發(fā)場(chǎng)景在現(xiàn)場(chǎng)的日常工作中很常見,本文主要介紹了Java實(shí)現(xiàn)高并發(fā)秒殺的幾種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05