java開發(fā)軟件 Java的運(yùn)行速度是怎樣的?
Java的運(yùn)行速度是怎樣的?Java是一種解釋性語言,它不像C那樣直接翻譯成可執(zhí)行的機(jī)器代碼。相反,它通過虛擬機(jī)運(yùn)行字節(jié)碼。也就是說,語言在運(yùn)行時(shí)是間接的。為什么有虛擬機(jī)?因?yàn)镴ava最重要的優(yōu)點(diǎn)和特
Java的運(yùn)行速度是怎樣的?
Java是一種解釋性語言,它不像C那樣直接翻譯成可執(zhí)行的機(jī)器代碼。相反,它通過虛擬機(jī)運(yùn)行字節(jié)碼。也就是說,語言在運(yùn)行時(shí)是間接的。為什么有虛擬機(jī)?因?yàn)镴ava最重要的優(yōu)點(diǎn)和特性之一就是可移植性。它具有相同的字節(jié)碼和不同的虛擬機(jī),可以運(yùn)行在不同的操作系統(tǒng)和硬件環(huán)境中,如MCU、PC和服務(wù)器。所以犧牲一點(diǎn)表演是值得的。而且,隨著當(dāng)前硬件水平的提高,Java的性能瓶頸已經(jīng)縮小,所以不能說Java的運(yùn)行速度很慢,但是它適用于不同的情況。在大型網(wǎng)站和平臺(tái)的背后,Java可以發(fā)揮自己的作用并保持令人滿意的性能。
為什么java運(yùn)行效率低,而目前的大數(shù)據(jù)平臺(tái)卻都用java而不用C 開發(fā)?
Java的啟動(dòng)速度確實(shí)很慢,但是在系統(tǒng)穩(wěn)定運(yùn)行后,JIT編譯器可以大大提高Java的運(yùn)行速度。在使用了專業(yè)定制的商業(yè)JDK之后,Java的運(yùn)行速度不再是問題,比如alijdk。而且,對(duì)于互聯(lián)網(wǎng)企業(yè)來說,可以通過虛擬化技術(shù)大規(guī)模增加機(jī)器,也可以使用云計(jì)算,機(jī)器的性能還不夠?,F(xiàn)在有了一種混合技術(shù),甚至機(jī)器資源都可以共享。一般來說,Java的效率并不是瓶頸。
另一方面,Java的生態(tài)已經(jīng)非常成熟。通用的框架、大量的程序員、各大公司的商業(yè)應(yīng)用都是Java的芯片。Java最成功的技術(shù)是虛擬機(jī)技術(shù),現(xiàn)在kotlin和其他基于JVM的語言誕生了。可以說,Java的地位在短時(shí)間內(nèi)是不可撼動(dòng)的。
Java誕生于C之后,它解決了C的許多問題,如指針引起的安全問題。已經(jīng)做了很多優(yōu)化,比如去掉完全面向?qū)ο蟮慕Y(jié)構(gòu)化編程,添加垃圾回收機(jī)制以避免內(nèi)存泄漏。如果你不需要操作底層,比如修改內(nèi)存數(shù)據(jù)和操作硬件,但是做純粹的上層應(yīng)用程序,C就不如Java好。分享學(xué)習(xí)筆記和技術(shù)總結(jié),涵蓋Java技術(shù)、軟件架構(gòu)、前沿技術(shù)、開源框架、數(shù)據(jù)結(jié)構(gòu)與算法、編程感悟等領(lǐng)域,歡迎使用微信公眾號(hào)“程序心”。
網(wǎng)上說Java的性能已經(jīng)達(dá)到甚至超過C ,是真的嗎?
Java比C快,比匯編快!比機(jī)器代碼快。