關於web項目run模式啟動和debug模式啟動的一些區別


之前總是覺得 run 和 debug 模式存在性能區別,其實也沒錯,那些斷點調試機制又不是買一贈一。

那到底怎么選擇?

淺談下其他區別:

在debug模式下,當我們修改方法體內的代碼時,我們是不需要重啟web server的,web服務器會自動的把這些改動替換到vm當中,學名叫hot swap。通過以下運行時的截圖,給大家展示一下效果

原始情況下:

在不重啟web服務器的情況下,修改控制台輸出內容,運行時控制台輸出內容即為修改后的內容

可以看到,在不重啟web server的情況下,我們修改的內容會馬上起作用。也即,這些內容會動態的添加到運行的vm當中。

但經過測試,發現並不是所有情況下,我們的改動都會同步更新到運行時vm當中。下面把可以動態更新到vm中的情況與不能動態更新到vm中的情況列一下:

改動內容可以動態更新到vm的情況

1、修改方法體內的內容,無論是實例方法還是靜態方法。

不能動態更新到vm的情況

1、新增、刪除實例方法、靜態方法時。

2、新增、刪除實例變量、類變量時。

3、引入了新創建的內部或外部類時。

4、方法當中有對類變量或實例變量的引用,當外部變量被修改時。

 

上面是網絡上對於熱替換功能做出的解釋。

個人總結:如果你機器卡,且后台穩定。文檔清楚,那就run吧。不然還是老老實實debug,調試起來方便。


免責聲明!

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



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