鍍金池/ 問(wèn)答/Java/ 現(xiàn)在web開(kāi)發(fā)用不到j(luò)sp,那為什么jvm還要用動(dòng)態(tài)編譯(jit),而不是提前編

現(xiàn)在web開(kāi)發(fā)用不到j(luò)sp,那為什么jvm還要用動(dòng)態(tài)編譯(jit),而不是提前編譯好(aot)?

如題,我理解運(yùn)行時(shí)編譯的好處可以是可以省啟動(dòng)時(shí)間、可以做熱部署熱替換(比如jsp熱替換)
但實(shí)際上現(xiàn)在網(wǎng)站開(kāi)發(fā)用不到j(luò)sp,上線時(shí)hotswap的流程也是在別的機(jī)器上把整個(gè)項(xiàng)目部署好,再在負(fù)載均衡層切流量過(guò)去,用不到j(luò)vm提供的hotswap特性
既然如此,jvm是不是提前把class編譯成機(jī)器碼更好,為什么還要搞jit呢?

回答
編輯回答
落殤

  為了平衡編譯時(shí)間和運(yùn)行效率。事實(shí)上經(jīng)過(guò)一段時(shí)間后,JVM會(huì)把熱點(diǎn)代碼編譯成機(jī)器碼。詳情可以看看極客時(shí)間《深入拆解Java虛擬機(jī)》第1講“Java代碼是怎么運(yùn)行的”。作者是Oracle GraalVM虛擬機(jī)開(kāi)發(fā)者,Oracle高級(jí)研究員,計(jì)算機(jī)博士。

2018年6月15日 12:27
編輯回答
不討囍

因?yàn)閖vm是java virtual machine不是jsp virtual machine

2018年4月21日 13:42
編輯回答
澐染

網(wǎng)上很多了,幫你找了篇文章,你可以看看,

https://blog.csdn.net/sunxian...

2017年11月29日 21:57