亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正(最新推薦)

 更新時(shí)間:2023年10月25日 11:58:26   作者:YourBatman  
北京時(shí)間2023年7月26日,IntelliJ IDEA 2023.2正式發(fā)布,IntelliJ IDEA 2023.2 引入 AI Assistant(AI助手),通過一組由 AI 提供支持的功能助力開發(fā),今天給大家分享IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正,感興趣的朋友一起看看吧

??前言

北京時(shí)間2023年7月26日,IntelliJ IDEA 2023.2正式發(fā)布。老規(guī)矩,吃肉之前,可以先把這幾碗湯干了,更有助于消化(每篇都很頂哦):

IntelliJ IDEA 2023.2正式發(fā)布,新UI轉(zhuǎn)正,AI不能使用IntelliJ IDEA 2023.1正式發(fā)布,Maven項(xiàng)目大提速&支持Apache DubboIntelliJ IDEA 2022.3正式發(fā)布,配置云同步&支持Redis好用到炸IntelliJ IDEA 2022.2正式發(fā)布,支持Spring Boot 3和Spring 6IntelliJ IDEA 2022.1正式發(fā)布,我把Maven Helper卸載了IntelliJ IDEA 2020.3正式發(fā)布,年度最后一個(gè)版本很講武德IntelliJ IDEA 2020.2正式發(fā)布,諸多亮點(diǎn)總有幾款能助你提效IntelliJ IDEA 2020.1正式發(fā)布,你要的Almost都在這!IntelliJ IDEA 2019.3正式發(fā)布,給我們帶來哪些新特性?

全新啟動(dòng)圖,感受一下:

這是舊版2023.1的啟動(dòng)圖:

這是舊版2022.3的啟動(dòng)圖:

?正文

官方對(duì)此版本的新變化總結(jié):IntelliJ IDEA 2023.2 引入 AI Assistant(AI助手),通過一組由 AI 提供支持的功能助力開發(fā)(比如:Open API公司,也就是Chat GPT)。 升級(jí)的 IntelliJ 分析器現(xiàn)在提供編輯器內(nèi)提示,使分析進(jìn)程更加直觀詳盡。 此版本還包括有助于簡(jiǎn)化開發(fā)工作流的 GitLab 集成,以及其他多項(xiàng)值得關(guān)注的更新和改進(jìn)。

在繼續(xù)了解新版本的新特性之前,筆者特先來同步下此版本解決的幾個(gè)筆者認(rèn)為非常重要的bug。

解決的重要Bug

這里重點(diǎn)“批評(píng)”下2023.1這個(gè)版本(之前版本沒有問題),由于它檢索上存在的問題,導(dǎo)致我險(xiǎn)些出現(xiàn)線上P0故障▄█?█●

無法關(guān)聯(lián)到.class文件引用關(guān)系

說明:這里說的.class文件,是指沒有關(guān)聯(lián)到souce code的文件(可能是沒有Download Sources,也可能是真沒有源碼),即IDEA幫你反編譯出來的,上方會(huì)飄這一行東東的文件:

眾所周知Java是強(qiáng)類型語言,該特點(diǎn)是Java能做大型企業(yè)級(jí)工程的核心優(yōu)勢(shì)之一。通過這個(gè)特性,我們可以很方便的整理出各個(gè)類、方法、變量之間的引用關(guān)系甚至UML圖,進(jìn)而做出決策和做出調(diào)整。

但是,IntelliJ IDEA的2023.1版本,在沒有源代碼的類文件中,會(huì)丟掉引用關(guān)系,導(dǎo)致檢索的時(shí)候出現(xiàn)缺失。這么一來對(duì)使用時(shí)影響非常之大,不僅效率打折扣,更重要的是對(duì)決策產(chǎn)生致命影響。具體可表現(xiàn)為:

比如接口,想知道它的實(shí)現(xiàn)有哪些。這時(shí)只能列出有source code的一些引用比如Find Usages,只能找到這個(gè)類/方法/屬性被source code的一些引用

這種基礎(chǔ)功能,開發(fā)者本著對(duì)IntelliJ IDEA開發(fā)工具的絕對(duì)信任,一旦它給出的結(jié)果有遺漏,那是相當(dāng)危險(xiǎn)的一件事。因此,上面筆者提到的當(dāng)時(shí)是什么場(chǎng)景導(dǎo)致差點(diǎn)出了大錯(cuò),相信你可自行腦補(bǔ)了吧。

PS:為了驗(yàn)證不是我本機(jī)環(huán)境的問題而確實(shí)是IDEA導(dǎo)致,我找了同事4臺(tái)電腦驗(yàn)證。證實(shí)了2023.1版本的確存在此問題,方才石錘。好消息是,IntelliJ IDEA 2023.2版本此問題已被修復(fù),親測(cè)無誤,可放心食用了

