一個(gè)Java高級(jí)工程師的進(jìn)階之路

一個(gè)Java高級(jí)工程師的進(jìn)階之路

想必Java新手們都想知道如何成為一個(gè)Java高級(jí)工程師,小編整理了一下Java高級(jí)工程師必須具備的一些專業(yè)技能供大家參考,希望可以幫到大家!

宏觀方面

JAVA

要想成為JAVA(高級(jí))工程師肯定要學(xué)習(xí)JAVA。一般的程序員或許只需知道一些JAVA的語(yǔ)法結(jié)構(gòu)就可以應(yīng)付了。但要成為JAVA(高級(jí))工程師,您要對(duì)JAVA做比較深入的研究。您應(yīng)該多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、線程。如果可能,希望您 對(duì)JAVA的所有包都瀏覽一下,知道大概的API,這樣您就發(fā)現(xiàn)其實(shí)您想實(shí)現(xiàn)的很多功能,通過(guò)JAVA的API都可以實(shí)現(xiàn)了,就不必自己費(fèi)太多的腦經(jīng)了。

設(shè)計(jì)模式

其實(shí)寫(xiě)代碼是很容易的事情,我相信您也有同感。但如何寫(xiě)得好就比較難了。這個(gè)“好”字包括代碼可重用性,可維護(hù)性,可擴(kuò)展性等。如何寫(xiě)出好的代碼往往要借助一些設(shè)計(jì)模式。當(dāng)然長(zhǎng)期的代碼經(jīng)驗(yàn)積累,只要您用心,會(huì)使您形成自己代碼風(fēng)格。相信您的代碼也比較符合代碼的可重用性,可維護(hù)性,可擴(kuò)展性。但既然前人已經(jīng)給我們總結(jié)出了經(jīng)驗(yàn),我們何不踩著前人的肩膀前進(jìn)?

XML

現(xiàn)在的系統(tǒng)中不使用XML幾乎是不可能的。XML的功能非常強(qiáng)大,它可以做數(shù)據(jù)轉(zhuǎn)換、做系統(tǒng)的配置、甚至可保存您的系統(tǒng)業(yè)務(wù)數(shù)據(jù)。因此您必須了解XML,包括它的語(yǔ)法,結(jié)構(gòu)。您還需要比較熟練的使用解析XML的一些API,比如JDOM,SAX等,因?yàn)樵谖覀円话愕捻?xiàng)目中,XML往往擔(dān)當(dāng)系統(tǒng)配置 信息的作用,您需要用這些API解析這些配置信息,開(kāi)發(fā)完美的項(xiàng)目。

精通使用一種或兩種框架

像在《如何成為java初級(jí)程序員》中提到的那樣,“框架都會(huì)有許多可重用的代碼,良好的層次關(guān)系和業(yè)務(wù)控制邏輯,基于框架的開(kāi)發(fā)使你可以省出很多的開(kāi)發(fā)成本”。但我這里希望您能精通,更多的是希望您能通過(guò)框架的使用了解框架的思想。這樣您在開(kāi)發(fā)一個(gè)項(xiàng)目時(shí)思路會(huì)開(kāi)闊一些,比如您 會(huì)想到把SQL語(yǔ)句與您的JAVA代碼分開(kāi),再比如您會(huì)考慮把您的業(yè)務(wù)邏輯配置到XML或者數(shù)據(jù)庫(kù)中,這樣整個(gè)項(xiàng)目就很容易擴(kuò)張了。

熟悉主流數(shù)據(jù)庫(kù)

其實(shí)真正比較大的項(xiàng)目都是有人專門做數(shù)據(jù)庫(kù)的,但往往很多項(xiàng)目要求作為(高級(jí))工程師的您也參與數(shù)據(jù)庫(kù)的設(shè)計(jì)以及SQL的編寫(xiě)。所以為了 更好的為國(guó)家做貢獻(xiàn),建議您還是多了解一些主流數(shù)據(jù)庫(kù),比如SQLSERVER,ORACLE,多連接SQL和存儲(chǔ)過(guò)程以及觸發(fā)器。如果您不是“科班”出 身,您還需要補(bǔ)充一些數(shù)據(jù)庫(kù)原理方面的知識(shí)。

精通一種或兩種WEBServer

