10x-程序員之-JRebel

What's 10X?

A 10x programmer is, in the mythology of programming, a programmer that can do ten times the work of another normal programmer, where for normal programmer we can imagine one good at doing its work, but without the magical abilities of the 10x programmer. Actually to better characterize the “normal programmer” it is better to say that it represents the one having the average programming output, among the programmers that are professionals in this discipline.

The programming community is extremely polarized about the existence or not of such a beast: who says there is no such a thing as the 10x programmer, who says it actually does not just exist, but there are even 100x programmers if you know where to look for.

??上面這段文章片段概要地說(shuō)明了 10X 程序的存在,更甚至有 100X 程序員盯仪。詳細(xì)的內(nèi)容可以查看 Antirez 的文章,文章里面詳細(xì)的講解了如何成為 10X 的內(nèi)功的修煉方式方法贪嫂。內(nèi)功的修煉需要時(shí)間的積累,那么有易上手艾蓝、見(jiàn)效快的秘籍嗎?

工欲善其事力崇、必先利其器

磨刀不誤砍柴工

程序員的 "" 有軟硬之分描孟,善用每一類都能從 1X → 10X 前進(jìn)山涡。JRebel ① (Reload Code Changes Instantly) 就是 Java 程序員的軟類工具神器之一峻厚。

What's JRebel

??JRebel 就是代碼實(shí)時(shí)編譯工具月幌,或者說(shuō)是代碼 Hot Swap (熱交換) 的工具,當(dāng)程序代碼發(fā)生變更后晶疼,JRebel 會(huì)重新加載變更后的 Class 文件袜蚕,使我們 "所見(jiàn)即所得"绎速。以實(shí)際工作中項(xiàng)目為例,項(xiàng)目不大搓侄,但啟動(dòng)時(shí)間用了 68秒瞄桨。這只是一般的項(xiàng)目,而且電腦配置不低的情況下讶踪,若項(xiàng)目依賴越多芯侥,那么所花的時(shí)間也將隨之增長(zhǎng),幾分鐘的啟動(dòng)時(shí)間必然不是少數(shù)乳讥。

INFO  com.x.ApplicationKt - Started ApplicationKt in 68.062 seconds (JVM running for 79.47)

??可能你會(huì)覺(jué)得1分鐘或者2分鐘并不重要柱查,但若你長(zhǎng)遠(yuǎn)來(lái)看的話,每次節(jié)約 1.5 分鐘云石,那么我們可以節(jié)約出多少時(shí)間呢唉工,算一算的話,那一定是一個(gè)讓你吃驚的數(shù)值汹忠。我們以一年12個(gè)月淋硝,每月23個(gè)工作日,每日有效工作時(shí)間8小時(shí)错维,平均每日代碼變更20次進(jìn)行估算。

12 * 23 * 20 * 1.5 = 8280 min = 138 h ≈ 18 day

??這樣一算橄唬,我們一年花費(fèi)在程序啟動(dòng)上的時(shí)間就足足有18天赋焕,這比我三年的年假還多3天(真希望老板知道我是一個(gè)10X 程序員,節(jié)約出如此多的時(shí)間仰楚,能夠給我長(zhǎng)點(diǎn)工資隆判,實(shí)在不行放幾天假也行啊)。

JRebel for IntelliJ

??最簡(jiǎn)單的使用方式就是通過(guò) IntellJ IDEA 安裝 JRebel for IntelliJ 插件僧界,該插件屬于收費(fèi)軟件侨嘀,在條件允許的情況下還是建議大家使用正版,當(dāng)然了我們也可以有其它方式 _ 捂襟。

??JRebel 安裝成功后咬腕,我們可以通點(diǎn)程序的 Main 方法進(jìn)行啟動(dòng),點(diǎn)擊運(yùn)行按鈕葬荷,IDE 會(huì)為我們提供新增的兩個(gè) JRebel 選項(xiàng)涨共,我們按需啟動(dòng)就好了。

JRebel Main 方法啟動(dòng)

??除了上面的側(cè)邊啟動(dòng)外宠漩,也可以在工具欄點(diǎn)擊對(duì)應(yīng)的按鈕進(jìn)行運(yùn)行,也包含了 DeBug 和 Run 兩種模式, 如圖所示:

JRebel 工具欄按鈕啟動(dòng)

What's the result

萬(wàn)事具備举反、只欠東風(fēng)

??JRebel 也安裝且項(xiàng)目啟動(dòng)成功,那如何查看效果呢? 這就比較簡(jiǎn)單了扒吁,僅僅是點(diǎn)擊一下按鈕就搞定火鼻。JRebel 以增量編譯的方式工作,當(dāng) Java 文件變更后,它只處理該 Java 文件對(duì)應(yīng)的 Class 文件就好魁索,而不是把所有的代碼重新處理一遍融撞,所以它相當(dāng)快速和高效。

