文章詳情頁
為何java不易熱部署
瀏覽:153日期: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. 哭遼 求大佬解答 控制器的join方法怎么轉模型方法2. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?3. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?4. mysql - 表名稱前綴到底有啥用?5. 編輯成功不顯示彈窗6. mysql - 怎么生成這個sql表?7. sql語句 - 如何在mysql中批量添加用戶?8. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。9. mysql - 數據庫表中,兩個表互為外鍵參考如何解決10. mysql儲存json錯誤
排行榜