話說回來:也有升級(jí)到2023.1沒有出現(xiàn)此問題的,但據(jù)我抽樣發(fā)現(xiàn)出問題的概率很大,不容忽視

新UI左側(cè)邊欄剩一個(gè)無法挪到右邊

這個(gè)問題雖不是功能上的bug,但肯定是問題,一定程度上影響到了筆者的使用體驗(yàn)。

JetBrains在2022年12月份的2022.3版本中首次推出新UI,對(duì)界面進(jìn)行了徹底的改造,主打極簡(jiǎn)風(fēng),改進(jìn)整體的編碼體驗(yàn),為此筆者非常喜歡。新UI官方也是主推,點(diǎn)進(jìn)官網(wǎng)就能感受到推廣力度:減少干擾,提高工作效率,保持專注。

在2022.3和2023.1這兩個(gè)版本中,新UI一直是以Beta版本存在。終于,在這個(gè)版本就徹底的轉(zhuǎn)正了:去掉了Beta字樣

新UI這一次IntelliJ IDEA的步子邁得還是有點(diǎn)大的,因此口碑兩極分化,畢竟并非所有開發(fā)者都喜歡這種極簡(jiǎn)風(fēng)格,若習(xí)已養(yǎng)成了用鼠標(biāo)點(diǎn)擊工具欄的習(xí)慣,一下子確實(shí)很難適應(yīng)過來。

這么重大的改變可能會(huì)導(dǎo)致不適,為此JetBrain當(dāng)然也有考慮到,因此舊UI目前依舊是保留的。但不代表它會(huì)一直存在。官方對(duì)新舊UI給出的迭代時(shí)間計(jì)劃是:

舊UI保留到什么時(shí)候?答:預(yù)計(jì)在2024年中發(fā)布的2024.2版本中徹底刪除掉舊UI新UI什么時(shí)候成為默認(rèn)UI?答:預(yù)計(jì)2024年初發(fā)布的2024.1版本中將新UI作為缺省

還記得筆者在去年底(2022年12月份)吐槽新UI中的其中一個(gè)槽點(diǎn)嗎:左側(cè)工具欄無法全部挪到右側(cè)來(舊UI是可以的),還剩個(gè)...死活不讓挪了,這樣子搞得很不優(yōu)雅:白白浪費(fèi)了左側(cè)這部分空間

“可能”我的建議被官方聽到了,這個(gè)版本給解決了:左側(cè)工具欄可全部挪到右邊

移到右邊后,左邊就異常簡(jiǎn)約看著舒服多了:更符合人體視覺工程學(xué)

??what’s new(新特性)

現(xiàn)在我們?yōu)g覽下此次版本的主要新特性。

Profiler集成進(jìn)編輯器內(nèi)

IntelliJ IDEA遵守承諾,一直在提升Profiler的能力,提供有關(guān)應(yīng)用程序性能的深入信息,并使性能問題更容易調(diào)查。它在第一個(gè)2023.2 EAP 1版本中,引入了編輯器內(nèi)提示,它提供了一種簡(jiǎn)單的方法來逐行解釋代碼的性能,并幫助我們更快地解決性能問題。編輯器裝訂區(qū)域中的顏色編碼注解可以高亮顯示關(guān)鍵方法,讓您專注于性能瓶頸。因此,不再需要使用 Flame Graph(火焰圖)和 Call Tree(調(diào)用樹)視圖執(zhí)行徹底、耗時(shí)的分析。

Profiler功能在IntelliJ IDEA 2020.1就引入了,當(dāng)時(shí)作為一個(gè)實(shí)驗(yàn)功能。但是Jetbrain它承諾了會(huì)在后面的版本中逐步迭代它。

  • 2020.1/2版本:我們需要手動(dòng)的導(dǎo)入一個(gè)xxx.hprof文件供給它分析
  • 2020.3版本:和IDE更深入集成,除了更便捷的打開xxx.hprof文件外,還可直接分析正在運(yùn)行的程序
  • 2022.2版本:此功能從實(shí)驗(yàn)性走到發(fā)布,正式畢業(yè),已值得信賴,可以用來做性能分析用。表現(xiàn)更穩(wěn)定、參數(shù)更詳細(xì),并且還支持了Kotlin和Scala語言
  • 2023.2版本:集成進(jìn)編輯器內(nèi),和代碼可做到一一對(duì)應(yīng)??刹辉僖蕾囉??火焰圖、樹狀圖那些,更加直觀高效

效果演示

代碼準(zhǔn)備:

