一個Java高階工程師的進階之路
尚學堂AD 想必Java新手們都想知道如何成為一個Java高階工程師,小編整理了一下Java高階工程師必須具備的一些專業技能供大家參考,希望可以幫到大家!
巨集觀方面
JAVA
要想成為JAVA(高階)工程師肯定要學習JAVA。一般的程式設計師或許只需知道一些JAVA的語法結構就可以應付了。但要成為JAVA(高階)工程師,您要對JAVA做比較深入的研究。您應該多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、執行緒。如果可能,希望您 對JAVA的所有包都瀏覽一下,知道大概的API,這樣您就發現其實您想實現的很多功能,通過JAVA的API都可以實現了,就不必自己費太多的腦經了。
設計模式
其實寫程式碼是很容易的事情,我相信您也有同感。但如何寫得好就比較難了。這個“好”字包括程式碼可重用性,可維護性,可擴充套件性等。如何寫出好的程式碼往往要藉助一些設計模式。當然長期的程式碼經驗積累,只要您用心,會使您形成自己程式碼風格。相信您的程式碼也比較符合程式碼的可重用性,可維護性,可擴充套件性。但既然前人已經給我們總結出了經驗,我們何不踩著前人的肩膀前進?
XML
現在的系統中不使用XML幾乎是不可能的。XML的功能非常強大,它可以做資料轉換、做系統的配置、甚至可儲存您的系統業務資料。因此您必須瞭解XML,包括它的語法,結構。您還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因為在我們一般的專案中,XML往往擔當系統配置 資訊的作用,您需要用這些API解析這些配置資訊,開發完美的專案。
精通使用一種或兩種框架
像在《如何成為java初級程式設計師》中提到的那樣,“框架都會有許多可重用的程式碼,良好的層次關係和業務控制邏輯,基於框架的開發使你可以省出很多的開發成本”。但我這裡希望您能精通,更多的是希望您能通過框架的使用瞭解框架的思想。這樣您在開發一個專案時思路會開闊一些,比如您 會想到把SQL語句與您的java程式碼分開,再比如您會考慮把您的業務邏輯配置到XML或者資料庫中,這樣整個專案就很容易擴張了。
熟悉主流資料庫
其實真正比較大的專案都是有人專門做資料庫的,但往往很多專案要求作為(高階)工程師的您也參與資料庫的設計以及SQL的編寫。所以為了 更好的為國家做貢獻,建議您還是多瞭解一些主流資料庫,比如SQLSERVER,ORACLE,多連線SQL和儲存過程以及觸發器。如果您不是“科班”出 身,您還需要補充一些資料庫原理方面的知識。
精通一種或兩種WEBServer
儘管我再《如何成為java初級程式設計師》裡講過它,我還是要強調您要精通一種或兩種。因為作為java工程師,特別時 想成為高階JAVA工程師的您,您不可避免地要部署您的專案到WebServer上,而且只有當您精通一種WebServer,您才可能最大限度地使用它的資源,這往往可以節省很多時間和精力。
UML
我知道您肯定想成為高階工程師,因此您有必要了解或熟練或精通UML,這取決於您有多大決心想成為高階工程師和專案經理。在比較正規的開發團隊中,UML是討論專案的交流工具,您要想做一個軟體工程師,您至少要能看懂,您要想做高階工程師,您要能通過它來描述您對專案的理解,儘管這不是必須,但卻很重要。
站在高度分析問題
這不是一個知識點,也不是通過書本就能學得到的。只所以提到這一點,是因為我比您還著急,我希望您更快的成為一個高階的軟體工程師,而不是一個一般的軟體工程師。希望您在工作中多向您的系統分析員、需求分析員、系統設計員學習,多站在他們角度上去看您在開發的專案。在最好在專案之初先在 您的腦海裡對專案有個大致的分析、設計,然後和他們進行比較,找找差別,想想缺點。
工具
與在《如何成為java初級程式設計師》裡提到的不同,您在這個階段可能接觸到不同的工具了,儘管您還需要使用JB或者IDEA,但能可能對ROSE,Together要多瞭解一些,因為您要畫UML了。不要再對Dreamweaver等HTML編輯器情有獨鍾了,那些JSP頁面讓初級程式設計師 去寫吧
微觀方面
1.Core Java部分
這是最基礎的,對於一個java高階開發/設計人員,你需要對這一部分達到精通的水平,重點內容如下:
a.面向物件程式設計思想(封裝繼承多型介面)
b.字串處理
c.java.lang包,java.util包等常用包
d.java異常處理
2.Java高階部分
a.Java I/O流
b.Java多執行緒技術
c.Java網路程式設計
d.Java Swing
後兩項可以瞭解即可,如果專案需要可以深入研究
3.前端基本技能
* HTML + CSS網頁開發
* JavaScript
* Jquery
*瀏覽器相容性CSS hack(瞭解)4.熟練使用JSP + Servlet進行開發
5.MVC設計模式,原理,以及相關框架,如Struts
6.SSH框架
7.快取技術session & cookie
8.熟練使用一種以上java開發工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)9.熟練使用XML
JDOM w3c.dom SAX
10.Java設計模式
工廠模式,單例模式==
11.Java反射機制
反射的各種用法
12.瞭解或熟悉C, C++, .NET
13.熟悉JDK的配置,環境變數
14.資料庫oracle必學,其他最好了解一種以上(mysql,sql server,access==)
oracle:檢視,索引,儲存過程,觸發器,遊標,常用函式==15.資料庫原理
事務的原理,鎖機制,表連線,複雜查詢語句(工作經驗),效能調優,鎖表以及解決方案==16.JDBC,連線池
17.Ajax,反向Ajax
18.HTTP協議,request和response的原理,HTTP status(瞭解常用的),Https原理
19.熟悉Linux基本命令,使用過Linux/Unix系統,可以編寫shell指令碼,可以在Linux上部署專案
20.瞭解windows系統批處理指令碼bat
21.瞭解HTML5,最好學習過
22.熟悉一種JS框架,如Prototype
23.J2EE原理 熟悉一種以上web容器如Tomcat,JBoss,websphere,weblogic==
24.熟悉ant或maven
25.熟悉一門指令碼語言,如python ,ruby
26.瞭解php/ asp
27.瞭解ftp協議及原理
28.熟練使用Junit測試,熟悉Mockito等測試工具
29.熟悉javac,javadoc,native,native2ascii等常用命令
30.熟悉常用的排序演算法,如氣泡排序,快速排序等,最好自己研究過一些的演算法。
31.瞭解Flex(不學也沒關係)
32.瞭解敏捷開發模式
33.工作流workflow至少用過一種,如OSworkflow,瞭解原理
34.使用過VPN瞭解其原理
35.熟悉jstl表示式和el表示式
36.熟悉webservice,WSDL,SOAP
37.圖片處理,如圖片上傳,預覽,限制大小等
38.版本控制工具,CVS VSS SVN
39,JSON技術,JSON+AJAX
40.分頁技術,最好自己實現過不僅僅是用過要知道原理
41.Java Mail
42.Java讀寫txt,excel,JXL技術
43.JVM原理,JVM記憶體管理,GC,Java堆疊池
44.熟練使用下面的工具:
office辦公軟體,word,excel,ppt等
plsql,sqldevelop資料庫開發工具
outlook大公司都用
ue編輯器
瀏覽器控制檯,除錯
SHH/PUTTY遠端
45.UML建模工具Rational Rose等
46.使用log4j
47.使用過開放Api如百度,騰訊街景,新浪微博等
48.頁面靜態化技術(偽靜態頁面)
49.報表技術,使用過報表製作工具,如水晶易表。
50.定時任務,如Spring batch ,學會自定義batch任務(不適用第三方工具)
51.瞭解uuid
52.b/s和c/s架構
53.正則表示式
54.瞭解jndi jms
55.ERP
56.UNICODE編碼,亂碼解決
57.開源網路編輯器,如ckEditor
58.二進位制原理
59.使用過,瞭解過開源論壇框架,如discuzz
60.GWT,Closure框架
61.瞭解大資料,雲端計算
62.搜尋引擎搜尋技術
63.軟體工程,專案管理
1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的可以加群。
2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加群。
3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加群。
4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加群。
5.群號
581290258 Java高階開發
6.阿里Java高階大牛直播講解知識點,分享知識,上面五大專題都是各位老師多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!