摘要:提高有了入門(mén)的基礎(chǔ),開(kāi)始自學(xué)當(dāng)時(shí)流行的三大框架和。業(yè)余的時(shí)間,經(jīng)常在上閑逛,看一些博客或開(kāi)源的代碼。
最近有一位小伙伴通過(guò)公眾號(hào)給我留言,
“我參加工作沒(méi)多久,看著圈里的技術(shù)大牛,特別羨慕,也渴望成為技術(shù)大牛,想讓您分享一下從小白到大牛是怎樣練成的,我該如何提高自己”
首先,謝謝這位小伙伴的一直關(guān)注。其次,我并不是大牛,只是早搬了幾年的磚而已,不過(guò)可以分享一下我的Java開(kāi)發(fā)之路。
入門(mén)相信大部分人接觸Java語(yǔ)言的入門(mén)書(shū)籍都是學(xué)校里的規(guī)定教材,這些書(shū)大綱很全,但是缺乏深入的內(nèi)容。談到Java的入門(mén)書(shū)籍,有人可能會(huì)推薦《Java編程思想》,確實(shí)它是一本很經(jīng)典的Java參考書(shū),因?yàn)閮?nèi)容很全,而且很厚重,所以只能作為慢慢細(xì)讀的參考書(shū),不推薦。在校自學(xué)Java用的是網(wǎng)上下載的某培訓(xùn)機(jī)構(gòu)電子書(shū)(不是廣告,只是教材寫(xiě)的很好,不建議去培訓(xùn)),內(nèi)容實(shí)用、有深度,關(guān)鍵是很容易理解,也看了一些配套的視頻教程,如果有需要的朋友可以給我留言,私信給你。Java基礎(chǔ)里,多線程編程是比較重要的一塊,如果想深入的去理解這部分的知識(shí),可以閱讀《Java并發(fā)編程實(shí)踐》。Java入門(mén)階段需要大量的編碼練習(xí),編寫(xiě)一些代碼實(shí)現(xiàn)某些算法、編寫(xiě)一些好玩的代碼、編寫(xiě)一些小的桌面應(yīng)用程,總之就是需要不斷去敲代碼,不能只看不練。
學(xué)校安排的Oracle數(shù)據(jù)庫(kù)專業(yè)課、數(shù)據(jù)結(jié)構(gòu)專業(yè)課,算是學(xué)習(xí)一些基礎(chǔ)的專業(yè)知識(shí)。如果學(xué)習(xí)MySQL數(shù)據(jù)庫(kù),推薦《MySQL必知必會(huì)》,這本書(shū)可以作為入門(mén)書(shū),簡(jiǎn)潔易讀。
自學(xué)HTML、CSS、javascript、jquery、jsp。使用Java結(jié)合數(shù)據(jù)庫(kù)、前端技術(shù)編寫(xiě)幾個(gè)web應(yīng)用,綜合使用所學(xué)習(xí)過(guò)的技能。
提高有了入門(mén)的基礎(chǔ),開(kāi)始自學(xué)當(dāng)時(shí)流行的三大框架SSH和SSI。這些課程大學(xué)里基本不會(huì)開(kāi)設(shè),需要自學(xué),框架的使用需要不斷練習(xí),熟能生巧嘛。買了很多書(shū),但是發(fā)現(xiàn)最好的入門(mén)書(shū)籍還是官方的在線文檔,雖然是英文的,但是還是得硬著頭皮看下去,時(shí)間久了也就習(xí)慣了。這些框架技術(shù)都有官方的快速入門(mén)文檔和深入使用文檔,這些都是最好的一手資料。工作的這幾年,學(xué)習(xí)一門(mén)新的技術(shù),首先都是看官方的快速入門(mén)文檔,了解了或者說(shuō)基本會(huì)使用了,再深入去分析學(xué)習(xí)技術(shù)的原理。
工作之后,有時(shí)為了解決問(wèn)題,發(fā)現(xiàn)技術(shù)僅僅會(huì)使用是不行的,還需要深入學(xué)習(xí)一下它的原理或者實(shí)現(xiàn)機(jī)制。為了搞清Java虛擬機(jī)的實(shí)現(xiàn)機(jī)制,反復(fù)閱讀了《深入理解Java虛擬機(jī)》,閱讀和跟蹤調(diào)試JDK源碼去了解Java技術(shù)體系的原理。為了搞清Spring的內(nèi)部實(shí)現(xiàn)原理,反復(fù)閱讀了Spring的源碼,結(jié)合《Spring源碼深度解析》去理解它的實(shí)現(xiàn)原理,學(xué)習(xí)Spring的代碼是如何編寫(xiě)的這么優(yōu)秀的。為了弄明白Hibernate和Mybatis是如何封裝底層數(shù)據(jù)庫(kù)操作的,閱讀了它們的源代碼。為了弄清楚Struts2是如何實(shí)現(xiàn)請(qǐng)求攔截、過(guò)濾、分發(fā)、封裝響應(yīng),閱讀了Struts2相應(yīng)的源代碼,并嘗試去編寫(xiě)一套MVC框架。這些優(yōu)秀的技術(shù)框架經(jīng)過(guò)了時(shí)間和業(yè)務(wù)的不斷錘煉,集結(jié)了很多優(yōu)秀的設(shè)計(jì)思想,通過(guò)閱讀其源碼,不但可以學(xué)到很多優(yōu)秀的設(shè)計(jì)和編碼方法,還可以知道它們的內(nèi)幕、更好的使用它們,或者是在出現(xiàn)問(wèn)題的時(shí)知道如何去定位問(wèn)題、解決問(wèn)題,推薦閱讀,特別是Spring的源碼和一些JDK中常用類的源碼。
代碼越寫(xiě)越多,就會(huì)不自覺(jué)的關(guān)注代碼的質(zhì)量,不斷思考如何能更好的解決問(wèn)題,業(yè)余時(shí)間看了一些相關(guān)的書(shū)籍修煉一下,如《Java與模式》、《代碼整潔之道》、《Effective Java》、《重構(gòu)改善既有代碼的設(shè)計(jì)》。
隨著接觸的項(xiàng)目越來(lái)越大,業(yè)務(wù)越來(lái)越復(fù)雜,使用到的技術(shù)也就越來(lái)越多、越來(lái)越復(fù)雜。會(huì)涉及到程序性能的優(yōu)化、數(shù)據(jù)庫(kù)的優(yōu)化、腳本的優(yōu)化,一些分布式系統(tǒng)的技術(shù),如分布式緩存、分布式事務(wù)、分布式鎖等這些都需要自己去主動(dòng)學(xué)習(xí)和研究。自學(xué)一些時(shí)下比較火熱的微服務(wù)技術(shù),如Dubbo、Spring cloud等。當(dāng)然,這些技術(shù)也不能停留在會(huì)使用的階段,要知其然知其所以然,了解其原理、學(xué)習(xí)它們的實(shí)現(xiàn)原理,同樣通過(guò)看源碼去學(xué)習(xí),閱讀的同時(shí)不斷思考為什么、如果是我我怎么去實(shí)現(xiàn)。
業(yè)余的時(shí)間,經(jīng)常在github上閑逛,看一些博客或開(kāi)源的代碼。遇到問(wèn)題也會(huì)到stackoverflow上提問(wèn)或找答案,有時(shí)也會(huì)幫忙回答問(wèn)題。
小結(jié)其實(shí)成長(zhǎng)的過(guò)程就是不斷去自學(xué)、自悟、歷練的過(guò)程,抱著好奇心、有恒心的去堅(jiān)持,多問(wèn)、少說(shuō)、多做,像修煉武術(shù)內(nèi)功一樣,一點(diǎn)一滴的去積累學(xué)習(xí),察覺(jué)到新技術(shù)的發(fā)展,果斷的去學(xué)習(xí),并把它消化掉,敢于嘗試。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/67729.html
摘要:編程之道出自美國(guó)一位資深的程序設(shè)計(jì)師之手。大師帶你開(kāi)悟高薪程序員之路編程之道番外篇程序員見(jiàn)禪師我學(xué)了和水仙花數(shù),想自己開(kāi)發(fā)個(gè)操作系統(tǒng),希望大師指點(diǎn)。斧子扔得再啊呀我操程序員去拜訪禪師每次遇到程序,我都心急如焚,特向大師求心靈平靜之道。 編程之道》出自美國(guó)一位資深的程序設(shè)計(jì)師 Geoffrey James 之手。 本文章是為番外篇,哈哈哈,有點(diǎn)兒無(wú)節(jié)操。 大師帶你開(kāi)悟高薪程序員之路——《...
閱讀 3166·2023-04-25 14:15
閱讀 2882·2021-11-04 16:11
閱讀 3442·2021-10-14 09:42
閱讀 508·2019-08-30 15:52
閱讀 2881·2019-08-30 14:03
閱讀 3622·2019-08-30 13:00
閱讀 2165·2019-08-26 11:40
閱讀 3380·2019-08-26 10:25