很多新人不知道從事java開發(fā),具體的發(fā)展路徑是怎么樣的,甚至很多人都不能區(qū)分程序猿和攻城師的區(qū)別。包括不少小白,從事java開發(fā)都半年,甚至1年了,對職業(yè)發(fā)展還沒有清晰的認證。這非常不利于自己的發(fā)展,人要往哪走,首先需要明確的是方向。今天,就給大家揭露一下java開發(fā)從程序猿到CTO的路線圖,以及每個階段需要掌握的技術。
Java程序員
高級特性
反射、泛型、注釋符、自動裝箱和拆箱、枚舉類、可變
參數(shù)、可變返回類型、增強循環(huán)、靜態(tài)導入
核心編程
IO、多線程、實體類、
集合類、正則表達式、
XML和屬性文件
圖形編程
AWT(Java2D/JavaSound/JMF)、Swing、SWT、JFace
網(wǎng)路編程
Applet、Socket/TCP/UDP、NIO、RMI、CORBA
Java語法基礎
類、抽象類、接口、最終類、靜態(tài)類、匿名類、內(nèi)部類、異常類、編碼規(guī)范
Java開發(fā)環(huán)境
JDK、JVM、Eclipse、Linux
Java核心編程技術
Java,設計而又非常精巧的語言。學習Java,須從Java開發(fā)環(huán)境開始,到Java語法,再到Java的核心API。
- Java開發(fā)入門:Java開發(fā)環(huán)境的安裝與使用,包括JDK命令、EclipseIDE、Linux下Java程序的開發(fā)和部署等。
- Java語法基礎:基于JDK和Eclipse環(huán)境,進行Java核心功能開發(fā),掌握Java面向對象的語法構成,包括類、抽象類、接口、最終類、靜態(tài)類、匿名類、內(nèi)部類、異常的編寫。
- Java核心API:基于JDK提供的類庫,掌握三大核心功能:
- Java核心編程:包括Java編程的兩大核心功能——Java輸入/輸出流和多線程,以及常用的輔助類庫——實體類、集合類、正則表達式、XML和屬性文件。
- Java圖形編程:包括Sun的GUI庫AWT(Java2D、JavaSound、JMF)和Swing,IBM和GUI庫SWT和Jface;
- Java網(wǎng)路編程:Applet組件編程,Socket編程,NIO非阻塞Socket編程、RMI和CORBA分布式開發(fā)。
- Java高級特性:掌握JDK1.4、JDK5.0、JDK6.0中的Java高級特性,包括反射、泛型、注釋,以及java高級特性——自動裝箱和拆箱、枚舉類、可變參數(shù)、可變返回類型、增強循環(huán)、靜態(tài)導入等。
JavaEE初級軟件工程師
JSF框架開發(fā)技術
配置文件(頁面導航、后臺Bean)、JSF組件庫(JSF EL語言、HTML標簽、事件處理、)、JSF核心庫(格式轉換、輸入驗證、國際化)
Javaweb核心開發(fā)技術
開發(fā)環(huán)境(Eclipse、Linux)
三大組件(JSP、JavaBean、Servlet)
擴展技術(EL、JSTL、Taglib)
網(wǎng)頁開發(fā)技術
HTML、XML、CSS、JavaScript、AJAX
數(shù)據(jù)庫設計技術 [SQL、MySql、Oracle、SQLServer、JDBC]
Web服務器(Tomcat/Jetty/Resin/JBossWeb)
JavaWeb項目開發(fā)的全過程可以分解為:
網(wǎng)頁開發(fā)+數(shù)據(jù)庫設計——>JavaWeb項目開發(fā),其中,javaWeb由6項基本技術組成:JSP+JavaBean+Servlet+EL+JSTL+Taglib,而JSF正是將這6種技術進行有機結合的技術框架
JavaEE中級軟件工程師
- 四種經(jīng)典架構SSH1、SSI1、SSH2、SSI2
- Struts1表現(xiàn)層框架
- 入門配置、核心組件、標簽庫、國際化、數(shù)據(jù)檢驗、數(shù)據(jù)庫開發(fā)、Sitemesh集成、集成Hibernate/iBATIS
- Struts2表現(xiàn)層框架
- 入門配置、核心組件、標簽庫、國際化、數(shù)據(jù)校驗、Sitemesh集成轉換器、攔截器、集成Hibernate/iBATIS
- Spring業(yè)務層框架
- 入門配置、IoC容器、MVC、標簽庫、國際化、數(shù)據(jù)校驗、數(shù)據(jù)庫開發(fā)
- Hibernate持久層框架
- MySQL、Oracle、SQLServer iBATIS持久層框架
- MySQL、Oracle、SQLServer
- Web服務器(Tomcat/Jetty/Resin/JBossWeb)
Java高級軟件工程師
javaWeb開源技術與框架
工作流、
規(guī)則引擎
搜索引擎、
緩存引擎 、
任務調(diào)度、
身份認證
報表服務、
系統(tǒng)測試、
集群、
負載平衡、
故障轉移
JavaWeb分布式開發(fā)技術
JTA(Java事物管理)
JAAS(Java驗證和授權服務)
JNDI(Java命名和目錄服務)
JavaMail(Java郵件服務)
JMS(java信息服務)
WebService(web服務)
JCA(java連接體系)
JMS(java管理體系)
應用服務器(JBossAS/WebLogic/WebSphere)
JavaEE系統(tǒng)架構師
面向云架構(COA)
COA、SaaS、網(wǎng)格計算、集群計算、分布式計算、云計算
面向資源架構(ROA)
ROA、RESI
面向web服務架構(SOA)
WebService、SOA、SCA、ESB、OSGI、EAI
Java設計模式
創(chuàng)建式模式:抽象工廠/建造者/工廠方法/原型/單例
構造型模式:適配器/橋接/組合/裝飾/外觀/享元/代理
行為型模式:責任鏈/命令/解釋器/迭代子/中介者/備忘錄/觀察者/狀態(tài)/策略/模板方法/訪問者
Java與UML建模
對象圖、用例圖、組件圖、部署圖、序列圖、交互圖、活動圖、正向工程與逆向工程
CTO首席技術官
- 發(fā)展戰(zhàn)略
- 技術總監(jiān)
- 團隊提升
- 團隊建設
- 項目管理
- 產(chǎn)品管理
一般情況下,java的發(fā)展路線是這樣的,當然,具體情況因人而異。比如,有的可能后來轉入產(chǎn)品職位或其他職位了。另外,每個企業(yè)里面java從業(yè)人員的title是不同的。比如,有的企業(yè)有CTO,而有的企業(yè)則只有技術經(jīng)理或技術主任等,叫法不同,但本質和所需掌握的技術大致相同。