Java開發(fā)工程師成長(zhǎng)路線

理論階段

在具體談?wù)揓ava知識(shí)點(diǎn)之前象浑,我想先跟同學(xué)們聊聊Java 語(yǔ)言自身的一些特點(diǎn)荷鼠、生態(tài)系統(tǒng)以及適用的場(chǎng)景句携,這有助于我們更好的學(xué)習(xí)語(yǔ)言本身。

首先允乐,我們從Java 語(yǔ)言自身的實(shí)現(xiàn)機(jī)制來聊聊Java 語(yǔ)言的一些特性:

面向?qū)ο螅?/b>Java 是一門面向?qū)ο蟮木幊陶Z(yǔ)言矮嫉,封裝、繼承牍疏、多態(tài)這些特性使得Java 語(yǔ)言適用于大型軟件系統(tǒng)的研發(fā)蠢笋。

跨平臺(tái):這是Java 最重要的特性之一,由于有虛擬機(jī)的支持麸澜,Java 代碼可以無縫運(yùn)行在任何操作系統(tǒng)中,無需重新編譯奏黑;

透明內(nèi)存管理:做C/C++的同學(xué)最頭疼的事情就是內(nèi)存泄漏問題炊邦,在Java中编矾,由于虛擬機(jī)會(huì)自動(dòng)回收不再使用的內(nèi)存空間,所以程序員無需顯式回收內(nèi)存馁害。

足夠的性能:性能一直是Java為人詬病的問題之一窄俏,但是在java6 之后,隨著JVM虛擬機(jī)編譯優(yōu)化技術(shù)的不斷進(jìn)步碘菜,垃圾回收算法的不斷優(yōu)化凹蜈,Java的性能已經(jīng)能夠勝任絕大多數(shù)系統(tǒng)的要求,甚至在性能要求極為苛刻的底層系統(tǒng)中忍啸,我們也能看到Java的身影仰坦。

此外,Java 還有完善的生態(tài)系統(tǒng):

Java 擁有數(shù)量眾多的第三方類庫(kù)计雌,作為一個(gè)開發(fā)者悄晃,你會(huì)發(fā)現(xiàn)作為一名Java程序員是一件很幸福的事情,因?yàn)楹芏嗍虑閯e人都已經(jīng)幫你做好了凿滤,你需要做的只是把別人造好的輪子組裝起來妈橄,實(shí)現(xiàn)你的業(yè)務(wù)需求。

Java 擁有非常完善的開發(fā)環(huán)境Eclipse翁脆,集成了非常多實(shí)用的功能眷蚓,且操作界面非常友好。

Java 有非常多優(yōu)秀的框架反番,基于這些框架沙热,可以快速開發(fā)出一個(gè)可擴(kuò)展的業(yè)務(wù)系統(tǒng)。

Java 擁有非程窨冢活躍的社區(qū)和論壇校读,當(dāng)你遇到問題的時(shí)候,你可以快速的得到其他人的幫助祖能。

介紹了Java 的這些優(yōu)勢(shì)歉秫,Java 到底適用在哪些系統(tǒng)研發(fā)中?

——Web系統(tǒng)

——移動(dòng)應(yīng)用服務(wù)端以及安卓客戶端開發(fā)

——中間件系統(tǒng)

——后端系統(tǒng):例如大數(shù)據(jù)相關(guān)系統(tǒng)

在理論學(xué)習(xí)階段养铸,同學(xué)們首先應(yīng)該從Java的基礎(chǔ)語(yǔ)法開始學(xué)習(xí)雁芙,包括變量聲明、條件判斷钞螟、循環(huán)兔甘、函數(shù)編寫。此外鳞滨,還應(yīng)該了解Web相關(guān)的基礎(chǔ)知識(shí)洞焙,例如http 協(xié)議、Web應(yīng)用的B\S架構(gòu)。數(shù)據(jù)庫(kù)是Java 應(yīng)用系統(tǒng)不可或缺的持久化組件澡匪,在理論學(xué)習(xí)階段熔任,需要學(xué)習(xí)SQL語(yǔ)法相關(guān)知識(shí)。這里有兩點(diǎn)小建議:

1. 可以通過完成一些算法題目唁情,來鞏固Java語(yǔ)法學(xué)習(xí)的成果疑苔;

2. 好記性不如爛筆頭:多做筆記,勤練習(xí)甸鸟;

開發(fā)階段

經(jīng)過理論階段的學(xué)習(xí)惦费,你應(yīng)該已經(jīng)掌握了Java 基礎(chǔ)知識(shí)。進(jìn)入開發(fā)階段抢韭,則需要掌握在日常實(shí)際Java項(xiàng)目開發(fā)過程中需要用到的一些技能薪贫。

