2017已經(jīng)結(jié)束了,這一年的工作經(jīng)驗(yàn)也該做個(gè)總結(jié),順便跟大家分享一下。我認(rèn)為,隨著你工作年限的增長(zhǎng)、對(duì)生活對(duì)生命認(rèn)識(shí)的深入,應(yīng)當(dāng)不斷思考三個(gè)問(wèn)題:
1、我到底適不適合當(dāng)一名程序員?
2、我到底應(yīng)不應(yīng)該一輩子以程序員為職業(yè)?
3、我對(duì)編程到底持有的是一種什么樣的態(tài)度,是夠用就好呢還是不斷研究?
最終,明確自己的職業(yè)規(guī)劃,對(duì)自己的規(guī)劃負(fù)責(zé)并為之努力
關(guān)于專(zhuān)業(yè)技能
寫(xiě)完項(xiàng)目接著寫(xiě)寫(xiě)一名3年工作經(jīng)驗(yàn)的Java程序員應(yīng)該具備的技能,這可能是Java程序員們比較關(guān)心的內(nèi)容。我這里要說(shuō)明一下,以下列舉的內(nèi)容不是都要會(huì)的東西—-但是如果你掌握得越多,最終能得到的評(píng)價(jià)、拿到的薪水勢(shì)必也越高。
基本語(yǔ)法
這包括static、final、transient等關(guān)鍵字的作用,foreach循環(huán)的原理等等
集合
基本上就是List、Map、Set,問(wèn)的是各種實(shí)現(xiàn)類(lèi)的底層實(shí)現(xiàn)原理,實(shí)現(xiàn)類(lèi)的優(yōu)缺點(diǎn)。
設(shè)計(jì)模式
知道常用設(shè)計(jì)模式的優(yōu)缺點(diǎn)。
能畫(huà)出常用設(shè)計(jì)模式的UML圖。
多線(xiàn)程
Thread和Runnable的區(qū)別和聯(lián) 系、多次start一個(gè)線(xiàn)程會(huì)怎么樣、線(xiàn)程有哪些狀態(tài)。
JDK源碼
List、Map、Set實(shí)現(xiàn)類(lèi)的源代碼
ReentrantLock、AQS的源代碼
AtomicInteger的實(shí)現(xiàn)原理,主要能說(shuō)清楚CAS機(jī)制并且AtomicInteger是如何利用CAS機(jī)制實(shí)現(xiàn)的
線(xiàn)程池的實(shí)現(xiàn)原理
Object類(lèi)中的方法以及每個(gè)方法的作用
框架
熟練使用三大框架
數(shù)據(jù)庫(kù)
SQL基礎(chǔ)和SQL優(yōu)化的內(nèi)容
Java虛擬機(jī)
Java虛擬機(jī)的內(nèi)存布局
GC算法及幾種垃圾收集器
類(lèi)加載機(jī)制,也就是雙親委派模型
Java內(nèi)存模型
happens-before規(guī)則
volatile關(guān)鍵字使用規(guī)則
關(guān)于Java行業(yè)前景
據(jù)不完全統(tǒng)計(jì),截至目前(2017.07)為止,中國(guó)Java程序員的數(shù)量已經(jīng)超過(guò)了100萬(wàn)。而且,隨著IT培訓(xùn)業(yè)的持續(xù)發(fā)展和大量的應(yīng)屆畢業(yè)生進(jìn)入社會(huì),Java程序員面臨的競(jìng)爭(zhēng)壓力越來(lái)越大。那么,作為一名Java程序員,怎樣努力才能快速成長(zhǎng)為一名高級(jí)的程序員或者架構(gòu)師,或者說(shuō)一名優(yōu)秀的高級(jí)工程師或架構(gòu)師應(yīng)該有怎樣的技術(shù)知識(shí)體系,這不僅是一個(gè)剛剛踏入職場(chǎng)的初級(jí)程序員,也是工作三五年之后開(kāi)始迷茫的老程序員,都必須要面對(duì)和想明白的問(wèn)題。
下面是一個(gè)免費(fèi)的視頻資料,只要你來(lái)我就讓你免費(fèi)看個(gè)夠:
為了幫助大家少走彎路,我總結(jié)出一個(gè)Java程序員的工作2-5年的系統(tǒng)提升學(xué)習(xí)路線(xiàn):