成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

java代碼和js代碼交互 javascript為什么不像java一樣直接事先編譯成字節(jié)碼然后跑在v8上?

javascript為什么不像java一樣直接事先編譯成字節(jié)碼然后跑在v8上?JS to V8其實沒有虛擬機字節(jié)碼這一層,直接編譯成CPU指令,這也是V8 fast的核心。Java還有一層虛擬機指令。

javascript為什么不像java一樣直接事先編譯成字節(jié)碼然后跑在v8上?

JS to V8其實沒有虛擬機字節(jié)碼這一層,直接編譯成CPU指令,這也是V8 fast的核心。Java還有一層虛擬機指令。

然而,JS仍然有許多動態(tài)語言特性。由于動態(tài)語言不能預先固化變量類型,因此會產(chǎn)生大量的處理成本。

編譯完成后,首次運行的代碼將包含緩存到CPU中的指令。一旦Java被緩存,虛擬指令也將被繞過。所以在這個階段,CPU指令沒有區(qū)別。php8也是如此,它很快就會到來。

但是每種語言的優(yōu)化程度和動態(tài)部分的解析復雜度不同,導致實際速度的差異。從這個角度看,Java沉淀時間較長,強大的語言功能沒有歷史負擔,所以Java運行后會出現(xiàn)更快的速度。