文章詳情頁
為何java不易熱部署
瀏覽:104日期:2023-11-03 09:31:45
問題描述
我的疑問是我修改java代碼,然后頁面請求執行,服務器自動編譯成字節碼并送入jvm中運行。為何要重啟jvm才能執行修改后的代碼呢。
問題解答
回答1:java 有很多熱部署方案啊。https://www.google.com/search...
但是熱部署會影響性能,而且在生產環境中,java 代碼部署的頻率是很低的。
所以,一般都是在開發環境中開啟熱部署。
回答2:虛擬機頻繁編譯,會占用Jvm運行內存,會影響到GC,而且網站性能會降低
回答3:熱部署的本質是替換class,也就是說需要把舊的class從內存里踢掉再重新加載新的class,這里就涉及了類的卸載,而卸載一個類的條件之一是它的ClassLoader可以被垃圾回收給收走。反過來如果ClassLoader不能被回收掉的話,那就只能重啟java了。
標簽:
java
相關文章:
1. python - Django問題 ’WSGIRequest’ object has no attribute ’user’2. javascript - js 對中文進行MD5加密和python結果不一樣。3. python - 我已經連上了美國的VPN,而且在瀏覽器里查看的game排行也是美國的,可是為啥我用代碼怎么爬都是中國地區排行4. mysql - 我用SQL語句 更新 行的時候,發現全部 中文都被清空了,請問怎么解決?5. python小白,問一個關于可變類型和不可變類型底層的問題6. python - Django前臺url未能正確訪問方法求助?7. python - 請問matplotlib.pyplot.save的路徑如何更改8. 數據庫 - mysql boolean型無法插入true9. mysql - SQL問個基礎例子,書上的,我怎么看都看不懂..誰幫我解釋一下第2個為什么和第1個一樣?10. mysql服務無法啟動1067錯誤,誰知道正確的解決方法?
排行榜
