推薦Java必讀的10篇精選技術(shù)文章

1 ?作為一名Java程序員狮惜,我為何不在生產(chǎn)項目中轉(zhuǎn)向GO

自Google在2009年發(fā)布Go語言的第一個正式版之后碌识,這門語言就以出色的語言特性受到大家的追捧,尤其是在需要高并發(fā)的場景下筏餐,大家都會想到是不是該用Go。隨后魁瞪,在國內(nèi)涌現(xiàn)出了一批以七牛為代表的使用Go作為主要語言的團(tuán)隊惠呼,而許世偉大神本人也在各種場合下極力推動Go在國內(nèi)的發(fā)展峦耘,于是在這種大環(huán)境下,中國的Go開發(fā)者群體逐漸超越了其他地區(qū)贡歧。

業(yè)余時間好學(xué)是一回事,真正要將一個新東西運用到生產(chǎn)中則是另一回事利朵。JavaScript的開發(fā)者可以義無反顧地選擇Node.js,但是對于Java開發(fā)者來說绍弟,在下一個大項目里究竟是該選擇Go,還是Java呢樟遣?

2 ?企業(yè)級Java應(yīng)用最重要的4個性能指標(biāo)

雖然很多人都曾預(yù)言Java將一蹶不振,但是不可否認(rèn)的是豹悬,很多重要項目中,尤其是銀行和政府一些大型項目瞻佛,Java仍在其中扮演著極其重要的角色脱篙。國內(nèi)APM領(lǐng)軍企業(yè)OneAPM的Java工程師陶炳哲绊困,多次參與銀行、運營商等大型企業(yè)的性能優(yōu)化工作,總結(jié)了企業(yè)級Java應(yīng)用最應(yīng)重視的4個性能指標(biāo)适刀,主要包括:商業(yè)事務(wù),外部服務(wù)笔喉,垃圾回收以及應(yīng)用布局。

3 ?你的Java代碼對JIT編譯友好嗎然遏?

JIT編譯器是Java虛擬機(jī)(以下簡稱JVM)中效率最高并且最重要的組成部分之一吧彪。但是很多的程序并沒有充分利用JIT的高性能優(yōu)化能力,很多開發(fā)者甚至也并不清楚他們的程序有效利用JIT的程度姨裸。

在本文中怨酝,我們將介紹一些簡單的方法來驗證你的程序是否對JIT友好。這里我們并不打算覆蓋諸如JIT編譯器工作原理這些細(xì)節(jié)那先。只是提供一些簡單基礎(chǔ)的檢測和方法來幫助你的代碼對JIT友好,進(jìn)而得到優(yōu)化售淡。

4 Java大牛談:我為什么反對用Node

隨著無線端的快速普及,前后端分離技術(shù)走上前臺揖闸,而Node由于它的一些特性被工程師快速接受尤其是前端工程師,所以產(chǎn)生了很多Node是否會引起新的技術(shù)變革的討論汤纸。

我本人是淘系的一個Web開發(fā)人員,基本上經(jīng)歷了淘系關(guān)于Node和Java技術(shù)選型討論的過程贮泞,所以今天我給大家推演一下在像淘系這個環(huán)境下Node能否會成為主流的Web開發(fā)技術(shù)楞慈,當(dāng)然后面也給出了我認(rèn)為比較適合的場景啃擦。

5 Java永久代去哪兒了

在Java虛擬機(jī)(以下簡稱JVM)中,類包含其對應(yīng)的元數(shù)據(jù)令蛉,比如類的層級信息,方法數(shù)據(jù)和方法信息(如字節(jié)碼言询,棧和變量大小)运杭,運行時常量池,已確定的符號引用和虛方法表辆憔。

在過去(當(dāng)自定義類加載器使用不普遍的時候),類幾乎是“靜態(tài)的”并且很少被卸載和回收虱咧,因此類也可以被看成“永久的”熊榛。另外由于類作為JVM實現(xiàn)的一部分玄坦,它們不由程序來創(chuàng)建,因為它們也被認(rèn)為是“非堆”的內(nèi)存煎楣。

6 Java9新功能:HTTP2&REPL篇

對Java 9的炒作將不再局限于模塊化(modularity),Java 9正在搜羅大量額外的功能模塊择懂,這些功能模塊正作為Java增強(qiáng)提案(JEP)提交,并在OpenJDK (Java SE的參考實現(xiàn)項目)中實現(xiàn)困曙。

重點關(guān)注一些或?qū)⒃贘ava 9整個生命周期中表伦,對開發(fā)者的工作生活影響最大的JEP慷丽,包括新的HTTP/2支持和JShell REPL(讀取-求值-打印-循環(huán)),后者帶來了基于shell的交互式Java開發(fā)環(huán)境和探索性開發(fā)API盈魁。

7 ?簡化你的Java代碼,讓工作更高效

相比于其他程序設(shè)計語言杨耙,Java語言的冗長已經(jīng)名聲在外。其主要原因是由于程序開發(fā)社區(qū)中所形成的慣例珊膜,在完成任務(wù)時,很多情況下车柠,要更大程度地考慮描述性和控制。例如竹祷,長期來看,長變量名會讓大型代碼庫的可讀性和可維護(hù)性更強(qiáng)塑陵。描述性的類名通常會映射為文件名,在向已有系統(tǒng)中增加新功能時令花,會顯得很清晰。

如果能夠一直堅持下去兼都,描述性名稱可以極大簡化用于表明應(yīng)用中某一特定的功能的文本搜索。這些實踐讓Java在大型復(fù)雜代碼庫的大規(guī)模實現(xiàn)中取得了極大的成功扮碧。