JRebel 編譯變更代碼

??兩個(gè)選項(xiàng)都是編譯蛾默,第一個(gè)僅編譯變更代碼文件懦铺,而 Rebuild Project 則是整個(gè)項(xiàng)目重新編譯,當(dāng)然花費(fèi)的時(shí)間也更長(zhǎng)支鸡,所以我們使用 Build Project 就可以了, 代碼一經(jīng)編譯之后 JRebel 就會(huì)幫助我們把 Class 文件進(jìn)行替換冬念,從而實(shí)現(xiàn) Hot Swap, 整個(gè)替換非常迅速與快捷, 從而節(jié)省出更多的時(shí)間。

其實(shí)重要的并不是說(shuō)這樣會(huì)節(jié)省出多少時(shí)間, 關(guān)鍵是我們不會(huì)掉出心流狀態(tài), 工作不被中斷牧挣,效率自然就更高了急前。我們的大腦就像計(jì)算機(jī)一樣, 做一件事情的時(shí)候被另外的事情中斷,然后再回到之前的事情是有代價(jià)的瀑构。這個(gè)代價(jià)就像線程切換一樣, 而且我們大腦的工作內(nèi)存恢復(fù)需要的時(shí)間可比計(jì)算機(jī)長(zhǎng)太久了裆针。所以能夠全身心的投入做一件事情, 才是效率最高的方式, 處理完一件事情之后它就不會(huì)再影響我們大腦的后續(xù)工作。

??其實(shí)生活中的很多事情只可意會(huì), 悟了就是悟了, 沒(méi)悟的話怎么講都不會(huì)懂寺晌,只有親身經(jīng)歷方可體會(huì)世吨。實(shí)踐出真知, JRebel 對(duì) Java 程序員來(lái)說(shuō)它就是一個(gè) 用了就回不去 的東西。

Appendix

①. JRebel https://jrebel.com/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呻征,一起剝皮案震驚了整個(gè)濱河市耘婚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陆赋,老刑警劉巖沐祷,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異攒岛,居然都是意外死亡赖临,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門灾锯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)兢榨,“玉大人,你說(shuō)我怎么就攤上這事顺饮∩” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵领突,是天一觀的道長(zhǎng)暖璧。 經(jīng)常有香客問(wèn)我,道長(zhǎng)君旦,這世上最難降的妖魔是什么澎办? 我笑而不...
    開(kāi)封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任嘲碱,我火速辦了婚禮,結(jié)果婚禮上局蚀,老公的妹妹穿的比我還像新娘麦锯。我一直安慰自己,他們只是感情好琅绅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布扶欣。 她就那樣靜靜地躺著,像睡著了一般千扶。 火紅的嫁衣襯著肌膚如雪料祠。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天澎羞,我揣著相機(jī)與錄音髓绽,去河邊找鬼。 笑死妆绞,一個(gè)胖子當(dāng)著我的面吹牛顺呕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播括饶,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼株茶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了图焰?” 一聲冷哼從身側(cè)響起启盛,我...
    開(kāi)封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎楞泼,沒(méi)想到半個(gè)月后驰徊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笤闯,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堕阔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颗味。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片超陆。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖浦马,靈堂內(nèi)的尸體忽然破棺而出时呀,到底是詐尸還是另有隱情,我是刑警寧澤晶默,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布谨娜,位于F島的核電站,受9級(jí)特大地震影響磺陡,放射性物質(zhì)發(fā)生泄漏趴梢。R本人自食惡果不足惜漠畜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望坞靶。 院中可真熱鬧憔狞,春花似錦、人聲如沸彰阴。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)尿这。三九已至簇抵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間妻味,已是汗流浹背正压。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留责球,地道東北人焦履。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像雏逾,于是被迫代替她去往敵國(guó)和親嘉裤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一栖博、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,723評(píng)論 0 10
  • 一屑宠、溫故而知新 1. 內(nèi)存不夠怎么辦 內(nèi)存簡(jiǎn)單分配策略的問(wèn)題地址空間不隔離內(nèi)存使用效率低程序運(yùn)行的地址不確定 關(guān)于...
    SeanCST閱讀 7,784評(píng)論 0 27
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,805評(píng)論 0 11
  • IDEA 如何使用JRebel 部署web項(xiàng)目呢? 步驟 (1)安裝JRebel插件 File|Settings....
    黃威的世界閱讀 2,854評(píng)論 0 9
  • 一花一世界,一葉一菩提仇让。 心之若素典奉,香自滿懷。 坦然面對(duì)生活丧叽,真實(shí)是一種境界卫玖。 人的一生,好與不好都是一種經(jīng)歷踊淳。好...
    儷志心語(yǔ)閱讀 458評(píng)論 2 2