首先工欲善其事,必先利其器篮绰,所以首先要熟練掌握J(rèn)ava的常用開發(fā)工具和開發(fā)環(huán)境后雷。

Maven是目前大型公司常用的Java 夾包管理軟件,可以幫助開發(fā)者解決Java 夾包之間的依賴和版本管理吠各。

Git作為代碼倉(cāng)庫(kù)管理軟件臀突,可以幫助我們實(shí)現(xiàn)代碼版本、分支管理贾漏。

Ecplise是目前Java使用最廣泛的開發(fā)環(huán)境候学,它集成了Maven、Git這些常用的插件纵散。

其次梳码,知識(shí)學(xué)習(xí)方面,需要掌握面向?qū)ο蟮南嚓P(guān)知識(shí)伍掀,例如類和對(duì)象的定義方法掰茶、如何實(shí)現(xiàn)對(duì)象的繼承、如何基于接口實(shí)現(xiàn)多態(tài)等蜜笤;Java 容器在開發(fā)過程中也使用非常頻繁濒蒋,包括List、Set把兔、Map等沪伙,最好能夠了解每種容器的實(shí)現(xiàn)機(jī)制以及適用場(chǎng)景。Web 方面县好,同學(xué)們需要掌握Servlet編程围橡,包括Servlt config、context編寫缕贡;數(shù)據(jù)庫(kù)方面翁授,同學(xué)們需要掌握J(rèn)DBC拣播,能夠基于JDBC實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增、刪收擦、改诫尽、查。

最后炬守,聊聊這個(gè)階段的學(xué)習(xí)容易出現(xiàn)的誤區(qū):

l? 不要嘗試一次性通過編譯,遇到編譯錯(cuò)誤剂跟,很多同學(xué)會(huì)很焦躁减途,實(shí)際上錯(cuò)誤之間有依賴,解決一個(gè)錯(cuò)誤曹洽,可能后面的錯(cuò)誤就會(huì)自動(dòng)解除鳍置,千萬不要被大量的錯(cuò)誤嚇倒。

l? 不要copy代碼送淆,我覺得程序員一個(gè)非常不好的習(xí)慣就是拷貝代碼税产,尤其在入門階段,多嘗試親手敲代碼偷崩。

l? 注意編程規(guī)范:同學(xué)們要從代碼學(xué)習(xí)開始辟拷,就注意編程規(guī)范,例如變量名定義規(guī)則阐斜、函數(shù)名定義規(guī)則衫冻,養(yǎng)成良好的編程習(xí)慣。

進(jìn)階階段

掌握了基本的開發(fā)技能谒出,進(jìn)階階段則主要鍛煉開發(fā)者在實(shí)際典型業(yè)務(wù)場(chǎng)景下隅俘,提高開發(fā)效率,解決實(shí)際問題的能力笤喳。

Web基礎(chǔ)方面为居,要掌握Cookies和Session、轉(zhuǎn)發(fā)和重定向杀狡、過濾器蒙畴、監(jiān)聽器的相關(guān)知識(shí);

數(shù)據(jù)庫(kù)方面捣卤,要學(xué)習(xí)數(shù)據(jù)庫(kù)連接池的使用方法忍抽,為什么要使用數(shù)據(jù)庫(kù)連接池以及數(shù)據(jù)庫(kù)死鎖、數(shù)據(jù)庫(kù)SQL 注入相關(guān)概念董朝。

Java 語(yǔ)言方面鸠项,要開始學(xué)習(xí)Java 應(yīng)用框架,例如mybatis子姜、Spting祟绊,這些框架可以幫助我們更加高效的構(gòu)建Java 工程楼入。在框架學(xué)習(xí)過程中,我認(rèn)為不僅要學(xué)習(xí)如何基于框架開發(fā)系統(tǒng)牧抽,更要注重框架自身設(shè)計(jì)思想嘉熊,這對(duì)于開發(fā)者提升自己的代碼架構(gòu)能力是非常有幫助的。

在進(jìn)階階段扬舒,要注意以下內(nèi)容:

l以問題為導(dǎo)向:Java 知識(shí)繁雜阐肤,以問題為導(dǎo)向,作為切入點(diǎn)讲坎,能夠提高Java 學(xué)習(xí)的效率孕惜;

l特定場(chǎng)景下的需求解決:每一種架構(gòu)都有典型的應(yīng)用場(chǎng)景,要結(jié)合實(shí)際應(yīng)用場(chǎng)景去分析和解決問題晨炕;

l利用google:作為一名程序員衫画,遇到未知問題是很正常的事情,關(guān)鍵利用好google瓮栗,社區(qū)削罩、論壇;

l性能的持續(xù)改進(jìn)和優(yōu)化:在進(jìn)階階段费奸,同學(xué)們應(yīng)該要具備基本的性能調(diào)優(yōu)能力弥激,關(guān)注性能管理;

