文章詳情頁
為何java不易熱部署
瀏覽:157日期:2023-11-03 09:31:45
問題描述
我的疑問是我修改java代碼,然后頁面請(qǐng)求執(zhí)行,服務(wù)器自動(dòng)編譯成字節(jié)碼并送入jvm中運(yùn)行。為何要重啟jvm才能執(zhí)行修改后的代碼呢。
問題解答
回答1:java 有很多熱部署方案啊。https://www.google.com/search...
但是熱部署會(huì)影響性能,而且在生產(chǎn)環(huán)境中,java 代碼部署的頻率是很低的。
所以,一般都是在開發(fā)環(huán)境中開啟熱部署。
回答2:虛擬機(jī)頻繁編譯,會(huì)占用Jvm運(yùn)行內(nèi)存,會(huì)影響到GC,而且網(wǎng)站性能會(huì)降低
回答3:熱部署的本質(zhì)是替換class,也就是說需要把舊的class從內(nèi)存里踢掉再重新加載新的class,這里就涉及了類的卸載,而卸載一個(gè)類的條件之一是它的ClassLoader可以被垃圾回收給收走。反過來如果ClassLoader不能被回收掉的話,那就只能重啟java了。
標(biāo)簽:
java
相關(guān)文章:
1. python - pymysql建立連接出錯(cuò)2. 默認(rèn)輸出類型為json,如何輸出html3. mysql 遠(yuǎn)程連接出錯(cuò)10060,我已經(jīng)設(shè)置了任意主機(jī)了。。。4. python的正則怎么同時(shí)匹配兩個(gè)不同結(jié)果?5. 數(shù)組排序,并把排序后的值存入到新數(shù)組中6. php多任務(wù)倒計(jì)時(shí)求助7. MySQL的聯(lián)合查詢[union]有什么實(shí)際的用處8. PHP訂單派單系統(tǒng)9. html5 - css3scale和rotate同時(shí)使用轉(zhuǎn)換成matrix寫法該如何轉(zhuǎn)換?10. win10 python3.5 matplotlib使用報(bào)錯(cuò)
排行榜

熱門標(biāo)簽