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