請(qǐng)問(wèn)哪位好友有Java的學(xué)習(xí)心得分享一下?
你好,我是胡子哥,結(jié)合我的經(jīng)驗(yàn)給你回答這個(gè)問(wèn)題。
Java是面向?qū)ο蟮囊婚T(mén)語(yǔ)言,目前也是在各大互聯(lián)網(wǎng)行業(yè)和公司主要運(yùn)用的一門(mén)語(yǔ)言。如何學(xué)習(xí)好,給你一下幾點(diǎn)建議:
制定職業(yè)和學(xué)習(xí)目標(biāo)加強(qiáng)基礎(chǔ)知識(shí),熟讀和深入學(xué)習(xí)源碼架構(gòu)思維設(shè)計(jì)與運(yùn)用多向牛人請(qǐng)教,堅(jiān)持寫(xiě)技術(shù)Blog一、制定職業(yè)和學(xué)習(xí)目標(biāo)
你可能會(huì)問(wèn)題為什么只要制定職業(yè)目標(biāo)和學(xué)習(xí)目標(biāo)?有了目標(biāo)就有了方向,有了航行的路線。在你走向遠(yuǎn)方的路上不至于迷茫和焦慮,就像你現(xiàn)在提這個(gè)問(wèn)題一樣,我猜你已經(jīng)迷茫了。有了目標(biāo)你會(huì)進(jìn)步很快,走的很充實(shí)。制定個(gè)人的職業(yè)目標(biāo)和企業(yè)的戰(zhàn)略規(guī)劃是一樣的,企業(yè)在大市場(chǎng)中如果沒(méi)有方向或者戰(zhàn)略制定失誤,想在市場(chǎng)上占領(lǐng)一席之地是很艱難的。到了一定年齡你會(huì)失去了核心競(jìng)爭(zhēng)力,得不償失,后悔莫及。
在前行的路上你要停下來(lái)進(jìn)行深度思考,光靠努力勤奮是不行的為什么要深度思考那?深度思考是為了保障你向正確的方向發(fā)展。努力勤奮是保障你在正確的方向上執(zhí)行到位。建議你想清楚,避免瞎子摸象,在這個(gè)行業(yè)的職業(yè)路線還是比較成熟的,有跡可循。你可以按照下面的方法去想象自己的目標(biāo),如下:
1.未來(lái)三年我要在什么行業(yè)達(dá)到什么樣的目標(biāo)?
2.達(dá)到這個(gè)目標(biāo)需要具備什么樣的能力?
3.目前我處于什么樣的情況?差距在哪里?
4.我應(yīng)該如何做。
為什么要提行業(yè)那,因?yàn)槊總€(gè)行業(yè)的業(yè)務(wù)有很大的不同,從垂直行業(yè)來(lái)說(shuō)你更有核心競(jìng)爭(zhēng)力。
二、加強(qiáng)基礎(chǔ)知識(shí),熟讀和深入學(xué)習(xí)源碼
Java的基礎(chǔ)知識(shí)點(diǎn)博大精深,有了良好的底蘊(yùn)基礎(chǔ),你在解決一些復(fù)雜性的問(wèn)題上會(huì)游刃有余。比如說(shuō)性能優(yōu)化。為什么讓你熟讀和深入學(xué)習(xí)源代碼?源碼涉及的知識(shí)要點(diǎn)還是非常廣泛深入的。源碼當(dāng)中的架構(gòu)設(shè)計(jì)理念和實(shí)現(xiàn)非常優(yōu)美,也覆蓋了很多設(shè)計(jì)模式。比如有類是線程安全的,也有線程不安全的,哪些適用于并發(fā)設(shè)計(jì),哪些不適合,如果你不熟悉,你的代碼可能會(huì)一團(tuán)糟。在Java里面最重要的一塊是多線程并發(fā)編程,一定要重點(diǎn)掌握。熟讀和深度學(xué)習(xí)源碼的相關(guān)知識(shí)對(duì)于未來(lái)實(shí)現(xiàn)中間件架構(gòu)、業(yè)務(wù)架構(gòu)、代碼優(yōu)化、原有組件擴(kuò)展都會(huì)有很大的幫助,這也是未來(lái)發(fā)展的基礎(chǔ)。
需要讀哪些框架的代碼哪?比如Javasdk,Spring,SpringBoot,Mybatis等,Javasdk是最基礎(chǔ)也是最重要的.
三、架構(gòu)思維設(shè)計(jì)與運(yùn)用
架構(gòu)設(shè)計(jì)思維和你的職業(yè)規(guī)劃也是一個(gè)道理,沒(méi)有掌握架構(gòu)設(shè)計(jì)思維的人會(huì)永遠(yuǎn)停留初級(jí)階段。架構(gòu)設(shè)計(jì)為業(yè)務(wù)服務(wù),是為了讓服務(wù)擴(kuò)展性、穩(wěn)定性、可靠性等有良好的支撐,服務(wù)走的更遠(yuǎn),支持更多業(yè)務(wù)的開(kāi)展。整個(gè)系統(tǒng)得不到合理的架構(gòu)設(shè)計(jì)規(guī)劃,隨著業(yè)務(wù)的增長(zhǎng),在不遠(yuǎn)的將來(lái)系統(tǒng)就會(huì)變的臃腫,維護(hù)性差,冗余不可復(fù)用,Bug多,運(yùn)行過(guò)程可能會(huì)導(dǎo)致系統(tǒng)崩潰。如何掌握架構(gòu)設(shè)計(jì)的思維,給你推薦幾本書(shū),架構(gòu)之美、UML和模式應(yīng)用、面向模式的軟件架構(gòu) (一共5卷,每卷都值得讀,分別是模式系統(tǒng)(卷1),并發(fā)和聯(lián)網(wǎng)對(duì)象模式(卷2),資源管理模式(卷3),分布式計(jì)算的模式語(yǔ)言(卷4),模式與模式語(yǔ)言(卷5))、重構(gòu)、設(shè)計(jì)模式、代碼大全。以下是分布式架構(gòu)、微服務(wù)架構(gòu)、性能優(yōu)化的相關(guān)知識(shí)點(diǎn)匯總希望能給你帶來(lái)更多方向和收獲,如圖。四、多向牛人請(qǐng)教,堅(jiān)持寫(xiě)技術(shù)Blog
在工作中和平常的生活中多和牛人交流,他們的經(jīng)驗(yàn)可以說(shuō)讓勝讀十年書(shū)。一定要保持求知若渴虛心若愚的心態(tài)。這樣人家才會(huì)教你。另外你可以到一些技術(shù)網(wǎng)站上去學(xué)習(xí),一般他們都會(huì)有Blog,可以去參考學(xué)習(xí)。學(xué)習(xí)的網(wǎng)站有Github,CDSN,Stackoverflow,iteye(javaeye),infoq,ifeve(并發(fā)編程)等向你推薦下。也可以去多參加一些技術(shù)論壇,在技術(shù)論壇上,一些大公司的人會(huì)針對(duì)成熟的解決方案進(jìn)行分享,同時(shí)也可以交朋友。
另外作為一個(gè)理工科的程序員來(lái)講,可能不愿意去寫(xiě)作。建議養(yǎng)成寫(xiě)作的習(xí)慣,真的很好,知識(shí)的沉淀需要有一個(gè)承載的地方,它可以幫助你進(jìn)一步思考和總結(jié),對(duì)于代碼實(shí)現(xiàn)、架構(gòu)、技術(shù)問(wèn)題的解決能力都會(huì)有一個(gè)質(zhì)的飛躍。當(dāng)你回頭看的時(shí)候,你發(fā)現(xiàn)寫(xiě)B(tài)log真是一件好事情,非常有價(jià)值。
就回答到這里吧,希望能幫到你,覺(jué)得不錯(cuò)的話請(qǐng)給個(gè)贊或評(píng)論。另外還請(qǐng)您點(diǎn)擊關(guān)注,我會(huì)保持更多的內(nèi)容分享,您的助力都是激勵(lì)我前行的動(dòng)力,感謝?!