springboot熱部署(一)——Java熱部署與熱加載原理


一、概述 

  在應用運行的時升級軟件,無需重新啟動的方式有兩種,熱部署和熱加載。

  對於Java應用程序來說,

    熱部署就是在服務器運行時重新部署項目,——生產環境

    熱加載即在在運行時重新加載class,從而升級應用。——開發環境

 二、實現原理

  熱加載的實現原理主要依賴java的類加載機制,在實現方式可以概括為在容器啟動的時候起一條后台線程,定時的檢測類文件的時間戳變化,如果類的時間戳變掉了,則將類重新載入。

  對比反射機制,反射是在運行時獲取類信息,通過動態的調用來改變程序行為; 熱加載則是在運行時通過重新加載改變類信息,直接改變程序行為。

  熱部署原理類似,但它是直接重新加載整個應用,這種方式會釋放內存,比熱加載更加干凈徹底,但同時也更費時間。

  深入的原理解析,參考importNewhttp://www.importnew.com/17115.html

  Tomcat實現熱部署的三種配置方式http://blog.csdn.net/nlwangxin/article/details/49734659

三、自定義ClassLoader實現熱加載

  參考網友博文http://rejoy.iteye.com/blog/1806370 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM