天天看點

成為一名合格的java工程師

有人說,成為一名合格java工程師需要做到面面具到而且要上知天文,下知地理的,現在優渡為大家詳細分析下成為合格java工程師要具體的生存技能;

  首先你确定你要進入Java開發?決定學習Java是要下很大決心的,因為Java技術的世界是個無底洞,永遠也學不完,不廢話了,我就簡單的說一下自己的看法(偏重Java方面,什麼html、css、js這些不在這次的讨論之内,雖然也都需要懂點):

  1.Core Java,就是Java基礎、JDK的類庫,很多童鞋都會說,JDK我懂,但是懂還不足夠,知其然還要知其是以然,jdk的源代碼寫的非常好,要經常檢視,對使用頻繁的類,比如String,集合類(List,Map,Set)等資料結構要知道它們的實作,不同的集合類有什麼差別,然後才能知道在一個具體的場合下使用哪個集合類更适合、更高效,這些内容直接看源代碼就OK了

  2.多線程并發程式設計,現在并發幾乎是寫服務端程式必須的技術,那對Java中的多線程就要有足夠的熟悉,包括對象鎖機制、synchronized關鍵字,concurrent包都要非常熟悉,這部分推薦你看看《Java并發程式設計實踐》這本書,講解的很詳細

  3.I/O,Socket程式設計,首先要熟悉java中socket程式設計,以及I/O包,再深入下去就是Java NIO,再深入下去是作業系統底層的socket實作,了解windows和linux中是怎麼實作socket的

  4.JVM的一些知識,不需要熟悉,但是需要了解,這是Java的本質,可以說是Java的母體, 了解之後眼界會更寬闊,比如Java記憶體模型(會對了解Java鎖、多線程有幫助)、位元組碼、JVM的模型、各種垃圾收集器以及選擇、JVM的執行參數(優化JVM)等等,這些隻是在《深入Java虛拟機》這本書中都有詳盡的解釋,或者去oracle網站上檢視具體版本的JVM規範.

  5.一些常用的設計模式,比如單例、模闆方法、代理、擴充卡等等,以及在Core Java和一些Java架構裡的具體場景的實作,這個可能需要慢慢積累,先了解有哪些使用場景,見得多了,自己就自然而然會去用。

  6.常用資料庫(Oracle、Mysql等)、SQL語句以及一般的優化

  7.JavaWeb開發的架構,比如spring、ibatis、struts、hibernate等架構,同樣他們的原理才是最重要的,至少要知道他們的大緻原理。

  8.其他一些有名的用的比較多的開源架構和包,netty網絡架構,apache common的N多包,google的Guava等等,也可以經常去Github上找一些代碼看看。

  暫時想到的就這麼多吧,1-4條是Java基礎,全部的這些知識沒有一定的時間積累是很難搞懂的,但是了解了之後會對Java有個徹底的了解,5和6是需要學習的額外技術,7-8是都是基于1-4條的,正所謂萬變不離其宗,前4條就是Java的靈魂所在,希望能對你有所幫助