百度百科
JRebel是一款JAVA虛擬機(jī)插件绰精,它使得JAVA程序員能在不進(jìn)行重部署的情況下参袱,即時(shí)看到代碼的改變對(duì)一個(gè)應(yīng)用程序帶來(lái)的影響诸衔。JRebel使你能即時(shí)分別看到代碼着绷、類(lèi)和資源的變化芭届,你可以一個(gè)個(gè)地上傳而不是一次性全部部署储矩。當(dāng)程序員在開(kāi)發(fā)環(huán)境中對(duì)任何一個(gè)類(lèi)或者資源作出修改的時(shí)候,這個(gè)變化會(huì)直接反應(yīng)在部署好的應(yīng)用程序上褂乍,從而跳過(guò)了構(gòu)建和部署的過(guò)程持隧,每年可以省去部署用的時(shí)間花費(fèi)高達(dá)5.25個(gè)星期
傳統(tǒng)的hotswap
當(dāng)有新的字節(jié)碼發(fā)生改變,就替換crud新的字節(jié)碼树叽。
jreble
通過(guò)instrument來(lái)修改ClassLoader和Reflection相關(guān)的類(lèi)舆蝴,加入自己的入口(比如監(jiān)測(cè)類(lèi)文件或者資源改變),因?yàn)槲覀儫o(wú)法修改已經(jīng)裝載的類(lèi)题诵,只能通過(guò)產(chǎn)生新的類(lèi)來(lái)實(shí)現(xiàn)洁仗,因此在裝載類(lèi)A的時(shí)候,實(shí)際上我們是產(chǎn)生了一個(gè)A1給應(yīng)用使用性锭。