首先,不管是熱加載還是熱部署,都可以在不重啟服務(wù)的情況下編譯/部署項(xiàng)目,都是基于 Java 的類(lèi)加載器實(shí)現(xiàn)的。
二者區(qū)別如下:
在部署方式上:
熱部署是在服務(wù)器運(yùn)行時(shí)重新部署項(xiàng)目。
熱加載是在運(yùn)行時(shí)重新加載 class。
(視頻教程推薦:java視頻)
在實(shí)現(xiàn)原理上:
熱部署是直接重新加載整個(gè)應(yīng)用,耗時(shí)相對(duì)較高。
熱加載是在運(yùn)行時(shí)重新加載 class,后臺(tái)會(huì)啟動(dòng)一個(gè)線(xiàn)程不斷檢測(cè)你的類(lèi)是否改變。
在使用場(chǎng)景上:
熱部署