第一篇:java學習方向
如何學習java(一)最近論壇上看到好幾個朋友都在問,如何學習Java的問題,“我已經學習了J2SE,怎么樣才能轉向J2EE?”,“我看完了Thinking in Java,可以學習J2EE了么?”。于是就有了寫這篇文章的想法,希望能幫助初學者少走一些彎路。也算是對自己幾年來學習Java的一個總結吧。
在開始之前有必要再討論一下J2ME,J2SE,J2EE這些概念。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手機,PDA等等。J2SE,Java 2 Platform,Standard Edition,我們通常所說的JDK(Java Development Kit)包含在此,是J2EE的基礎。J2EE,Java 2 Platform,Enterprise Edition,就是所謂的企業級Java。這些只是從API級別上的劃分,實際上Sun給J2EE的定義是:開發基于組件的多層的企業級應用的規范。也就是為各種不同的技術定義一個Java的規范,使這些不同的技術結合起來,在Java平臺上構建強壯的企業級應用。從這一點來看,J2EE這個概念應該是涵蓋J2ME,J2SE的。比如一個典型的J2EE應用,網上商店,它支持web方式下訂單,也支持手機下訂單。顯然必須用到J2SE,J2ME。所以也就不存在所謂的從J2SE轉向J2EE的問題了,只是后者包含的范圍更廣而已。
來看看Sun給出的J2EE 相關技術主要分為幾大塊。
1.Web Service技術
-Java API for XML Processing(JAXP)
-Java API for XML Registries(JAXR)
-Java API for XML-based RPC(JAX-RPC)
SOAP with Attachments API for Java(SAAJ)
2.組件模型技術(Component Model Technologies)
-Java Servlet
-JavaServer Pages
-JavaServer Faces
-Enterprise JavaBeans
-Java Message Service
J2EE Connector Architecture
3.管理技術(Management Technologies)
-J2EE Deployment Specification
-J2EE Management Specification
-J2EE Client Provisioning
Java Authorization Contract for Containers
4.其他相關技術(Other J2EE Technologies)
-JDBC
-Java Data Objects(JDO)
-CORBA(Java IDL and Java RMI-IIOP)
-JavaMail
-Transactions
如此之多的技術難免使初學者無所適從,望而卻步。即使是一位經驗豐富的J2EE開發者,又有幾個人敢說J2EE相關的技術我都熟練掌握了。不過作為一名普通
J2EE應用程序的開發者來說,我們只需要重點學習其中的一部分技術就可以了,對于其他部分只要做到心中有數,哪天需要用到了知道跑哪里去找到資料就行了。以我個人的觀點,下面這些技術是一般J2EE應用開發人員所必須熟練掌握的。Java Server Page,Java Servlet,Enterprise JavaBean,JDBC,Transactions。還有JAXP等XML相關技術,Java Message Service,Java Mail,JDO等等是最好應該掌握的。其他Management Technologies,Connector Architecture等等主要是給容器提供商中間件提供商參考的,應用開發者不需要怎么關心,等用到了再去學習也不遲。
語言學習篇
首先是J2SE基礎。學習一門新技術,無外乎閱讀和實踐了。而一本好的參考書對于初學者來說顯得格外重要?,F在市面上的 Java書籍可以說是鋪天蓋地,質量也是良莠不齊,令初學者無所適從。所以還是先推薦幾本書籍吧。目前對于Java基礎知識,大家一般都比較推薦兩本書,<
Jetty:
http://jetty.mortbay.org/jetty/
應用服務器常用的有,Jboss:
http://www.tmdps.cn/products/index
Weblogic:
http://www.tmdps.cn/。對于J2EE項目的具體實施,Rod Johnson的<
第二篇:2013年java就業方向
2013年java就業方向 Java就業前景
全球已經步入移動互聯時代,軟件開發成為最緊缺的崗位。根據IDC的統計數字,在所有軟件開發類人才的需求中,對JAVA工程師的需求達到全部需求量的60%~70%。同時,JAVA工程師的薪水相對較高。通常來說,具有3~5年開發經驗的工程師,擁有年薪10萬元是很正常的一個薪酬水平。一年工作經驗java工程師月薪8k,隨經驗的積累工資在不斷提高。
Java就業方向
據《2012中國大學生就業報告》顯示,今年我國共有680萬的畢業生,在就業形勢如此嚴峻的當下,很多畢業生都會在畢業前一年開始選擇學習一門技術,時下最熱門的Java開發課程受到很多同學的熱捧。但是要學習Java,選擇Java培訓班,必須要了解相關信息,java是一個大方向,工作內容也多有不同,許多java工程師也都是經過很長時間的積累往更專業的領域發展,而且隨著技術能力的提升,技術的方向也會越來越窄,所以,提前了解哪個方向更好,就往這些方向發展,避免走彎路。
以下列出Java培訓就業的主流方向,供同學們參考:
Java互聯網方向
Java在互聯網方向的應用非常多,當然這也有更多的細分。目前采用Java開發互聯網網站及應用的IT企業越來越多,這也增加了Java開發工程師的需求。2011年一線城市java網站開發工程師的待遇有較大漲幅,1年經驗的可輕松達到4000-5000,2-3年工作經驗的可達到6000-9000,更有突破1萬的。
Android及手機開發
目前,Android開發工程師已成為3G行業最炙手可熱的崗位之一,初入行平均薪水4000元左右,有1年工作經驗者月薪6000-8000元左右,2-3年工作經驗的月薪可輕松破萬。2015年Android市場份額將達到45.4%,成為全球最大的智能手機操作系統。最近兩年,安卓培訓一路走紅。
Java應用方向
目前Java在許多行業的企業信息應用方面的應用非常多,比如OA、郵箱、股票、金融、考試、物流、醫療、礦山等信息方面的系統。該方向和行業密切相關,所以,這是一個經驗型的發展方向。Java開發者在這方面的需求也非常大,待遇也相當不錯,工資水平與Java互聯網方向的差不多,很容易在一些大型企業就業。Java外包方向
外包可能做的是網站,也可能是一個信息系統,或者是一個智能系統的客戶端等等。外包可能做任何工作,相對與一個大型外包項目,可能需要用到多種技術,java只是其中的一個而已。外包的工作講究速度,需要比較強的溝通和解決問題的能力,待遇也是相當不錯的。
第三篇:Java方向面試個人簡歷
xxx個人簡歷
? 基本情況
姓名:xxx性 別: 男出生年月:1993年3月
現居地:江蘇昆山電 話:xxxx郵 箱:xxxxxx
求職意向:java軟件開發工程師,web開發相關
? 專業技能
?熟悉基于J2EE架構的JAVA編程:J2EE,JSP/Servlet,Hibernate,AJAX,Javascript,xml
?熟悉MVC模式開發Web應用
?熟悉Oracle數據庫,SQL,JDBC,了解PL/SQL,Mysql和SQL Server
?熟悉JAVA應用服務器:Apache Tomcat
?熟練應用Java集成開發環境Eclipse,MyEclipse,NetBeans進行Java軟件開發 ?能夠閱讀書寫英文技術文檔及項目需求文檔,有良好的文檔書寫能力
?善于溝通和交流,能很好的和其他同事協同工作,發揮團隊精神
? 項目經驗
ADSL寬帶運營支撐系統(WOSS)
開發平臺: Eclipse
開發技術:jdbc、corejava、log4j
應用服務器: tomcat
數 據 庫:Oracle10g
某公司ADSL運營支撐系統數據采集子系統,融合Unix、Java、XML技術,包括備份、整合、采集、入庫、網絡、日志模塊。經歷完整軟件開發過程:需求分析、設計、編碼、調試、交付。
ESTORE電子商務購物平臺
開發工具: myEclipse8.6 + jdk1.6 + tomcat6.0 + oracle10g
開發技術: Hibernate+jsp+html+xml+Oracle
項目描述: ESTORE電子商務購物平臺,該系統包括會員信息管理、商品管理、商品查詢、等功能模塊,通過該系統,可以實現商品電子化管理、交易,系統使用
Hibernate、Ajax等企業主流技術。
責任描述: 需求分析,開發編程,測試,說明文檔的編寫。
? 校園經歷
2012年9月——2013年7月
大一有幸進入學生會宣傳部,競選班級組織宣傳委員,組織班級的活動,宣傳老師所要傳達的東西。一周一次的活動,例如拔河比賽,九人十足,等等,還有一年四次大型活動,12.9大合唱,心理情景劇,畢業生晚會等。這些活動的策劃宣傳工作都是我們部門來完成的,其中心理情景劇,是有我們部門主要負責,各個部門之間合作共同完成每個活動,每個活動,有一個具體主辦部門。這些不僅發揮了我的能力,更讓我的能力有了進一步的提高。例如,讓我學會了如何去宣傳和策劃、細心、對應急事件的處理、提高了自己的組織能力,知道了團隊精神的重要性。學習成績優秀,專業前二十名,大一期間一直在兼職補貼自己的生活費,大學期間的手機電腦都是做寒暑假工作自己買的。
2013年7月——2014年1月
大二有幸競選學生會宣傳部副部長,這個職位讓我學會了如何和上級和下級之間去相處。更加提高了我的組織能力,細心,策劃,以及親和力,團隊精神等。下半學期開始接觸秘書長工作,展開學生會賬務管理,活動記錄,會議主持。以及幫助老師辦理一些工作,例如檔案整理,等等。學習成績良好,專業前二十名。畢業了在學生會收獲了很多很多,最重要的是交到了很多好朋友,幾個一輩子的朋友。
? 教育背景&&實習經歷
畢業院校:鄭州輕工業學院專業:軟件技術
學歷:大專
自考本科院校在讀:河南農業大學(不耽誤正常工作)
專業:計算機科學應用技術
實習公司:昆山杰普科技有限公司實訓時間:六個月
? 榮譽獎勵
? 2012年9月——2013年1月
學生會優秀干事優秀班干部
? 2013年3月——2013年7月
校級“我的中國夢”微博大賽二等獎優秀團員
? 2013年9月——2013年1月學生會優秀干部
自我評價
我是一個積極樂觀,細心,具有親和力,心理素質較好的人。擁有扎實的計算機基礎知識和專業技能,實際操作能力強。做事踏實認真,熱情主動,吃苦耐勞,具有很強的責任心和進取心。平時喜歡和他人溝通,善于與人相處,具有良好的團結合作精神,服從管理。希望在不斷的學習和工作中充實和完善自己,更好的把握發展的契機。
? 個人愛好
打羽毛球,閱讀,繪畫,聽音樂,看電影。
第四篇:程序員自學之路——Java方向
程序員自學之路——Java方向
Unix/Linux操作系統
Unix開發環境
Unix操作系統概述、Unix文件系統、Unix的Kernel和Shell、遠程登錄的原理、用戶管理命令、基本文件和目錄操作命令、Unix操作系統的特殊字符、使用vi命令編輯文本文件、使用FTP進行文件傳輸、初始化文件及環境變量的配置、Shell腳本及crontab命令。
熟練掌握Sun Solaris Unix系統基本操作命令,能夠勝任Unix/Linux系統下的Java程序開發和管理工作。
Java SE開發
Java語言基礎
Java SE 6.0核心語法歸納講解,包括Java語言的特點、環境的配置、開發基本命令、類的定義技巧、方法調用過程、對象生成原理與內存分布、標識符、關鍵字和數據類型、運算符和表達式、Java商業運算要點、流程控制語句、Java數組和鏈表等算法和數據結構;同時掌握Eclipse開發工具的使用。
熟練掌握Java核心語法
Java面向對象編程
囊括了Java面向對象的精髓,包括面向對象三大特性——封裝、繼承與多態,各種修飾符在面向對象思想下的綜合運用,抽象類的特點和使用技巧,面向接口編程的思想和實踐,內部類的應用,JDK核心類包括Object、String、Date和Calendar等類的使用和設計思想,正則表達式,自動封箱和解箱,Java異常處理,Java集合框架,泛型的語法和使用等。
熟練掌握Java面向對象思想
Java高級應用
主要研究:中高級軟件工程師的必修利器——Java反射編程,Java圖形開發組件的開發步驟和應用技巧,事件模型的設計理念和應用,Java多線程編程,Java的I/O流,Java網絡編程等。
熟練掌握Java高級編程,這部分是作為高級程序員必須掌握的技術
XML語法與解析
XML(eXtensible Markup Language)的中文名稱是可擴展標記語言,是樹形的概念層次結構,簡而言之它就是一種保存結構化數據的格式。XML作為一種面向內容的描述語言,通過基于樹形數據結構的層次化概念分類體系模型,在很大程度上彌補了HTML作為網絡標準語言在概念層次關系的語義表達上的不足。
主要學習內容:XML的意義、語法結構、XML良構的規范;DTD的意義和語法、使用名稱空間的技巧;Schema的意義、語法,使用Java API解析XML;基于Java DOM和SAX的XML處理技術。
掌握目前最通用的網絡數據格式,并能熟練在商業開發中應用
數據庫編程
Oracle SQL
Oracle公司的Oracle數據庫產品是當今的高端企業級應用的主流產品。我們主要學習:Oracle 10g數據庫原理,SQL語句(DDL、DML、TCL、DCL)的語法,項目中經典SQL語句重現,Oracle數據庫函數包括字符函數、數值函數、日期函數、數據類型轉換函數以及組函數,數據庫的設計,表連接包括等值連接、非等值連接、自連接和外連接,SQL子查詢,Oracle序列對象在項目中的運用,索引及視圖,系統表的應用技巧,Oracle SQL的錯誤排查及調優解決方案。
掌握Oracle數據庫設計、操作和開發
MySQL數據庫
MySQL5.0數據庫的管理和開發要領,掌握MySQL和Oracle數據庫的異同點。掌握MySql數據庫的設計、操作和開發
JDBC編程
JDBC為Java開發者使用數據庫提供了統一的編程接口,使得開發人員可以使用純Java的方式來連接數據庫,并進行操作。學習的主要內容有:JDBC的編程步驟,重要的編程接口,JDBC異常處理,JDBC中使用事務,Batch Updates批量更新,Blob/Clob等新數據類型,JNDI,DataSource,數據庫連接池的管理等。逐步掌握基于JDBC的Oracle,SQLServer,DB2,MySQL等數據庫連接技術。
熟練掌握Java語言對各種數據庫的連接技術
系統分析與設計
軟件開發流程及UML
學習軟件開發過程包括瀑布模型、統一開發過程(USDP),CMMI5級軟件設計規范,掌握統一建模語言UML,掌握軟件的靜態建模和動態建模。掌握面向對象中對象的關系。
掌握軟件開發流程及UML
設計原則與模式
原則和模式是分析設計人員與程序員在開發過程中經驗的總結,學習模式就是獲取經驗。
掌握面向對象的設計原則:“開—閉”原則(OCP)、里氏代換原則(LSP)、依賴倒轉原則(DIP)、接口隔離原則(ISP)、組合/聚合復用原則(CARP)、迪米特法則(LoD)。
掌握主流的設計模式:工廠模式(Factory)、單例模式(Singleton)、觀察者模式
(Observer)、組合模式(Composite)、狀態模式(State)等,以及重要的架構模式:Dao模式、MVC模式。
掌握面向對象的設計原則和模式。區別于激情代碼,重點在于知道軟件為什么要這么做,保證代碼質量,保證科學的開發流程。按照CMM3的標準來設計軟件和管理開發過程。
Web開發基礎
HTML
基于瀏覽器的語言HTML:
了解HTML基本文檔結構、常用的meta,掌握HTML列表和表格基本操作,了解HTTP GET和POST請求及響應的協議格式,掌握表單的基本原理,掌握GET和POST提交方式及其區別,熟練掌握常用表單元素。
掌握企業級應用客戶端頁面技術
CSS
CSS意為層疊樣式表(Cascading Style Sheets)用于定義HTML元素的位置和樣式。CSS樣式定義通常存儲在單獨的文件中, 可以極大提高工作效率。掌握CSS基本語法和CSS選擇器,掌握CSS定位技術,了解CSS內外邊距、邊框等特性。
掌握企業級應用客戶端頁面樣式技術
JavaScript
基于瀏覽器的動態腳本技術JavaScript:
JavaScript 被設計用來向 HTML頁面添加交互行為,是一種被瀏覽器解釋執行的腳本語言。我們可以應用JavaScript來響應事件, 實現復雜交互,驗證數據, 提高系統健壯性,獲取和改變HTML元素及CSS屬性,動態改變頁面外觀,逐步向RIA(Rich Internet Applications)邁進。
掌握JavaScript基本數據類型及其運算,熟練使用數組、日期等,掌握基本的對于頁面元素的操作,掌握Prototype.js的基本方法,掌握HTML DOM模型,Window對象,操作Cookie,定時器等。
掌握企業級應用客戶端動態腳本技術
Java Web開發
Servlet編程
以經典項目BookStore為導向,技術要點的講解深入淺出,并有機地與項目結合,為項目的順利完成服務。
學習要點:Web服務器的安裝和配置,編寫及部署Servlet,讀取請求信息,生成響應信息,維護客戶狀態,過濾請求和響應,監聽器的應用,對持久層資源的訪問,使用包裝器攔截響應,Session與Cookie技術,Servlet互操作,訪問應用上下文,MVC架構模式的思想和運用。
JSP編程
JSP是在Java服務器端運行的頁面,JSP本身就是一個基于文本的文檔,他不僅可以包含靜態的HTML內容,也可以包含動態的Java代碼,服務器容器可以將JSP轉換成Servlet發布,并接受請求,提供響應。
學習內容:JSP的特點、運行原理及執行過程,JSP的腳本元素,JSP指令的分類及詳解,JSP中中常用的動作,JavaBean組件在JSP中的應用,JSP內置對象詳解,JSP異常處理及提高程序健壯性要領,重定向與轉發的本質區別,URL回寫,自定義標簽要領,EL表達式,JSTL核心標簽庫,字符集的處理和國際化。
Web系統架構
著重掌握B/S架構、B/S/A/D架構下的程序設計與開發,深入理解Web MVC架構模式,完成Web應用的調試和部署,動態發布Web應用。
Ajax編程
Ajax(Asynchronous JavaScript and XML)由 HTML、JavaScript技術、DHTML和DOM組成,這一杰出的方式可以將笨拙的Web界面轉化成交互性優越的Ajax應用程序。
主要內容:Ajax技術構成及核心編程,發送請求及處理響應,Ajax數據傳輸格式(純文本、XML及JSON),XMLHttpRequest詳解,Ajax庫及框架介紹。
3G應用:Android開發
Android開發平臺、Eclipse+ADT開發環境、AVD及傳感模擬器調試、Android核心組件、Android常用組件、Android高級組件、文件及網絡訪問、SQLite數據庫編程、后臺服務編程。
Java企業應用開發
Hibernate編程
Hibernate是對象/關系映射(Object/Relation Mapping)的解決方案,是一個可以自動的根據xml配置文件來完成對象關系映射,并持久化到數據庫的開源組件。學員通過學習可以很好地掌握面向對象的數據庫訪問技術和各種數據庫訪問模式。熟練掌握Hibernate3產品在實際項目中的應用技巧,充分理解O-R Mapping產品的內涵和外延。
熟練掌握Hibernate在項目中的開發
Struts開發
Struts是由Apache開源聯盟提供的一套用于構建Java Web應用程序的MVC框架。它的目標是希望分離Web程序的表示層、控制層和模型層,使程序員將更多的精力投入后臺的業務邏輯設計,而不是底層的Web基礎框架,提高了開發效率。Apache Struts1自從推出以來一直深受廣大Web編程者青睞,是到目前為止應用的最廣泛的基于MVC的Web編程框架。Webwork,采用XWork command pattern內核,配合請求處理攔截器(intercepter),成為目前設計的亮點。集Struts1的成熟社區和Webwork的先進、優雅的設計于一身的Struts2框架又將成為未來基于Web開發的MVC框架的領航者。
學習內容:不僅要掌握Struts1的使用,也要學習Struts1的設計思想,并嘗試自己開發核心程序,而且還要掌握Struts2的開發要領。
掌握Struts框架核心技術
Spring開發
Spring的核心是輕量級的容器,它實現了IoC容器、非侵入性的框架,并提供AOP概念的實現方式,提供對持久層(Persistence)、事務(Transaction)的支持,提供MVC Web框架的實現,并對一些常用的企業服務API提供一致的模型封裝,是一個全方位的應用程序框架,我們不僅要領悟和實踐以上內容,而且還將重點掌握Spring對現有框架(Struts、Hibernate等)的整合方案。
掌握應用層框架Spring的設計思想和開發要點
EJB3.0
EJB3.0規范、Weblogic服務器應用、JBoss服務器應用
掌握EJB 3.0規范的基本原理和應用;較為熟練的配置Weblogic和JBoss服務器。
Web服務編程
Web Services是一種使用WSDL、SOAP技術,并使用xml文檔來交換信息的網絡應用程序,通過Web Service技術使原來各孤立的站點之間的信息能夠相互通信、共享。我們要學習Web服務的三個重要角色、掌握Web服務的編程要領。
第五篇:java學習
.如何學習Java?
3.1 Java學習路線
3.1.1 基礎語法及Java原理基礎語法和Java原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習Java也是如此,必須要有扎實的基礎,你才能在J2EE、J2ME領域游刃有余。參加SCJP(SUN公司認證的Java程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎打得很牢靠,它要求你跟JDK一樣熟悉Java基礎知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟件公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得“真正”的SCJP只能證明你的基礎還過得去,但離實際開發還有很長的一段路要走。
3.1.2 OO思想的領悟掌握了基礎語法和Java程序運行原理后,我們就可以用Java語言實現面向對象的思想了。面向對象,是一種方法學;是獨立于語言之外的編程思想;是 CBD基于組件開發的基礎;屬于強勢技術之一。當以后因工作需要轉到別的面向對象語言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。
使用面向對象的思想進行開發的基本過程是: ●調查收集需求?!窠⒂美P汀?/p>
●從用例模型中識別分析類及類與類之間的靜態動態關系,從而建立分析模型?!窦毣治瞿P偷皆O計模型?!裼镁唧w的技術去實現。●測試、部署、總結。
3.1.3 基本API的學習進行軟件開發的時候,并不是什么功能都需要我們去實現,也就是經典名言所說的“不需要重新發明輪子”。我們可以利用現成的類、組件、框架來搭建我們的應用,如SUN公司編寫好了眾多類實現一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調用類中的方法來完成某些功能或繼承它。那么這些類中究竟提供了哪些方法給我們使用?方法的參數個數及類型是?類的構造器需不需要參數?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,Java DOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔?;続PI指的是實現了一些底層功能的類,通用性較強的API,如字符串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查Java DOC文檔(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的代碼提示功能。
3.1.4 特定API的學習Java介入的領域很廣泛,不同的領域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發,那么你需要學習Swing/AWT/SWT等API;如果你進行網絡游戲開發,你需要深入了解網絡API/多媒體API/2D3D等;如果你做WEB開發,就需要熟 悉Servlet等API啦。總之,需要根據工作的需要或你的興趣發展方向去選擇學習特定的API。
3.1.5 開發工具的用法在學習基礎語法與基本的面向對象概念時,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急于上手JBuilder/Eclipse等集成開發環境,以免過于關注IDE的強大功能而分散對Java技術本身的注意力。過了這一階段你就可以開始熟悉 IDE了。程序員日常工作包括很多活動,編輯、編譯及構建、調試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、Eclipse等IDE中已經自動集成編輯器、編譯器、調試器、單元測試工具JUnit、自動構建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向導幫助生成框架代碼,讓我們的開發變得更輕松。應該說IDE發展的趨勢就是集成軟件開發中要用到的幾乎所有工具。從開發效率的角度考慮,使用IDE是必經之路,也是從一個學生到一個職業程序員轉變的里程碑。Java開發使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder 占有的市場份額是最大的。JBuilder在近幾年來一直是Java集成開發環境中的霸主,它是由備受程序員尊敬的Borland公司開發,在硝煙彌漫的 Java IDE大戰中,以其快速的版本更新擊敗IBM的Visual Age for Java等而成就一番偉業。IBM在Visual Age for Java上已經無利可圖之下,干脆將之貢獻給開源社區,成為Eclipse的前身,真所謂“柳暗花明又一村”。浴火重生的Eclipse以其開放式的插件擴展機制、免費開源獲得廣大程序員(包括幾乎所有的骨灰級程序員)的青睞,極具發展潛力。
3.1.6 學習軟件工程 對小型項目而言,你可能認為軟件工程沒太大的必要。隨著項目的復雜性越來越高,軟件工程的必要性才會體現出來。參見“軟件開發學習路線”小節。
3.2學習要點 確立的學習路線之后,我們還需要總結一下Java的學習要點,這些要點在前文多多少少提到過,只是筆者覺得這些地方特別要注意才對它們進行匯總,不要嫌我婆婆媽媽啊。
3.2.1勤查API文檔當程序員編寫好某些類,覺得很有成就感,想把它貢獻給各位苦難的同行。這時候你要使用“Javadoc”工具(包含在JDK中)生成標準的Java DOC文檔,供同行使用。J2SE/J2EE/J2ME的DOC文檔是程序員與程序員交流的工具,幾乎人手一份,除了菜鳥之外。J2SE DOC文檔官方下載地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下載。也可以在線查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。對待DOC文檔要像毛主席語錄,早上起床念一遍,吃飯睡覺前念一遍。當需要某項功能的時候,你應該先查相應的DOC文檔看看有沒有現成的實現,有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現。使用步驟一般如下: ●找特定的包,包一般根據功能組織。●找需要使用類,類命名規范的話我們由類的名字可猜出一二?!襁x擇構造器,大多數使用類的方式是創建對象?!襁x擇你需要的方法。
3.2.2 查書/google->寫代碼測試->查看源代碼->請教別人 當我們遇到問題的時候該如何解決?這時候不要急著問別人,太簡單的問題,沒經過思考的問題,別人會因此而瞧不起你??梢韵日艺視?,到google中搜一下看看,絕大部分問題基本就解決了。而像“某些類/方法如何使用的問題”,DOC文檔就是答案。對某些知識點有疑惑是,寫代碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看 API的源代碼驗證你的想法。萬不得已才去請教別人。
3.2.3學習開源軟件的設計思想 Java領域有許多源代碼開放的工具、組件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領會其中的設計思想,有朝一日說不定你也能寫一個XXX框架什么的,風光一把。分析開源軟件其實是你提高技術、提高實戰能力的便捷方法。
3.2.4 規范的重要性 沒有規矩,不成方圓。這里的規范有兩層含義。第一層含義是技術規范,多到http://www.tmdps.cn下載JSRXXX規范,多讀規范,這是最權威準確最新的教材。第二層含義是編程規范,如果你使用了大量的獨特算法,富有個性的變量及方法的命名方式;同時,沒給程序作注釋,以顯示你的編程功底是多么的深厚。這樣的代碼別人看起來像天書,要理解談何容易,更不用說維護了,必然會被無情地掃入垃圾堆。Java編碼規范到此查看或下載http://Java.sun.com/docs/codeconv/,中文的也有,啊,還要問我在哪,請參考3.2.2節。
3.2.5 不局限于Java 很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑郁癥。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心愿。Java不要孤立地去學習,需要綜合學習數據結構、OOP、軟件工程、UML、網絡編程、數據庫技術等知識,用橫向縱向的比較聯想的方式去學習會更有效。如學習Java集合的時候找數據結構的書看看;學JDBC的時候復習數據庫技術;采取的依然是“需要的時候再學”的原則。
4.結束語需要強調的是,學習軟件開發確實有一定的難度,也很辛苦,需要付出很多努力,但千萬不要半途而廢。本文如果能對一直徘徊在Java神殿之外的朋友有所幫助的話,筆者也欣慰了。哈哈,怎么聽起來老氣橫秋呀?沒辦法,在電腦的長期輻射之下,都快變成小老頭了。最后奉勸各位程序員尤其是MM程序員,完成工作后趕快遠離電腦,據《胡播亂報》報道,電腦輻射會在白皙的皮膚上面點綴一些小黑點,看起來鮮艷無比……