溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

javaweb開(kāi)發(fā)提高效率利器JRebel的示例分析

發(fā)布時(shí)間:2021-04-19 10:54:39 來(lái)源:億速云 閱讀:199 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)javaweb開(kāi)發(fā)提高效率利器JRebel的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

一、JRebel簡(jiǎn)介

jrebel是國(guó)外公司perforce于2007年開(kāi)發(fā)的一款java開(kāi)發(fā)效率工具,旨在幫助java開(kāi)發(fā)人員更快地編寫(xiě)更好的應(yīng)用程序。jrebel提供了常用的開(kāi)發(fā)IDE如IntelliJ Idea、eclipse、myEclipse、NetBeans等的jrebel插件,可以很方便的在IDE中使用JRebel進(jìn)行代碼的熱加載,提高開(kāi)發(fā)效率。

jrebel可以幫助我們解決哪些問(wèn)題?

1、每次修改完java代碼后,都要重啟項(xiàng)目來(lái)讓java代碼生效,等待很長(zhǎng)時(shí)間

2、每次重啟項(xiàng)目電腦CPU都打滿,電腦吃不消

二、JRebel安裝和激活

這里介紹idea中jRebel插件的安裝和激活。

安裝

打開(kāi)idea插件瀏覽器:File-》settings-》plugins-》Browse repositories,搜索jrebel,安裝這個(gè)【Jrebel and XRebel for IntelliJ】插件,重啟。重啟完后idea右側(cè)會(huì)有個(gè)Jrebel使用向?qū)?,?ài)看不看。

安裝完后的設(shè)置

1、打開(kāi)idea的自動(dòng)編譯功能:settings-》build-》compiler-》Build project automatically

javaweb開(kāi)發(fā)提高效率利器JRebel的示例分析

2、打開(kāi)idea的【當(dāng)應(yīng)用運(yùn)行期間可以自動(dòng)編譯的功能】

方式一:ctrl+shift+alt+/  選擇Registry

方式二:ctrl+shift+A 搜索registry,或help-》find action,搜索Registry

javaweb開(kāi)發(fā)提高效率利器JRebel的示例分析

激活

激活方式:填寫(xiě)jrebel的激活url和個(gè)人郵箱即可。步驟:settings-》JRebel-》點(diǎn)擊 Change license,填寫(xiě)完后點(diǎn)擊下面的 Change license 按鈕。

方式一:激活url獲?。褐苯犹顚?xiě)url即可:https://jrebel.qekang.com/ + UUID,如 https://jrebel.qekang.com/27166483-4ca3-47d9-bc40-dd032ee52aba,UUID可自己生成,也可在線生成連接 https://www.guidgen.com/,一個(gè)JRebel license 網(wǎng)站 https://jrebel.qekang.com/

方式二:參考http://www.kemok4.com/article/189496.htm

javaweb開(kāi)發(fā)提高效率利器JRebel的示例分析

最后別忘了點(diǎn)擊 work offline,以離線模式運(yùn)行。

若是JRebel過(guò)期了,就按照上面的步驟,再次激活就好了。

三、JRebel使用

1、項(xiàng)目初次使用,需要先生成rebel.xml文件

JRebel安裝完成后,idea左側(cè)出現(xiàn)JRebel的工具窗口,如下圖所示:

javaweb開(kāi)發(fā)提高效率利器JRebel的示例分析

對(duì)要進(jìn)行熱加載的項(xiàng)目,后面打上勾,就會(huì)發(fā)現(xiàn)項(xiàng)目中多了個(gè) rebel.xml 文件,這是JRebel的配置文件,里面會(huì)自動(dòng)配置JRebel要監(jiān)控的文件目錄。

如果是jar文件,如springBoot項(xiàng)目, rebel.xml 則出現(xiàn)在項(xiàng)目根文件夾中。如果是war文件,如SSM項(xiàng)目,rebel.xml將出現(xiàn)在WEB-INF / classes文件夾中。2、以JRebel方式啟動(dòng)

javaweb開(kāi)發(fā)提高效率利器JRebel的示例分析

3、修改java代碼測(cè)試熱加載

以JRebel方式啟動(dòng)后,修改java代碼,等上兩三秒,注意看控制臺(tái),當(dāng)出現(xiàn) JRebel: Reloading class xxx 字樣的時(shí)候,說(shuō)明JRebel熱加載完成,就可以查看修改后的效果了。

如果嫌JRebel的自動(dòng)熱加載慢,可以ctrl+F9(Build Project)一下,就能立馬熱加載成功。趕緊動(dòng)手試試吧!

四、 JRebel的熱加載原理

              jrebel是一個(gè)基于JVM類加載機(jī)制的插件,能自動(dòng)重新加載修改后的java字節(jié)碼文件。因?yàn)槲覀冊(cè)贗DEA中開(kāi)啟了自動(dòng)編譯功能,所以當(dāng)java文件發(fā)生改動(dòng)時(shí),會(huì)被自動(dòng)編譯成字節(jié)碼文件,此時(shí)jrebel監(jiān)聽(tīng)到字節(jié)碼文件發(fā)生了改變,就自動(dòng)的把改動(dòng)的字節(jié)碼文件加載進(jìn)JVM中,所以我們幾乎可以實(shí)時(shí)的看到修改后的效果。因?yàn)橹皇侵匦录虞d改動(dòng)的文件,不用重啟整個(gè)項(xiàng)目,所以效率上要遠(yuǎn)高于devtools,對(duì)于配置文件或xml文件中的修改還是要重啟才行。

熱加載和熱部署的區(qū)別:

熱加載:在項(xiàng)目運(yùn)行狀態(tài)下,重新加載修改后的資源(用于日常開(kāi)發(fā)),內(nèi)存不會(huì)被清空,session也有效,但內(nèi)存消耗較大。

熱部署:在項(xiàng)目運(yùn)行狀態(tài)下,自動(dòng)重啟部署整個(gè)項(xiàng)目(用于項(xiàng)目部署),但會(huì)將內(nèi)存清空,session也將失效。

五、其他熱加載的方式

1、springBoot環(huán)境下,可用devTools,但不如JRebel好。

2、以debug模式啟動(dòng)項(xiàng)目,每次修改完重新ctrl+F9編譯一下,有時(shí)候也有效。

感謝各位的閱讀!關(guān)于“javaweb開(kāi)發(fā)提高效率利器JRebel的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI