文章詳情頁
為何java不易熱部署
瀏覽:138日期:2023-11-03 09:31:45
問題描述
我的疑問是我修改java代碼,然后頁面請求執(zhí)行,服務器自動編譯成字節(jié)碼并送入jvm中運行。為何要重啟jvm才能執(zhí)行修改后的代碼呢。
問題解答
回答1:java 有很多熱部署方案啊。https://www.google.com/search...
但是熱部署會影響性能,而且在生產環(huán)境中,java 代碼部署的頻率是很低的。
所以,一般都是在開發(fā)環(huán)境中開啟熱部署。
回答2:虛擬機頻繁編譯,會占用Jvm運行內存,會影響到GC,而且網(wǎng)站性能會降低
回答3:熱部署的本質是替換class,也就是說需要把舊的class從內存里踢掉再重新加載新的class,這里就涉及了類的卸載,而卸載一個類的條件之一是它的ClassLoader可以被垃圾回收給收走。反過來如果ClassLoader不能被回收掉的話,那就只能重啟java了。
標簽:
java
相關文章:
1. javascript - h5 video層級太高導致浮在div上面,如何解決?2. javascript - vue中自定義事件如何傳遞參數(shù)?3. mysql - 記得以前在哪里看過一個估算時間的網(wǎng)站4. html5 - video ios不能播放怎么辦?5. python中怎么對列表以區(qū)間進行統(tǒng)計?6. 如何合并兩張具有相同結構的mysql表7. javascript - Ajax加載Json時,移動端頁面向左上角縮小一截兒,加載完成后才正常顯示,這該如何解決?8. javascript - 如何獲取未來元素的父元素在頁面中所有相同元素中是第幾個?9. javascript - 圖片無法正常加載10. mysql ER_BAD_DB_ERROR: Unknown database ’test’
排行榜

熱門標簽