日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【肥朝】看源码,我为什么推荐IDEA?

發(fā)布時(shí)間:2025/3/8 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【肥朝】看源码,我为什么推荐IDEA? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文并不評論Eclipse與IDEA孰好孰壞,但是由于肥朝平時(shí)都是使用IDEA開發(fā)的,所以推薦IDEA.這個(gè)和肥朝平時(shí)都是吃粵菜,所以推薦的都是粵菜為主,但是并不是說其他菜不好吃,肥朝不挑食!

1.條件斷點(diǎn)

看源碼的時(shí)候,經(jīng)常遇到這個(gè)情況,源碼中有個(gè)for循環(huán),關(guān)鍵是這個(gè)list的size有時(shí)候長達(dá)數(shù)百個(gè).但是我們只想debug一種情況.肥朝就曾經(jīng)見過,在for循環(huán)中打了斷點(diǎn),一直按跳過,按了數(shù)十下之后.才找到自己想debug的值.這樣效率不高

比如下文這個(gè)

@Test public void testList() throws Exception {List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9,10);for (Integer integer : list) {System.out.println(integer);} } 復(fù)制代碼

如果你想debug數(shù)字10這種情況,如果你不知道條件斷點(diǎn),那么你可能要一直點(diǎn)9次跳過.我們來看一下條件斷點(diǎn)的使用

這樣,就只有滿足條件的時(shí)候才會(huì)進(jìn)入斷點(diǎn)了,告別無效的小手一抖!

2.強(qiáng)制返回值

比如SpringBoot中這個(gè)打印Banner的.我們想調(diào)試多種情況.就可以利用這個(gè)Force Return,這樣方便我們調(diào)試源碼中的多種分支流程

3.模擬異常

在做業(yè)務(wù)開發(fā)中,我們有時(shí)需要模擬某個(gè)方法拋出異常,看看自己的代碼是不是像肥朝一樣可靠得一逼.但是你每次去寫死一個(gè)異常,然后再刪掉,這種低效的方式有違極客精神.那么我們?nèi)绻屢粋€(gè)方法拋出異常呢?

不過要注意的一點(diǎn)是,這個(gè)功能印象中是IDEA 2018年以后的版本才有的功能.

4.Evaluate Expression

比如我們看源碼時(shí)遇到這個(gè)一個(gè)場景,這里有一個(gè)byte[],但是我們就想看一下這個(gè)的值到底是啥.

那么我們可以這么操作一波

這個(gè)功能的使用場景非常的廣,通過這個(gè)功能,可以在看源碼時(shí),給某個(gè)變量賦我們要想的值,從而改變代碼的分支走向等等.總之,這個(gè)是肥朝看源碼中,使用頻率最高的功能之一.更多場景,等待老司機(jī)們自己調(diào)教!

5.toString的坑(重點(diǎn))

相信看過Dubbo源碼的朋友都會(huì)遇到過這個(gè)一個(gè)坑.也就是你把斷點(diǎn)打在下面圖示的第一個(gè)箭頭的時(shí)候,是無法進(jìn)入init()方法的.但是你把斷點(diǎn)打在第二個(gè)箭頭也就是init()方法的時(shí)候,是能進(jìn)入的.曾經(jīng)也有不少人問過這個(gè)問題.

當(dāng)然除了這個(gè)坑之外,也有類似的坑,如下

所以這個(gè)idea的默認(rèn)設(shè)置.建議在一定條件下還是關(guān)閉


本文僅為冰山一角,上百篇原創(chuàng)干貨還在路上掃描下面二維碼關(guān)注肥朝,讓天生就該造火箭的你,不再委屈擰螺絲!

總結(jié)

以上是生活随笔為你收集整理的【肥朝】看源码,我为什么推荐IDEA?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。