国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

推薦一款好用的Idea熱部署插件

這篇具有很好參考價(jià)值的文章主要介紹了推薦一款好用的Idea熱部署插件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

目錄

1.什么是熱部署

1.1.熱啟動(dòng)與熱部署的區(qū)別

2.為什么需要熱部署

3.熱部署產(chǎn)品

3.1.JRebel

3.2.IDEA HotSwap

3.3.HotSwapAgent

3.4.Spring Boot DevTools

3.5.FastHotSwapper

4.FastHotSwapper安裝使用



1.什么是熱部署

熱部署(Hot Deployment)是指在應(yīng)用程序運(yùn)行過程中,對(duì)部分代碼或資源進(jìn)行修改后,無需停止整個(gè)應(yīng)用程序就可以立即生效的一種技術(shù)。熱部署通常用于開發(fā)和測(cè)試環(huán)境,可以節(jié)省時(shí)間和提高效率,讓開發(fā)人員可以更快地驗(yàn)證代碼修改的效果。在生產(chǎn)環(huán)境中,熱部署也可以用于修復(fù)一些輕微的問題或更新應(yīng)用程序的部分功能,避免整個(gè)應(yīng)用程序停機(jī)時(shí)間過長(zhǎng)導(dǎo)致的影響。

1.1.熱啟動(dòng)與熱部署的區(qū)別

熱啟動(dòng)是指在已經(jīng)運(yùn)行的項(xiàng)目上,再次啟動(dòng)(比如說,做了修改代碼),少加載了一些東西,從而啟動(dòng)的比快,節(jié)省開發(fā)時(shí)間。
熱部署會(huì)啟動(dòng)自動(dòng)加載修改代碼的部分。
而idea 本身不支持熱部署,需要在idea中安裝插件

2.為什么需要熱部署

我們研發(fā)同學(xué)在日常開發(fā)調(diào)試階段經(jīng)常會(huì)遇到下面一些情況:

  1. spring bean中的屬性遺漏@Resource或者@Autowired注解
  2. mybatis sql配置文件中的sql編寫錯(cuò)誤
  3. 實(shí)體類中增加(修改或者刪除)屬性導(dǎo)致Fastjson、Jackson無法正常序列化和反序列化
  4. 方法簽名需要增加一個(gè)參數(shù)或者需要增加一個(gè)CheckedException的申明
  5. 類中增加靜態(tài)Logger屬性以增加日志輸出

上面所列舉的一些場(chǎng)景,我們研發(fā)同學(xué)必須通過重啟服務(wù)(如tomcat)才能夠使修改的代碼生效。對(duì)于一些小型的系統(tǒng)重啟一次可能只需要花費(fèi)1分鐘左右的時(shí)間,而對(duì)于大型系統(tǒng)重啟一次往往需要5分鐘左右。如果系統(tǒng)中大量使用到了dubbo、mq等技術(shù),由于啟動(dòng)過程中需要建立大量的連接,重啟所花費(fèi)的時(shí)間可能會(huì)更長(zhǎng)。據(jù)統(tǒng)計(jì),研發(fā)同學(xué)每天大概需要重啟服務(wù)10-20次。頻繁的重啟服務(wù),嚴(yán)重影響了研發(fā)同學(xué)開發(fā)、調(diào)試的節(jié)奏,影響整體的工作效率。

熱部署技術(shù)正是為了解決這一問題,熱部署能夠使研發(fā)人員對(duì)代碼的絕大部分修改都能夠立即生效。在不重啟應(yīng)用程序的情況下快速測(cè)試和調(diào)試代碼,幫助研發(fā)減少頻繁的重啟服務(wù)次數(shù),節(jié)省碎片化的時(shí)間。

避免應(yīng)用程序因?yàn)楦露枰C(jī)維護(hù),從而提高了應(yīng)用程序的可用性和穩(wěn)定性。

3.熱部署產(chǎn)品

目前市面上成熟的熱部署產(chǎn)品不是特別多,主要有JRebel、IDEA HotSwap、HotSwapAgent、Spring Boot DevTools,都可以實(shí)現(xiàn)代碼的熱部署。

3.1.JRebel

一款功能強(qiáng)大的熱部署收費(fèi)產(chǎn)品,以IDEA作為用戶操作入口,生態(tài)較為龐大,基本上覆蓋了Java生態(tài)下主流技術(shù)框架的熱部署。其主要的缺點(diǎn)就是國產(chǎn)框架(fastjson、mybatis-plus等)基本上都不支持,并且是一款收費(fèi)產(chǎn)品,需要破解。

3.2.IDEA HotSwap

IDEA自帶的熱部署,能力相對(duì)較弱,僅支持方法體的變更。諸如增加屬性、增加方法、修改類的繼承關(guān)系等變更類結(jié)構(gòu)的操作都是被禁止的,并且spring、mybatis等Java主流框架均不支持。支持的場(chǎng)景非常有限,功能較為單一,難以滿足研發(fā)同學(xué)的日常開發(fā)。

