很多人想自學(xué)Java但苦于找不到途徑入門,接下來(lái)小編給大家分享一位自學(xué)Java成功入職的程序員,他的寶貴經(jīng)驗(yàn)也許可以幫到大家,另附上為新手規(guī)劃的學(xué)習(xí)路線:
1.CoreJava,就是Java基礎(chǔ)、JDK的類庫(kù),很多童鞋都會(huì)說(shuō),JDK我懂,但是懂還不足夠,知其然還要知其所以然,JDK的源代碼寫(xiě)的非常好,要經(jīng)常查看,對(duì)使用頻繁的類,比如String,集合類(List,Map,Set)等數(shù)據(jù)結(jié)構(gòu)要知道它們的實(shí)現(xiàn),不同的集合類有什么區(qū)別,然后才能知道在一個(gè)具體的場(chǎng)合下使用哪個(gè)集合類更適合、更高效,這些內(nèi)容直接看源代碼就OK了。
2.Java多線程并發(fā)編程,現(xiàn)在并發(fā)幾乎是寫(xiě)服務(wù)端程序必須的技術(shù),那對(duì)Java中的多線程就要有足夠的熟悉,包括對(duì)象鎖機(jī)制、synchronized關(guān)鍵字,concurrent包都要非常熟悉,這部分推薦你看看《Java并發(fā)編程實(shí)踐》這本書(shū),講解的很詳細(xì)。
3.I/O,Socket編程,首先要熟悉Java中Socket編程,以及I/O包,再深入下去就是JavaNIO,再深入下去是操作系統(tǒng)底層的Socket實(shí)現(xiàn),了解Windows和Linux中是怎么實(shí)現(xiàn)socket的。
4.JVM的一些知識(shí),不需要熟悉,但是需要了解,這是Java的本質(zhì),可以說(shuō)是Java的母體,了解之后眼界會(huì)更寬闊,比如Java內(nèi)存模型(會(huì)對(duì)理解Java鎖、多線程有幫助)、字節(jié)碼、JVM的模型、各種垃圾收集器以及選擇、JVM的執(zhí)行參數(shù)(優(yōu)化JVM)等等,這些知識(shí)在《深入Java虛擬機(jī)》這本書(shū)中都有詳盡的解釋,或者去oracle網(wǎng)站上查看具體版本的JVM規(guī)范。學(xué)習(xí)Java都需要掌握什么知識(shí)?
5.一些常用的設(shè)計(jì)模式,比如單例、模板方法、代理、適配器等等,以及在CoreJava和一些Java框架里的具體場(chǎng)景的實(shí)現(xiàn),這個(gè)可能需要慢慢積累,先了解有哪些使用場(chǎng)景,見(jiàn)得多了,自己就自然而然會(huì)去用。
6.常用數(shù)據(jù)庫(kù)(Oracle、MySQL數(shù)據(jù)庫(kù)等)、SQL語(yǔ)句以及一般的優(yōu)化。
7.JavaWeb開(kāi)發(fā)的框架,比如Spring、iBatis等框架,同樣他們的原理才是最重要的,至少要知道他們的大致原理。
8.其他一些有名的用的比較多的開(kāi)源框架和包,Netty網(wǎng)絡(luò)框架,Apachecommon的N多包,Google的Guava等等,也可以經(jīng)常去Github上找一些代碼看看。暫時(shí)想到的就這么多吧,1-4條是Java基礎(chǔ),全部的這些知識(shí)沒(méi)有一定的時(shí)間積累是很難搞懂的,但是了解了之后會(huì)對(duì)Java有個(gè)徹底的了解,5和6是需要學(xué)習(xí)的額外技術(shù),7-8是都是基于1-4條的,正所謂萬(wàn)變不離其宗,前4條就是Java的靈魂所在,希望能對(duì)你有所幫助。
9.學(xué)會(huì)使用Git。如果你還在用SVN的話,趕緊投入Git的懷抱吧
以上就是長(zhǎng)沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“2020年新手入門Java初級(jí)工程師學(xué)習(xí)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java學(xué)習(xí)