還有個熱更新是游戲專用詞.
參考:https://www.imooc.com/qadetail/243962
熱部署與熱加載
ava熱部署與Java熱加載的聯系和區別
Java熱部署與熱加載的聯系
1.不重啟服務器編譯/部署項目
2.基於Java的類加載器實現
Java熱部署與熱加載的區別
部署方式
熱部署在服務器運行時重新部署項目
熱加載在運行時重新加載class
實現原理
熱部署直接重新加載整個應用
熱加載在運行時重新加載class
使用場景
熱部署更多的是在生產環境使用
熱加載則更多的實在開發環境使用
熱加載幾乎沒有
安全性,直接修改Java虛擬機中的字節碼文件,難以監控和控制
熱加載有個通俗的名字就是開發者模式
1.說一下自己的理解:
運行tomcat項目需要3步
1.打包並指定給tomcat
2.啟動tomcat
3.解壓war包並運行(第三步和第二步一起的)
2.熱部署
就是已經運行了項目,更改之后,不需要重新tomcat,但是會清空內存,重新打包,重新解壓war包運行
可能好處是一個tomcat多個項目,不必因為tomcat停止而停止其他的項目
3.熱加載
是基於字節碼進行更改的,不釋放內存,開發可用,上線不可用,比如修改類了,原先的類內存不會釋放,新的類還會增加內存.
更改字節碼的意思是應該更改exploded war包中的.class文件.
熱加載不重啟tomcat,不重新打包
4.更新靜態資源
更新靜態資源是更改exploded war的靜態資源,和熱加載歸到一起.