欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

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

錢良釵2年前24瀏覽0評論

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

js到v8 其實已經沒有虛擬機字節碼這層了,直接編譯成cpu指令了,這也是v8快的核心。java反而多出一層虛擬機指令。

但js本質還是有很多動態語言特性,動態語言因為無法提前固化變量類型,就會多出不少處理成本。

一旦編譯完成,第一次運行的代碼會有緩存成cpu的指令,一旦緩存java的也會繞過虛擬指令,所以到這個階段,單純就cpu指令而言,沒有啥區別。包括馬上推出的php8也是如此。

但復雜在每個語言優化程度,和對動態部分解析有差異,而造成實際的速度還是有區別。從這點來說,java沉淀的時間更久,強語言特性也沒有歷史負擔,所以java在運行后會顯得更快一些。