8 ?你的Java日志,有沒有用這些改進(jìn)辦法

在任何系統(tǒng)中,日志都是非常重要的組成部分尤揣,它是反映系統(tǒng)運行情況的重要依據(jù)搔啊,也是排查問題時的必要線索北戏。絕大多數(shù)人都認(rèn)可日志的重要性漫蛔,但是又有多少人仔細(xì)想過該怎么打日志,日志對性能的影響究竟有多大呢莽龟?今天就讓我們來聊聊Java日志性能那些事。

9 ?Java NIO通信框架在電信領(lǐng)域的實踐

從廣義上看電信軟件的范圍非常廣毯盈,細(xì)分實際可以分為兩大類:系統(tǒng)軟件和業(yè)務(wù)應(yīng)用軟件。

系統(tǒng)軟件包括路由器底層的信令機(jī)軟件搂赋、手機(jī)操作系統(tǒng)等,業(yè)務(wù)應(yīng)用軟件主要包括客戶關(guān)系管理CRM脑奠、網(wǎng)上營業(yè)廳、融合計費OCS和各類消息網(wǎng)關(guān)宋欺,例如短信網(wǎng)關(guān)、彩信網(wǎng)關(guān)等齿诞。

本文重點介紹電信業(yè)務(wù)應(yīng)用軟件的技術(shù)變遷歷史,以及華為電信軟件架構(gòu)演進(jìn)和Java NIO框架在技術(shù)變遷中起到的關(guān)鍵作用祷杈。

10 ?寫代碼這回事兒,架構(gòu)師你可以說不嗎吠式?

要讓一個成功的架構(gòu)得以實現(xiàn),架構(gòu)師必須要在整個生命周期始終保持與交付團(tuán)隊的緊密合作特占。保持緊密合作能夠促進(jìn)架構(gòu)層面的快速反饋循環(huán)糙置。并且還能夠為架構(gòu)師提供更多的與團(tuán)隊交流架構(gòu)愿景和領(lǐng)導(dǎo)團(tuán)隊的機(jī)會是目。

架構(gòu)師除了可以參與到實際的編碼工作中之外,還有許多其他的方式可以參與到交付團(tuán)隊中,例如結(jié)對編程和同行評審亡容。相反,某些參與方式有可能會對團(tuán)隊造成負(fù)面影響闺兢,例如接管交付、不允許團(tuán)隊自組織或者采用集體所有制戏罢。是為了避免“象牙塔”架構(gòu)師的角色——只在項目最初發(fā)布架構(gòu),然后就再也不見蹤影龟糕。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市讲岁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缓艳,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郎任,死亡現(xiàn)場離奇詭異秧耗,居然都是意外死亡分井,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門尺锚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惜浅,“玉大人,你說我怎么就攤上這事坛悉》パ幔” “怎么了裸影?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵轩猩,是天一觀的道長荡澎。 經(jīng)常有香客問我,道長摩幔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任鞭铆,我火速辦了婚禮,結(jié)果婚禮上衔彻,老公的妹妹穿的比我還像新娘偷办。我一直安慰自己,他們只是感情好椒涯,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著祖搓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪湖苞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天财骨,我揣著相機(jī)與錄音,去河邊找鬼隆箩。 笑死,一個胖子當(dāng)著我的面吹牛捌臊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播理澎,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼寇荧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起砚亭,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤灯变,失蹤者是張志新(化名)和其女友劉穎捅膘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寻仗,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年署尤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曹体。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖箕别,靈堂內(nèi)的尸體忽然破棺而出铜幽,到底是詐尸還是另有隱情串稀,我是刑警寧澤除抛,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布到忽,位于F島的核電站,受9級特大地震影響清寇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜颗管,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帽馋。 院中可真熱鬧,春花似錦绽族、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赏表。三九已至匈仗,卻和暖如春逢慌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背攻泼。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留忙菠,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓骡男,卻偏偏與公主長得像,于是被迫代替她去往敵國和親洞翩。 傳聞我的和親對象是個殘疾皇子稽犁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

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

  • 1 作為一名Java程序員已亥,我為何不在生產(chǎn)項目中轉(zhuǎn)向GO 自Google在2009年發(fā)布Go語言的第一個正式版之后...
    全棧媛閱讀 1,152評論 1 0
  • 22 歲,對于一個技術(shù)人來說可謂正當(dāng)壯年泥技。但對于一門編程語言來說,情況可能又有不同珊豹。各類編程語言橫空出世,紛戰(zhàn)不休...
    程序員技術(shù)圈閱讀 349評論 0 1
  • 22 歲,對于一個技術(shù)人來說可謂正當(dāng)壯年族壳。但對于一門編程語言來說,情況可能又有不同决侈。各類編程語言橫空出世,紛戰(zhàn)不休...
    南風(fēng)過境jz閱讀 121評論 0 0
  • 22 歲展父,對于一個技術(shù)人來說可謂正當(dāng)壯年。但對于一門編程語言來說栖茉,情況可能又有不同。各類編程語言橫空出世吕漂,紛戰(zhàn)不休...
    Java架構(gòu)學(xué)習(xí)者閱讀 1,499評論 0 11
  • 久違的晴天,家長會惶凝。 家長大會開好到教室時吼虎,離放學(xué)已經(jīng)沒多少時間了苍鲜。班主任說已經(jīng)安排了三個家長分享經(jīng)驗。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,523評論 16 22