3.3.HotSwapAgent

一款免費(fèi)開源的熱部署Agent(github.com/HotswapProj… 國外團(tuán)隊(duì)開發(fā)的,同樣也是不支持國產(chǎn)框架,但是由于其是完全免費(fèi)開源的,我們可以基于它進(jìn)行二次開發(fā)來支持國產(chǎn)框架的熱部署。也正是因?yàn)槭敲赓M(fèi)開源的,通過深入研究其源代碼,發(fā)現(xiàn)其很多熱部署場(chǎng)景支持的都存在一些問題,包括mybatis代理接口,spring框架整體支持上都存在一些問題。

標(biāo)準(zhǔn)的JVM在運(yùn)行時(shí)只允許修改類的方法體,不允許修改類結(jié)構(gòu)。HotSwapAgent團(tuán)隊(duì)為了解決這一來自JVM的限制研發(fā)了DCEVM補(bǔ)丁(github.com/dcevm/dcevm… 該補(bǔ)丁允許研發(fā)同學(xué)在運(yùn)行期對(duì)類進(jìn)行任何修改。也正是由于這一補(bǔ)丁的出現(xiàn),使得真正意義上的熱部署得以被實(shí)現(xiàn)(JRebel本質(zhì)上也是使用類似的技術(shù)手段)。

3.4.Spring Boot DevTools

Spring Boot DevTools只能應(yīng)用在Spring Boot項(xiàng)目中,并且它不是增量熱部署,而是通過Classloader迭代的方式重啟項(xiàng)目,對(duì)大項(xiàng)目而言,性能上是無法接受的。準(zhǔn)確來說Spring Boot DevTools并非一個(gè)嚴(yán)格意義上的熱部署產(chǎn)品。

3.5.FastHotSwapper

目前市面上的熱部署產(chǎn)品大部分都是國外團(tuán)隊(duì)研發(fā)的,缺少對(duì)國產(chǎn)技術(shù)框架的支持。FastHotSwapper正是為了彌補(bǔ)這一空缺,為廣大研發(fā)同學(xué)提供一款功能強(qiáng)大、簡(jiǎn)單易用、支持國產(chǎn)框架、免費(fèi)的熱部署產(chǎn)品。

FastHotSwapper旨在提高開發(fā)效率。簡(jiǎn)而言之:修改可以立即生效,而無需在整個(gè)編碼過程中重新啟動(dòng)應(yīng)用程序。 具體來說,可以在應(yīng)用程序運(yùn)行時(shí)升級(jí)軟件,而無需重新啟動(dòng)

FastHotSwapper是一款IDEA熱部署插件。其核心(Agent部分)是基于HotSwapAgent做了二次開發(fā),對(duì)spring、mybatis、tomcat、cglib等主流技術(shù)框架進(jìn)行了深度的優(yōu)化,同時(shí)對(duì)一些主流的國產(chǎn)框架進(jìn)行了熱部署支持,例如apollo、mybatis-plus、tk-mybatis、Fastjson等。并以IDEA作為用戶的操作入口,提升熱部署整體的易用性。

4.FastHotSwapper安裝使用

詳情可以參考: plugins.jetbrains.com/plugin/2064…

1)熱部署插件安裝

推薦一款好用的Idea熱部署插件

2)安裝dcevm

1、從下面列表下載jdk8對(duì)應(yīng)版本的DCEVM補(bǔ)丁。補(bǔ)丁要jdk的版本要一一對(duì)應(yīng),否則會(huì)導(dǎo)致jdk崩潰。

FastHotSwapper - IntelliJ IDEs Plugin | Marketplace

2、執(zhí)行安裝命令 mac操作系統(tǒng)或者linux操作系統(tǒng)直接打開terminal運(yùn)行下面命令

cd dcevm 所在目錄
sudo java -jar dcevm-light-java8u192.jar

windows操作系統(tǒng),首先以管理員身份打開cmd,然后執(zhí)行下面命令,盡可能不在C盤執(zhí)行命令

cd dcevm所在目錄

java -jar dcevm-light-java8u192.jar

命令執(zhí)行完成之后便可以彈出下圖所示的可視化操作界面。

需要在jdk和jre上同時(shí)安裝補(bǔ)丁,點(diǎn)擊右下角按鈕:Install DCEVM as altjvm,然后關(guān)閉界面即可。

推薦一款好用的Idea熱部署插件

3)驗(yàn)證

運(yùn)行命令

 java -XXaltjvm=dcevm -version 

出現(xiàn) "Dynamic Code Evolution"字符串則表示安裝成功

推薦一款好用的Idea熱部署插件