@RequestMapping("/demo")
@RestController
public class DemoController {
    @Autowired
    private DemoService demoService;
    @GetMapping("/profiler/test")
    Object testProfiler() throws Exception {
        TimeUnit.SECONDS.sleep(3); // 補(bǔ)好CPU,但耗時(shí)
        demoService.testProfilerForService();
        return "SUCCESS";
    }
}
@Service
public class DemoService {
    public void testProfilerForService() throws InterruptedException {
        for (int i = 0; i < 10_000_000; i++) { // 既耗時(shí),又耗CPU
            System.out.println(i + 100);
        }
        TimeUnit.SECONDS.sleep(2);
    }
}

使用Profiler分析器方式啟動(dòng)應(yīng)用,也就是這里:

啟動(dòng)后,訪問接口http://localhost:8080/demo/profiler/test,監(jiān)控情況:

點(diǎn)擊Stop Recording,在IDEA里就可以非常直觀的看到性能分析結(jié)果:controller層89%的時(shí)間花在了第28行,也就是調(diào)用service這一行

service的方法里,89%的時(shí)間花在了i + 100這一行

通過Click to navigate導(dǎo)航,一層一層深入,直到找到性能瓶頸的那行代碼。

你可能會(huì)碰到的問題

啟動(dòng)時(shí)拋出異常java.lang.ClassNotFoundException: one.profiler.JfrSync

點(diǎn)擊Stop Recording時(shí)報(bào)錯(cuò):Profiler error: Can‘t stop profiler, jattach output:

應(yīng)用已啟動(dòng),通過Attach方式啟動(dòng)Profiler,報(bào)錯(cuò)Failed to active JFR synchronization.

當(dāng)你遇到????這些錯(cuò)誤時(shí),錯(cuò)誤歸因大概率都是同一個(gè):JDK/JRE版本不對(duì)

  • 要么是HotSpot JDK(如Oracle JDK)低于1.8.0_252版本
  • 要么用的不是Oracle JDK。大多數(shù)情況下是這種情況,如果你用的是m系列芯片的Mac的話

解決方案:使用Oracle JDK(包含Oracle Open JDK)。至于原因嘛,感興趣查查JFR是啥就知道啦,順便了解下它的發(fā)展史。

這樣,您可以輕松地關(guān)注性能瓶頸并即時(shí)查看它們,而無需使用火焰圖和調(diào)用樹視圖執(zhí)行徹底、耗時(shí)的分析。

PS:它里面有很多細(xì)節(jié)設(shè)置,可自行探索

AI Assistant

大多數(shù)博主都用它博眼球,但其實(shí)自己沒用過,有點(diǎn)無語。它背靠GPT的大語言模型:

這里筆者一筆帶過,因?yàn)樘斐貌涣恕D闳粲信d趣可嘗試使用步驟:

在插件市場(chǎng)里下載安裝AI Assistant插件

然后你可看到AI視窗,它可以幫你做這四件事:

  • 解釋代碼
  • 回答你編程上的問題
  • 幫你寫commit msg
  • 幫你寫注釋/文檔

點(diǎn)擊Log in to JetBrains AI…,它跳到https://auth.grazie.ai/auth/ij讓你授權(quán)。如果沒用??,不出意外,你就會(huì)看到這個(gè)(或者根本打不開)

如果用了??,就是這些頁面:

到這個(gè)頁面,就授權(quán)成功了。

然后回到IDEA里,你會(huì)看到:

AI助手,聽起來diao炸天。但這部分筆者不浪費(fèi)筆墨了,自己官網(wǎng)看去。畢竟天朝用不了,并且此功能目前也僅還是邀請(qǐng)制。把這個(gè)作為新版IDEA重要新特性寫出來的博主,我覺得很不負(fù)責(zé),只為流量,無有其它。 Gitlab集成

現(xiàn)在可以和GitLab的集成,幫助我們簡(jiǎn)化您的開發(fā)工作流。筆者本非常期待這個(gè)功能,這樣便可方便的合并同事提交的MR:

但是:我進(jìn)行到了這一步后,就沒有后續(xù)了:

Log In時(shí)提示報(bào)錯(cuò):Failed to load merge requests. Deserialization of Request POST [https://gitlab.redacted.com/api/graphql/](https://gitlab.redacted.com/api/graphql/) response to JSON failed。原因很簡(jiǎn)單:

目前僅支持Gitlab 15.10以上的企業(yè)版。將來會(huì)支持到社區(qū)版本以及之前的版本~

更多整合Gitlab信息參考:https://blog.jetbrains.com/blog/2023/07/26/gitlab-support-in-jetbrains-ide

代碼可按行提交

相信每個(gè)開發(fā)者都遇到這個(gè)情況:把你這個(gè)方法、這幾行代碼提交了,其它的先不提交。因?yàn)槠渌男锌赡芫幾g不通過、或者對(duì)方暫不需要,因此(行級(jí)別)局部提交就成了剛需。

