有人說,成為一名合格java工程師需要做到面面具到而且要上知天文,下知地理的,現(xiàn)在優(yōu)渡為大家詳細(xì)分析下成為合格java工程師要具體的生存技能;
首先你確定你要進(jìn)入Java開發(fā)?決定學(xué)習(xí)Java是要下很大決心的,因為Java技術(shù)的世界是個無底洞,永遠(yuǎn)也學(xué)不完,不廢話了,我就簡單的說一下自己的看法(偏重Java方面,什么html、css、js這些不在這次的討論之內(nèi),雖然也都需要懂點(diǎn)):
1.Core Java,就是Java基礎(chǔ)、JDK的類庫,很多童鞋都會說,JDK我懂,但是懂還不足夠,知其然還要知其所以然,jdk的源代碼寫的非常好,要經(jīng)常查看,對使用頻繁的類,比如String,集合類(List,Map,Set)等數(shù)據(jù)結(jié)構(gòu)要知道它們的實現(xiàn),不同的集合類有什么區(qū)別,然后才能知道在一個具體的場合下使用哪個集合類更適合、更高效,這些內(nèi)容直接看源代碼就OK了
2.多線程并發(fā)編程,現(xiàn)在并發(fā)幾乎是寫服務(wù)端程序必須的技術(shù),那對Java中的多線程就要有足夠的熟悉,包括對象鎖機(jī)制、synchronized關(guān)鍵字,concurrent包都要非常熟悉,這部分推薦你看看《Java并發(fā)編程實踐》這本書,講解的很詳細(xì)
3.I/O,Socket編程,首先要熟悉java中socket編程,以及I/O包,再深入下去就是Java NIO,再深入下去是操作系統(tǒng)底層的socket實現(xiàn),了解windows和linux中是怎么實現(xiàn)socket的
4.JVM的一些知識,不需要熟悉,但是需要了解,這是Java的本質(zhì),可以說是Java的母體, 了解之后眼界會更寬闊,比如Java內(nèi)存模型(會對理解Java鎖、多線程有幫助)、字節(jié)碼、JVM的模型、各種垃圾收集器以及選擇、JVM的執(zhí)行參數(shù)(優(yōu)化JVM)等等,這些只是在《深入Java虛擬機(jī)》這本書中都有詳盡的解釋,或者去oracle網(wǎng)站上查看具體版本的JVM規(guī)范。
5.一些常用的設(shè)計模式,比如單例、模板方法、代理、適配器等等,以及在Core Java和一些Java框架里的具體場景的實現(xiàn),這個可能需要慢慢積累,先了解有哪些使用場景,見得多了,自己就自然而然會去用。
6.常用數(shù)據(jù)庫(Oracle、Mysql等)、SQL語句以及一般的優(yōu)化
7.JavaWeb開發(fā)的框架,比如spring、ibatis、struts等框架,同樣他們的原理才是最重要的,至少要知道他們的大致原理。
8.其他一些有名的用的比較多的開源框架和包,netty網(wǎng)絡(luò)框架,apache common的N多包,google的Guava等等,也可以經(jīng)常去Github上找一些代碼看看。
暫時想到的就這么多吧,1-4條是Java基礎(chǔ),全部的這些知識沒有一定的時間積累是很難搞懂的,但是了解了之后會對Java有個徹底的了解,5和6是需要學(xué)習(xí)的額外技術(shù),7-8是都是基于1-4條的,正所謂萬變不離其宗,前4條就是Java的靈魂所在,希望能對你有所幫助
9.(補(bǔ)充)學(xué)會使用Git。如果你還在用SVN的話,趕緊投入Git的懷抱吧
-
工程師
+關(guān)注
關(guān)注
59文章
1571瀏覽量
68574 -
JAVA
+關(guān)注
關(guān)注
19文章
2973瀏覽量
104905
發(fā)布評論請先 登錄
相關(guān)推薦
評論