DCEVM要求應(yīng)用的垃圾收集器必須為SerialGC(java8默認(rèn)收集器),安裝該補(bǔ)丁后會(huì)導(dǎo)致非SerialGC的應(yīng)用無法啟動(dòng)

4)關(guān)閉IDEA的熱部署能力

Build,Execution,Deployment > Debug > HotSwap Reload classes after compilation選擇Never。

IDEA自帶的熱部署只能夠支持方法體的變更,無法做到spring、mybatis等框架的動(dòng)態(tài)重載,所以這里禁用IDEA自帶的熱部署功能。

5)熱部署啟動(dòng)

debug啟動(dòng)目標(biāo)應(yīng)用程序,目前只支持以debug啟動(dòng)的應(yīng)用程序。

web容器目前只支持tomcat和jetty,以其他容器部署的應(yīng)用則不支持熱部署。

如出現(xiàn)以下關(guān)鍵信息,代表agent已生效,服務(wù)啟動(dòng)成功后,即可體驗(yàn)熱部署了

推薦一款好用的Idea熱部署插件

6)熱部署操作

當(dāng)完成編碼之后,可以在運(yùn)行中選項(xiàng)卡中打開熱部署面板,校驗(yàn)變更文件列表(如果缺少文件,可以打開該文件使用"ctrl+s"保存一下),然后點(diǎn)擊OK按鈕便可開始熱部署。

同樣可以使用默認(rèn)的快捷鍵(ctrl+alt+9)來一鍵開始熱部署

推薦一款好用的Idea熱部署插件

7)熱部署完成

推薦一款好用的Idea熱部署插件

小結(jié):總的來說非常好用,支持XML文件中的sql熱部署,但是目前發(fā)現(xiàn)不支持2023.3的idea 中的新版ui,如果不使用新版UI應(yīng)沒有問題

參考:

https://juejin.cn/post/7178798474702356540文章來源地址http://www.zghlxwxcb.cn/news/detail-459417.html