即可在這里逐行選擇:勾選的行表示需要commit的(默認(rèn)該文件內(nèi)所有的行都是提交的)。當(dāng)然,也可以右鍵選擇/反選:

這個(gè)功能平時(shí)用得不多,但特殊場(chǎng)景下是非常好用的,即實(shí)用又能炫技。

其它新功能 Project視圖中文件可按修改時(shí)間排序了

Project視圖中文件可單擊打開了

目的是提效,但我們習(xí)慣大都是雙擊打開,因人而異吧

可以連接Redis集群了

需要注意的是,鏈接地址協(xié)議需加上cluster,就像這樣:jdbc:redis:cluster://xxx.xxx.xxx.xxx:6379/0

不再支持Struts2、Play和Cloud Foundry等插件

IntelliJ IDEA 2023.2及更高版本不再提供相關(guān)插件的支持

IDEA運(yùn)行-Xmx默認(rèn)上調(diào)為2GB

可在這里查看你的IDEA的-Xmx值,默認(rèn)已調(diào)整為2GB大小。個(gè)人建議:若內(nèi)存夠用,建議至少調(diào)為4GB以上。

不再支持Windows 7

從IntelliJ IDEA 2023.2起,不再支持Windows 7。需將操作系統(tǒng)更新到Windows 10或更高的版本才行

?總結(jié)

到此這篇關(guān)于IntelliJ IDEA 2023.2正式發(fā)布,新UI和Profiler轉(zhuǎn)正的文章就介紹到這了,更多相關(guān)IntelliJ IDEA 2023.2正式發(fā)布內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java SpringBoot容器注入對(duì)象詳解

    Java SpringBoot容器注入對(duì)象詳解

    本文通過實(shí)例代碼給大家詳解了springboot獲取ioc容器中注入的bean問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-09-09
  • Java中文件創(chuàng)建于寫入內(nèi)容的常見方法

    Java中文件創(chuàng)建于寫入內(nèi)容的常見方法

    在日常開發(fā)中,肯定離不開要和文件打交道,今天就簡(jiǎn)單羅列一下平時(shí)比較常用的創(chuàng)建文件并向文件中寫入數(shù)據(jù)的幾種方式,希望對(duì)大家有一定的幫助
    2023-10-10
  • 詳解Spring Security如何配置JSON登錄

    詳解Spring Security如何配置JSON登錄

    這篇文章主要介紹了詳解Spring Security如何配置JSON登錄,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • SpringBoot webSocket實(shí)現(xiàn)發(fā)送廣播、點(diǎn)對(duì)點(diǎn)消息和Android接收

    SpringBoot webSocket實(shí)現(xiàn)發(fā)送廣播、點(diǎn)對(duì)點(diǎn)消息和Android接收

    這篇文章主要介紹了SpringBoot webSocket實(shí)現(xiàn)發(fā)送廣播、點(diǎn)對(duì)點(diǎn)消息和Android接收,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • 使用Java設(shè)置字型和顏色的方法詳解

    使用Java設(shè)置字型和顏色的方法詳解

    這篇文章主要介紹了使用Java設(shè)置字型和顏色的方法,在Java的繪圖等圖形化編程中較常用到,需要的朋友可以參考下
    2015-10-10
  • Spring Mvc中攔截器Interceptor用法解讀

    Spring Mvc中攔截器Interceptor用法解讀

    這篇文章主要介紹了Spring Mvc中攔截器Interceptor用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Java  解決死鎖的方法實(shí)例詳解

    Java 解決死鎖的方法實(shí)例詳解

    這篇文章主要介紹了java 多線程死鎖詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • java序列化與反序列化的使用方法匯總

    java序列化與反序列化的使用方法匯總

    序列化是一種對(duì)象持久化的手段,普遍應(yīng)用在網(wǎng)絡(luò)傳輸、RMI等場(chǎng)景中,這篇文章主要給大家總結(jié)介紹了關(guān)于java序列化與反序列化的使用方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-07-07
  • MyBatis工廠類封裝與簡(jiǎn)化實(shí)現(xiàn)

    MyBatis工廠類封裝與簡(jiǎn)化實(shí)現(xiàn)

    工廠類的目的是將對(duì)象的創(chuàng)建邏輯封裝在一個(gè)類中,以便客戶端代碼無需了解具體的實(shí)現(xiàn)細(xì)節(jié),本文主要介紹了MyBatis工廠類封裝與簡(jiǎn)化實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • SpringBoot @Schedule的使用注意與原理分析

    SpringBoot @Schedule的使用注意與原理分析

    這篇文章主要介紹了SpringBoot @Schedule的使用注意與原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評(píng)論