您的位置:首頁/技術文章
文章詳情頁

為何java不易熱部署

【字号: 作者:豬豬瀏覽:139日期: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
相關文章:
国产综合久久一区二区三区