盡管我再《如何成為java初級(jí)程序員》里講過(guò)它,我還是要強(qiáng)調(diào)您要精通一種或兩種。因?yàn)樽鳛镴AVA工程師,特別時(shí) 想成為高級(jí)JAVA工程師的您,您不可避免地要部署您的項(xiàng)目到WebServer上,而且只有當(dāng)您精通一種WebServer,您才可能最大限度地使用它的資源,這往往可以節(jié)省很多時(shí)間和精力。

UML

我知道您肯定想成為高級(jí)工程師,因此您有必要了解或熟練或精通UML,這取決于您有多大決心想成為高級(jí)工程師和項(xiàng)目經(jīng)理。在比較正規(guī)的開(kāi)發(fā)團(tuán)隊(duì)中,UML是討論項(xiàng)目的交流工具,您要想做一個(gè)軟件工程師,您至少要能看懂,您要想做高級(jí)工程師,您要能通過(guò)它來(lái)描述您對(duì)項(xiàng)目的理解,盡管這不是必須,但卻很重要。

站在高度分析問(wèn)題

這不是一個(gè)知識(shí)點(diǎn),也不是通過(guò)書(shū)本就能學(xué)得到的。只所以提到這一點(diǎn),是因?yàn)槲冶饶€著急,我希望您更快的成為一個(gè)高級(jí)的軟件工程師,而不是一個(gè)一般的軟件工程師。希望您在工作中多向您的系統(tǒng)分析員、需求分析員、系統(tǒng)設(shè)計(jì)員學(xué)習(xí),多站在他們角度上去看您在開(kāi)發(fā)的項(xiàng)目。在最好在項(xiàng)目之初先在 您的腦海里對(duì)項(xiàng)目有個(gè)大致的分析、設(shè)計(jì),然后和他們進(jìn)行比較,找找差別,想想缺點(diǎn)。

工具

與在《如何成為java初級(jí)程序員》里提到的不同,您在這個(gè)階段可能接觸到不同的工具了,盡管您還需要使用JB或者IDEA,但能可能對(duì)ROSE,Together要多了解一些,因?yàn)槟?huà)UML了。不要再對(duì)Dreamweaver等HTML編輯器情有獨(dú)鐘了,那些JSP頁(yè)面讓初級(jí)程序員 去寫(xiě)吧

微觀方面

1.Core Java部分

這是最基礎(chǔ)的,對(duì)于一個(gè)java高級(jí)開(kāi)發(fā)/設(shè)計(jì)人員,你需要對(duì)這一部分達(dá)到精通的水平,重點(diǎn)內(nèi)容如下:

a.面向?qū)ο缶幊趟枷?封裝繼承多態(tài)接口)

b.字符串處理

c.java.lang包,java.util包等常用包

d.java異常處理

2.Java高級(jí)部分

a.Java I/O流

b.Java多線程技術(shù)

c.Java網(wǎng)絡(luò)編程

d.Java Swing

后兩項(xiàng)可以了解即可,如果項(xiàng)目需要可以深入研究

3.前端基本技能

* HTML + CSS網(wǎng)頁(yè)開(kāi)發(fā)

* JavaScript

* Jquery

*瀏覽器兼容性CSS hack(了解)4.熟練使用JSP + Servlet進(jìn)行開(kāi)發(fā)

5.MVC設(shè)計(jì)模式,原理,以及相關(guān)框架,如Struts

6.SSH框架

7.緩存技術(shù)session & cookie

8.熟練使用一種以上Java開(kāi)發(fā)工具(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)9.熟練使用XML

JDOM w3c.dom SAX

10.Java設(shè)計(jì)模式

工廠模式,單例模式==

11.Java反射機(jī)制

反射的各種用法

12.了解或熟悉C, C++, .NET

13.熟悉JDK的配置,環(huán)境變量

14.數(shù)據(jù)庫(kù)oracle必學(xué),其他最好了解一種以上(mysql,sql server,access==)

oracle:視圖,索引,存儲(chǔ)過(guò)程,觸發(fā)器,游標(biāo),常用函數(shù)==15.數(shù)據(jù)庫(kù)原理

事務(wù)的原理,鎖機(jī)制,表連接,復(fù)雜查詢語(yǔ)句(工作經(jīng)驗(yàn)),性能調(diào)優(yōu),鎖表以及解決方案==16.JDBC,連接池

17.Ajax,反向Ajax

18.HTTP協(xié)議,request和response的原理,HTTP status(了解常用的),Https原理

