文章詳情頁
為何java不易熱部署
瀏覽:142日期: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. [python2]local variable referenced before assignment問題2. python小白,關(guān)于函數(shù)問題3. mysql - 如何在有自增id的情況下,讓其他某些字段能不重復(fù)插入4. 求救一下,用新版的phpstudy,數(shù)據(jù)庫過段時(shí)間會(huì)消失是什么情況?5. django - Python error: [Errno 99] Cannot assign requested address6. angular.js - 百度支持_escaped_fragment_嗎?7. java - 線上應(yīng)用,如果數(shù)據(jù)庫操作失敗的話應(yīng)該如何處理?8. node.js - win 下 npm install 遇到了如下錯(cuò)誤 會(huì)導(dǎo)致 無法 run dev么?9. python小白 關(guān)于類里面的方法獲取變量失敗的問題10. Python2中code.co_kwonlyargcount的等效寫法
排行榜

熱門標(biāo)簽