到了這里,關(guān)于推薦一款好用的Idea熱部署插件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 推薦一款 IntelliJ IDEA 神級(jí)插件,由 ChatGPT 團(tuán)隊(duì)開發(fā),免費(fèi)使用,堪稱輔助神器!

    推薦一款 IntelliJ IDEA 神級(jí)插件,由 ChatGPT 團(tuán)隊(duì)開發(fā),免費(fèi)使用,堪稱輔助神器!

    來源:https://blog.csdn.net/m0_64880608/article/details/130201349 Bito是一款在IntelliJ IDEA編輯器中的插件,Bito插件是由ChatGPT團(tuán)隊(duì)開發(fā)的,它是ChatGPT團(tuán)隊(duì)為了提高開發(fā)效率而開發(fā)的一款工具。 ChatGPT團(tuán)隊(duì)是一支專注于自然語言處理技術(shù)的團(tuán)隊(duì),他們開發(fā)了一款基于GPT的自然語言處理模型,可

    2024年02月02日
    瀏覽(24)
  • Spring和IDEA都不推薦用的@Autowired注解,為什么還有那么多人用?

    Spring和IDEA都不推薦用的@Autowired注解,為什么還有那么多人用?

    @Autowired的默認(rèn)裝配 我們都知道在spring中@Autowired注解,是用來自動(dòng)裝配對(duì)象的。通常,我們?cè)陧?xiàng)目中是這樣用的: 沒錯(cuò),這樣是能夠裝配成功的,因?yàn)槟J(rèn)情況下spring是按照類型裝配的,也就是我們所說的byType方式。 此外,@Autowired注解的required參數(shù)默認(rèn)是true,表示開啟自動(dòng)

    2023年04月18日
    瀏覽(24)
  • 【好物推薦】一款幫我快速達(dá)成單元測(cè)試的覆蓋率指標(biāo)的IDEA插件 —— TestMe

    【好物推薦】一款幫我快速達(dá)成單元測(cè)試的覆蓋率指標(biāo)的IDEA插件 —— TestMe

    TestMe 是一個(gè)可以幫助您快速達(dá)成單元測(cè)試覆蓋率指標(biāo)的 IDEA 插件。 它可以幫助您自動(dòng)生成測(cè)試用例,從而確保您的代碼覆蓋率達(dá)到所需的覆蓋率。 請(qǐng)注意,TestMe 插件只是一個(gè)輔助工具,它可以幫助您自動(dòng)生成測(cè)試用例,但單元測(cè)試的質(zhì)量和覆蓋率的可靠性仍然取決于您的代

    2024年02月13日
    瀏覽(50)
  • idea熱部署插件JRebel激活(強(qiáng)烈推薦,試試就離不開了)

    idea熱部署插件JRebel激活(強(qiáng)烈推薦,試試就離不開了)

    JRebel可以實(shí)現(xiàn)在idea中熱部署項(xiàng)目,修改后不用重啟項(xiàng)目,讓開發(fā)更絲滑。 JRebel需要激活才可以正常使用。 博主最近在找工作,Java前后端全站工程師一枚,有合適的請(qǐng)幫博主推薦一下 有項(xiàng)目的也可以聯(lián)系我,感謝感謝 博主在北京 2023-07-04 發(fā) V:y393016244 FileSettingsPlugins 搜索

    2024年02月13日
    瀏覽(35)
  • 推薦一款免費(fèi)好用的遠(yuǎn)程桌面:Getscreen

    推薦一款免費(fèi)好用的遠(yuǎn)程桌面:Getscreen

    因?yàn)槠綍r(shí)有多臺(tái)設(shè)備要用,所以遠(yuǎn)程桌面是我經(jīng)常要使用的工具。 最近,正好看到一款不錯(cuò)的遠(yuǎn)程桌面軟件,馬上拿出來推薦給大家,如果有需要的可以看看。 今天要推薦的遠(yuǎn)程桌面軟件就是這款叫 Getscreen 的軟件,推薦理由挺簡(jiǎn)單,就3點(diǎn): 簡(jiǎn)單易用:只需要兩步就能輕松

    2024年02月11日
    瀏覽(89)
  • 除了微軟,推薦一款免費(fèi)好用的office軟件

    除了微軟,推薦一款免費(fèi)好用的office軟件

    日常工作和學(xué)習(xí)中,大家比較常見的office軟件就是Microsoft Office,因?yàn)樗墓δ鼙容^強(qiáng)大,被很多人所熟知,不過其費(fèi)用卻讓很多人望而卻步。今天小編就給大家推薦一款免費(fèi)好用的office軟件。 這款軟件不僅能夠滿足日常的office文檔編輯需求,而且還可以進(jìn)行各種文檔格式間

    2024年02月12日
    瀏覽(95)
  • 推薦一款好用的Macos應(yīng)用Radial Menu

    推薦一款好用的Macos應(yīng)用Radial Menu

    ? ? ?? 之前在Windows上用過一款圓盤菜單工具Quicker, 感覺非常方便, 換成Macos后,一直沒有找到類似應(yīng)用。 最近終于發(fā)現(xiàn),一款好用的快捷鍵收集,觸發(fā)工具CirMenu. 其核心功能是可以根據(jù)當(dāng)前程序的上下文,彈出一個(gè)圓盤菜單。 執(zhí)行圓盤中的動(dòng)作。 目前菜單動(dòng)作還僅支持快

    2024年02月15日
    瀏覽(18)
  • 強(qiáng)烈推薦一款好用的SSH連接工具,無廢話版

    強(qiáng)烈推薦一款好用的SSH連接工具,無廢話版

    工欲善其事必先利其器,這句話放在咱們開發(fā)人員身上,真的是非常有道理的。 作為一名后端或者是運(yùn)維,經(jīng)??吹剿麄冇肵Shell + xftp配合。說實(shí)話,真沒必要,有好用的一站式管理工具,為什么要秀coding呢? 我用了三年的工具,真心覺得好用,可能大伙也聽過,就是FinalS

    2024年02月11日
    瀏覽(34)
  • 推薦一款好用的開源視頻播放器(免費(fèi)無廣告)

    推薦一款好用的開源視頻播放器(免費(fèi)無廣告)

    mpv是一個(gè)自由開源的媒體播放器,它支持多種音頻和視頻格式,并且具有高度可定制性。mpv的設(shè)計(jì)理念是簡(jiǎn)潔、高效和功能強(qiáng)大。 軟件特點(diǎn): 1. 開源、跨平臺(tái)。可以在WindowsLinuxMacOSBSD等系統(tǒng)上使用,完全免費(fèi)無廣告。Windows版解壓即用,綠色便攜。 2. 兼容性好。支持絕大多

    2024年02月11日
    瀏覽(38)
  • 5款非常好用的設(shè)計(jì)工具,推薦第一款在線設(shè)計(jì)工具

    5款非常好用的設(shè)計(jì)工具,推薦第一款在線設(shè)計(jì)工具

    特別是在當(dāng)今的UI設(shè)計(jì)領(lǐng)域,如果沒有合適的UI設(shè)計(jì)工具,那么即使你的創(chuàng)作能力很強(qiáng),工作也會(huì)有限,但許多軟件需要會(huì)員使用,這不適合新設(shè)計(jì)師,所以有在線UI設(shè)計(jì)工具嗎?關(guān)于這個(gè)問題,今天我將介紹一些可以免費(fèi)使用的UI設(shè)計(jì)工具。 1. 即時(shí)設(shè)計(jì) 即時(shí)設(shè)計(jì)是一款免費(fèi)的

    2024年02月01日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包