實(shí)戰(zhàn)階段

計(jì)算機(jī)編程是一個(gè)非常注重實(shí)戰(zhàn)的領(lǐng)域愿阐,在Java學(xué)習(xí)過程中秆撮,必須要有一個(gè)實(shí)戰(zhàn)項(xiàng)目,來幫助大家鞏固之前的學(xué)習(xí)成果换况,這對(duì)于后續(xù)快速上手公司的實(shí)際業(yè)務(wù)有非常大的幫助职辨。

你可以借助一些云平臺(tái),來熟悉環(huán)境搭建部署的過程戈二。建議大家學(xué)習(xí)Docker的相關(guān)技術(shù)舒裤,微服務(wù)是目前系統(tǒng)設(shè)計(jì)中比較流行的架構(gòu),借助Docker快速部署觉吭、服務(wù)發(fā)現(xiàn)腾供、服務(wù)編排的特性,可以幫助我們實(shí)現(xiàn)系統(tǒng)的快速發(fā)布和彈性擴(kuò)展鲜滩。

在實(shí)戰(zhàn)階段伴鳖,應(yīng)該重點(diǎn)關(guān)注以下幾點(diǎn):

l文檔編寫:編寫詳細(xì)設(shè)計(jì)文檔也是程序員必須具備的一項(xiàng)技能,要學(xué)習(xí)設(shè)計(jì)文檔的編寫格式徙硅,編寫規(guī)范榜聂。

l設(shè)計(jì)模式:同學(xué)們?cè)趯?shí)戰(zhàn)階段,代碼編寫時(shí)要注意設(shè)計(jì)模式嗓蘑,盡可能提高代碼的可讀性须肆、可重復(fù)使用性匿乃。

l邊界條件的校驗(yàn)和處理:在實(shí)際開發(fā)過程中,系統(tǒng)出現(xiàn)最多的問題都集中在邊界條件的校驗(yàn)和處理上豌汇,同學(xué)們?cè)趯?shí)際開發(fā)過程中幢炸,應(yīng)該要有意識(shí)的考慮這些問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拒贱,一起剝皮案震驚了整個(gè)濱河市宛徊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌逻澳,老刑警劉巖岩调,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赡盘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缰揪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門陨享,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钝腺,你說我怎么就攤上這事抛姑。” “怎么了艳狐?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵定硝,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我毫目,道長(zhǎng)蔬啡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任镀虐,我火速辦了婚禮箱蟆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刮便。我一直安慰自己空猜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布恨旱。 她就那樣靜靜地躺著辈毯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搜贤。 梳的紋絲不亂的頭發(fā)上谆沃,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音仪芒,去河邊找鬼管毙。 笑死腿椎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的夭咬。 我是一名探鬼主播啃炸,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼卓舵!你這毒婦竟也來了南用?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤掏湾,失蹤者是張志新(化名)和其女友劉穎裹虫,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡磷雇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年一铅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匣屡。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拇涤,靈堂內(nèi)的尸體忽然破棺而出捣作,到底是詐尸還是另有隱情,我是刑警寧澤鹅士,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布券躁,位于F島的核電站,受9級(jí)特大地震影響掉盅,放射性物質(zhì)發(fā)生泄漏也拜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一趾痘、第九天 我趴在偏房一處隱蔽的房頂上張望搪泳。 院中可真熱鬧,春花似錦扼脐、人聲如沸岸军。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)艰赞。三九已至,卻和暖如春肚吏,著一層夾襖步出監(jiān)牢的瞬間方妖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工罚攀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留党觅,地道東北人雌澄。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像杯瞻,于是被迫代替她去往敵國(guó)和親镐牺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,322評(píng)論 25 707
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法魁莉,類相關(guān)的語(yǔ)法睬涧,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法旗唁,異常的語(yǔ)法畦浓,線程的語(yǔ)...
    子非魚_t_閱讀 31,665評(píng)論 18 399
  • 一無是處,最最擅長(zhǎng)的是逃避~ 最沒有信心和勇氣的時(shí)候检疫,就藏起來讶请,喜歡陰雨,也喜歡暗夜屎媳,這些沉默又蒼白的歲月夺溢,雖然不...
    自由和安閱讀 83評(píng)論 1 0
  • 最近陷入一個(gè)看手機(jī)的怪圈,他的微信环壤,微博都要不停的翻來翻去晒来。和男友不停地拉扯,誰(shuí)也知道這樣不好郑现,可是誰(shuí)也不會(huì)控制自...
    遇見歡喜皆歡喜閱讀 357評(píng)論 0 2
  • 【辟谷日記·第1天】從上午至晚上湃崩,今天的課程老師安排很滿,很充實(shí)接箫。 上午10:26喝了第一次水400毫升攒读,全天不定...
    拈花老夏閱讀 1,546評(píng)論 6 2