19.熟悉Linux基本命令,使用過(guò)Linux/Unix系統(tǒng),可以編寫(xiě)shell腳本,可以在Linux上部署項(xiàng)目

20.了解windows系統(tǒng)批處理腳本bat

21.了解HTML5,最好學(xué)習(xí)過(guò)

22.熟悉一種JS框架,如Prototype

23.J2EE原理 熟悉一種以上web容器如Tomcat,JBoss,websphere,weblogic==

24.熟悉ant或maven

25.熟悉一門腳本語(yǔ)言,如python ,ruby

26.了解php/ asp

27.了解ftp協(xié)議及原理

28.熟練使用Junit測(cè)試,熟悉Mockito等測(cè)試工具

29.熟悉javac,javadoc,native,native2ascii等常用命令

30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究過(guò)一些的算法。

31.了解Flex(不學(xué)也沒(méi)關(guān)系)

32.了解敏捷開(kāi)發(fā)模式

33.工作流workflow至少用過(guò)一種,如OSworkflow,了解原理

34.使用過(guò)VPN了解其原理

35.熟悉jstl表達(dá)式和el表達(dá)式

36.熟悉webservice,WSDL,SOAP

37.圖片處理,如圖片上傳,預(yù)覽,限制大小等

38.版本控制工具,CVS VSS SVN

39,JSON技術(shù),JSON+AJAX

40.分頁(yè)技術(shù),最好自己實(shí)現(xiàn)過(guò)不僅僅是用過(guò)要知道原理

41.Java Mail

42.Java讀寫(xiě)txt,excel,JXL技術(shù)

43.JVM原理,JVM內(nèi)存管理,GC,Java堆棧池

44.熟練使用下面的工具:

office辦公軟件,word,excel,ppt等

plsql,sqldevelop數(shù)據(jù)庫(kù)開(kāi)發(fā)工具

outlook大公司都用

ue編輯器

瀏覽器控制臺(tái),調(diào)試

SHH/PUTTY遠(yuǎn)程

45.UML建模工具Rational Rose等

46.使用log4j

47.使用過(guò)開(kāi)放Api如百度,騰訊街景,新浪微博等

48.頁(yè)面靜態(tài)化技術(shù)(偽靜態(tài)頁(yè)面)

49.報(bào)表技術(shù),使用過(guò)報(bào)表制作工具,如水晶易表。

50.定時(shí)任務(wù),如Spring batch ,學(xué)會(huì)自定義batch任務(wù)(不適用第三方工具)

51.了解uuid

52.b/s和c/s架構(gòu)

53.正則表達(dá)式

54.了解jndi jms

55.ERP

56.UNICODE編碼,亂碼解決

57.開(kāi)源網(wǎng)絡(luò)編輯器,如ckEditor

58.二進(jìn)制原理

59.使用過(guò),了解過(guò)開(kāi)源論壇框架,如discuzz

60.GWT,Closure框架

61.了解大數(shù)據(jù),云計(jì)算

62.搜索引擎搜索技術(shù)

63.軟件工程,項(xiàng)目管理

想學(xué)習(xí)交流Java更多信息,請(qǐng)加QQ群543427910

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • [一個(gè)java高級(jí)工程師的進(jìn)階之路] 來(lái)源:http://www.cnblogs.com/shirui/p/513...
    Devid閱讀 6,537評(píng)論 1 23
  • 宏觀方面 一、 JAVA。要想成為JAVA(高級(jí))工程師肯定要學(xué)習(xí)JAVA。一般的程序員或許只需知道一些JAVA的...
    Java架構(gòu)師Carl閱讀 1,285評(píng)論 2 12
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,954評(píng)論 25 709
  • 昨天來(lái)番禺,見(jiàn)到廷圣。不知道為什么我忽然說(shuō)起澤楷,然而欲言又止。最后在他的追問(wèn)之下,我才覺(jué)察到我是怕談起他。因?yàn)樯?..
    馬田教練閱讀 165評(píng)論 0 1
  • 今天晚上請(qǐng)他們?nèi)ネ饷娉燥?,吃完飯后,大姐答?yīng)洋洋送他玩具,帶他去大潤(rùn)發(fā)買玩具,我讓洋洋買拼插玩具,洋洋要求買了個(gè)變...
    王翠英閱讀 164評(píng)論 0 0

友情鏈接更多精彩內(nèi)容