第一篇:程序員自學(xué)之路——Java方向
程序員自學(xué)之路——Java方向
Unix/Linux操作系統(tǒng)
Unix開發(fā)環(huán)境
Unix操作系統(tǒng)概述、Unix文件系統(tǒng)、Unix的Kernel和Shell、遠(yuǎn)程登錄的原理、用戶管理命令、基本文件和目錄操作命令、Unix操作系統(tǒng)的特殊字符、使用vi命令編輯文本文件、使用FTP進(jìn)行文件傳輸、初始化文件及環(huán)境變量的配置、Shell腳本及crontab命令。
熟練掌握Sun Solaris Unix系統(tǒng)基本操作命令,能夠勝任Unix/Linux系統(tǒng)下的Java程序開發(fā)和管理工作。
Java SE開發(fā)
Java語言基礎(chǔ)
Java SE 6.0核心語法歸納講解,包括Java語言的特點(diǎn)、環(huán)境的配置、開發(fā)基本命令、類的定義技巧、方法調(diào)用過程、對(duì)象生成原理與內(nèi)存分布、標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、Java商業(yè)運(yùn)算要點(diǎn)、流程控制語句、Java數(shù)組和鏈表等算法和數(shù)據(jù)結(jié)構(gòu);同時(shí)掌握Eclipse開發(fā)工具的使用。
熟練掌握J(rèn)ava核心語法
Java面向?qū)ο缶幊?/p>
囊括了Java面向?qū)ο蟮木?,包括面向?qū)ο笕筇匦浴庋b、繼承與多態(tài),各種修飾符在面向?qū)ο笏枷胂碌木C合運(yùn)用,抽象類的特點(diǎn)和使用技巧,面向接口編程的思想和實(shí)踐,內(nèi)部類的應(yīng)用,JDK核心類包括Object、String、Date和Calendar等類的使用和設(shè)計(jì)思想,正則表達(dá)式,自動(dòng)封箱和解箱,Java異常處理,Java集合框架,泛型的語法和使用等。
熟練掌握J(rèn)ava面向?qū)ο笏枷?/p>
Java高級(jí)應(yīng)用
主要研究:中高級(jí)軟件工程師的必修利器——Java反射編程,Java圖形開發(fā)組件的開發(fā)步驟和應(yīng)用技巧,事件模型的設(shè)計(jì)理念和應(yīng)用,Java多線程編程,Java的I/O流,Java網(wǎng)絡(luò)編程等。
熟練掌握J(rèn)ava高級(jí)編程,這部分是作為高級(jí)程序員必須掌握的技術(shù)
XML語法與解析
XML(eXtensible Markup Language)的中文名稱是可擴(kuò)展標(biāo)記語言,是樹形的概念層次結(jié)構(gòu),簡(jiǎn)而言之它就是一種保存結(jié)構(gòu)化數(shù)據(jù)的格式。XML作為一種面向內(nèi)容的描述語言,通過基于樹形數(shù)據(jù)結(jié)構(gòu)的層次化概念分類體系模型,在很大程度上彌補(bǔ)了HTML作為網(wǎng)絡(luò)標(biāo)準(zhǔn)語言在概念層次關(guān)系的語義表達(dá)上的不足。
主要學(xué)習(xí)內(nèi)容:XML的意義、語法結(jié)構(gòu)、XML良構(gòu)的規(guī)范;DTD的意義和語法、使用名稱空間的技巧;Schema的意義、語法,使用Java API解析XML;基于Java DOM和SAX的XML處理技術(shù)。
掌握目前最通用的網(wǎng)絡(luò)數(shù)據(jù)格式,并能熟練在商業(yè)開發(fā)中應(yīng)用
數(shù)據(jù)庫(kù)編程
Oracle SQL
Oracle公司的Oracle數(shù)據(jù)庫(kù)產(chǎn)品是當(dāng)今的高端企業(yè)級(jí)應(yīng)用的主流產(chǎn)品。我們主要學(xué)習(xí):Oracle 10g數(shù)據(jù)庫(kù)原理,SQL語句(DDL、DML、TCL、DCL)的語法,項(xiàng)目中經(jīng)典SQL語句重現(xiàn),Oracle數(shù)據(jù)庫(kù)函數(shù)包括字符函數(shù)、數(shù)值函數(shù)、日期函數(shù)、數(shù)據(jù)類型轉(zhuǎn)換函數(shù)以及組函數(shù),數(shù)據(jù)庫(kù)的設(shè)計(jì),表連接包括等值連接、非等值連接、自連接和外連接,SQL子查詢,Oracle序列對(duì)象在項(xiàng)目中的運(yùn)用,索引及視圖,系統(tǒng)表的應(yīng)用技巧,Oracle SQL的錯(cuò)誤排查及調(diào)優(yōu)解決方案。
掌握Oracle數(shù)據(jù)庫(kù)設(shè)計(jì)、操作和開發(fā)
MySQL數(shù)據(jù)庫(kù)
MySQL5.0數(shù)據(jù)庫(kù)的管理和開發(fā)要領(lǐng),掌握MySQL和Oracle數(shù)據(jù)庫(kù)的異同點(diǎn)。掌握MySql數(shù)據(jù)庫(kù)的設(shè)計(jì)、操作和開發(fā)
JDBC編程
JDBC為Java開發(fā)者使用數(shù)據(jù)庫(kù)提供了統(tǒng)一的編程接口,使得開發(fā)人員可以使用純Java的方式來連接數(shù)據(jù)庫(kù),并進(jìn)行操作。學(xué)習(xí)的主要內(nèi)容有:JDBC的編程步驟,重要的編程接口,JDBC異常處理,JDBC中使用事務(wù),Batch Updates批量更新,Blob/Clob等新數(shù)據(jù)類型,JNDI,DataSource,數(shù)據(jù)庫(kù)連接池的管理等。逐步掌握基于JDBC的Oracle,SQLServer,DB2,MySQL等數(shù)據(jù)庫(kù)連接技術(shù)。
熟練掌握J(rèn)ava語言對(duì)各種數(shù)據(jù)庫(kù)的連接技術(shù)
系統(tǒng)分析與設(shè)計(jì)
軟件開發(fā)流程及UML
學(xué)習(xí)軟件開發(fā)過程包括瀑布模型、統(tǒng)一開發(fā)過程(USDP),CMMI5級(jí)軟件設(shè)計(jì)規(guī)范,掌握統(tǒng)一建模語言UML,掌握軟件的靜態(tài)建模和動(dòng)態(tài)建模。掌握面向?qū)ο笾袑?duì)象的關(guān)系。
掌握軟件開發(fā)流程及UML
設(shè)計(jì)原則與模式
原則和模式是分析設(shè)計(jì)人員與程序員在開發(fā)過程中經(jīng)驗(yàn)的總結(jié),學(xué)習(xí)模式就是獲取經(jīng)驗(yàn)。
掌握面向?qū)ο蟮脑O(shè)計(jì)原則:“開—閉”原則(OCP)、里氏代換原則(LSP)、依賴倒轉(zhuǎn)原則(DIP)、接口隔離原則(ISP)、組合/聚合復(fù)用原則(CARP)、迪米特法則(LoD)。
掌握主流的設(shè)計(jì)模式:工廠模式(Factory)、單例模式(Singleton)、觀察者模式
(Observer)、組合模式(Composite)、狀態(tài)模式(State)等,以及重要的架構(gòu)模式:Dao模式、MVC模式。
掌握面向?qū)ο蟮脑O(shè)計(jì)原則和模式。區(qū)別于激情代碼,重點(diǎn)在于知道軟件為什么要這么做,保證代碼質(zhì)量,保證科學(xué)的開發(fā)流程。按照CMM3的標(biāo)準(zhǔn)來設(shè)計(jì)軟件和管理開發(fā)過程。
Web開發(fā)基礎(chǔ)
HTML
基于瀏覽器的語言HTML:
了解HTML基本文檔結(jié)構(gòu)、常用的meta,掌握HTML列表和表格基本操作,了解HTTP GET和POST請(qǐng)求及響應(yīng)的協(xié)議格式,掌握表單的基本原理,掌握GET和POST提交方式及其區(qū)別,熟練掌握常用表單元素。
掌握企業(yè)級(jí)應(yīng)用客戶端頁(yè)面技術(shù)
CSS
CSS意為層疊樣式表(Cascading Style Sheets)用于定義HTML元素的位置和樣式。CSS樣式定義通常存儲(chǔ)在單獨(dú)的文件中, 可以極大提高工作效率。掌握CSS基本語法和CSS選擇器,掌握CSS定位技術(shù),了解CSS內(nèi)外邊距、邊框等特性。
掌握企業(yè)級(jí)應(yīng)用客戶端頁(yè)面樣式技術(shù)
JavaScript
基于瀏覽器的動(dòng)態(tài)腳本技術(shù)JavaScript:
JavaScript 被設(shè)計(jì)用來向 HTML頁(yè)面添加交互行為,是一種被瀏覽器解釋執(zhí)行的腳本語言。我們可以應(yīng)用JavaScript來響應(yīng)事件, 實(shí)現(xiàn)復(fù)雜交互,驗(yàn)證數(shù)據(jù), 提高系統(tǒng)健壯性,獲取和改變HTML元素及CSS屬性,動(dòng)態(tài)改變頁(yè)面外觀,逐步向RIA(Rich Internet Applications)邁進(jìn)。
掌握J(rèn)avaScript基本數(shù)據(jù)類型及其運(yùn)算,熟練使用數(shù)組、日期等,掌握基本的對(duì)于頁(yè)面元素的操作,掌握Prototype.js的基本方法,掌握HTML DOM模型,Window對(duì)象,操作Cookie,定時(shí)器等。
掌握企業(yè)級(jí)應(yīng)用客戶端動(dòng)態(tài)腳本技術(shù)
Java Web開發(fā)
Servlet編程
以經(jīng)典項(xiàng)目BookStore為導(dǎo)向,技術(shù)要點(diǎn)的講解深入淺出,并有機(jī)地與項(xiàng)目結(jié)合,為項(xiàng)目的順利完成服務(wù)。
學(xué)習(xí)要點(diǎn):Web服務(wù)器的安裝和配置,編寫及部署Servlet,讀取請(qǐng)求信息,生成響應(yīng)信息,維護(hù)客戶狀態(tài),過濾請(qǐng)求和響應(yīng),監(jiān)聽器的應(yīng)用,對(duì)持久層資源的訪問,使用包裝器攔截響應(yīng),Session與Cookie技術(shù),Servlet互操作,訪問應(yīng)用上下文,MVC架構(gòu)模式的思想和運(yùn)用。
JSP編程
JSP是在Java服務(wù)器端運(yùn)行的頁(yè)面,JSP本身就是一個(gè)基于文本的文檔,他不僅可以包含靜態(tài)的HTML內(nèi)容,也可以包含動(dòng)態(tài)的Java代碼,服務(wù)器容器可以將JSP轉(zhuǎn)換成Servlet發(fā)布,并接受請(qǐng)求,提供響應(yīng)。
學(xué)習(xí)內(nèi)容:JSP的特點(diǎn)、運(yùn)行原理及執(zhí)行過程,JSP的腳本元素,JSP指令的分類及詳解,JSP中中常用的動(dòng)作,JavaBean組件在JSP中的應(yīng)用,JSP內(nèi)置對(duì)象詳解,JSP異常處理及提高程序健壯性要領(lǐng),重定向與轉(zhuǎn)發(fā)的本質(zhì)區(qū)別,URL回寫,自定義標(biāo)簽要領(lǐng),EL表達(dá)式,JSTL核心標(biāo)簽庫(kù),字符集的處理和國(guó)際化。
Web系統(tǒng)架構(gòu)
著重掌握B/S架構(gòu)、B/S/A/D架構(gòu)下的程序設(shè)計(jì)與開發(fā),深入理解Web MVC架構(gòu)模式,完成Web應(yīng)用的調(diào)試和部署,動(dòng)態(tài)發(fā)布Web應(yīng)用。
Ajax編程
Ajax(Asynchronous JavaScript and XML)由 HTML、JavaScript技術(shù)、DHTML和DOM組成,這一杰出的方式可以將笨拙的Web界面轉(zhuǎn)化成交互性優(yōu)越的Ajax應(yīng)用程序。
主要內(nèi)容:Ajax技術(shù)構(gòu)成及核心編程,發(fā)送請(qǐng)求及處理響應(yīng),Ajax數(shù)據(jù)傳輸格式(純文本、XML及JSON),XMLHttpRequest詳解,Ajax庫(kù)及框架介紹。
3G應(yīng)用:Android開發(fā)
Android開發(fā)平臺(tái)、Eclipse+ADT開發(fā)環(huán)境、AVD及傳感模擬器調(diào)試、Android核心組件、Android常用組件、Android高級(jí)組件、文件及網(wǎng)絡(luò)訪問、SQLite數(shù)據(jù)庫(kù)編程、后臺(tái)服務(wù)編程。
Java企業(yè)應(yīng)用開發(fā)
Hibernate編程
Hibernate是對(duì)象/關(guān)系映射(Object/Relation Mapping)的解決方案,是一個(gè)可以自動(dòng)的根據(jù)xml配置文件來完成對(duì)象關(guān)系映射,并持久化到數(shù)據(jù)庫(kù)的開源組件。學(xué)員通過學(xué)習(xí)可以很好地掌握面向?qū)ο蟮臄?shù)據(jù)庫(kù)訪問技術(shù)和各種數(shù)據(jù)庫(kù)訪問模式。熟練掌握Hibernate3產(chǎn)品在實(shí)際項(xiàng)目中的應(yīng)用技巧,充分理解O-R Mapping產(chǎn)品的內(nèi)涵和外延。
熟練掌握Hibernate在項(xiàng)目中的開發(fā)
Struts開發(fā)
Struts是由Apache開源聯(lián)盟提供的一套用于構(gòu)建Java Web應(yīng)用程序的MVC框架。它的目標(biāo)是希望分離Web程序的表示層、控制層和模型層,使程序員將更多的精力投入后臺(tái)的業(yè)務(wù)邏輯設(shè)計(jì),而不是底層的Web基礎(chǔ)框架,提高了開發(fā)效率。Apache Struts1自從推出以來一直深受廣大Web編程者青睞,是到目前為止應(yīng)用的最廣泛的基于MVC的Web編程框架。Webwork,采用XWork command pattern內(nèi)核,配合請(qǐng)求處理攔截器(intercepter),成為目前設(shè)計(jì)的亮點(diǎn)。集Struts1的成熟社區(qū)和Webwork的先進(jìn)、優(yōu)雅的設(shè)計(jì)于一身的Struts2框架又將成為未來基于Web開發(fā)的MVC框架的領(lǐng)航者。
學(xué)習(xí)內(nèi)容:不僅要掌握Struts1的使用,也要學(xué)習(xí)Struts1的設(shè)計(jì)思想,并嘗試自己開發(fā)核心程序,而且還要掌握Struts2的開發(fā)要領(lǐng)。
掌握Struts框架核心技術(shù)
Spring開發(fā)
Spring的核心是輕量級(jí)的容器,它實(shí)現(xiàn)了IoC容器、非侵入性的框架,并提供AOP概念的實(shí)現(xiàn)方式,提供對(duì)持久層(Persistence)、事務(wù)(Transaction)的支持,提供MVC Web框架的實(shí)現(xiàn),并對(duì)一些常用的企業(yè)服務(wù)API提供一致的模型封裝,是一個(gè)全方位的應(yīng)用程序框架,我們不僅要領(lǐng)悟和實(shí)踐以上內(nèi)容,而且還將重點(diǎn)掌握Spring對(duì)現(xiàn)有框架(Struts、Hibernate等)的整合方案。
掌握應(yīng)用層框架Spring的設(shè)計(jì)思想和開發(fā)要點(diǎn)
EJB3.0
EJB3.0規(guī)范、Weblogic服務(wù)器應(yīng)用、JBoss服務(wù)器應(yīng)用
掌握EJB 3.0規(guī)范的基本原理和應(yīng)用;較為熟練的配置Weblogic和JBoss服務(wù)器。
Web服務(wù)編程
Web Services是一種使用WSDL、SOAP技術(shù),并使用xml文檔來交換信息的網(wǎng)絡(luò)應(yīng)用程序,通過Web Service技術(shù)使原來各孤立的站點(diǎn)之間的信息能夠相互通信、共享。我們要學(xué)習(xí)Web服務(wù)的三個(gè)重要角色、掌握Web服務(wù)的編程要領(lǐng)。
第二篇:JAVA程序員之路
怎么學(xué)好java
JAVA程序員之路
很多網(wǎng)友問我學(xué)習(xí)Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
要想學(xué)好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開發(fā)語言來說,優(yōu)勢(shì)好象并不明顯。J2ME對(duì)于初學(xué)者來說,好象又有點(diǎn)深?yuàn)W,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如
Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來可不是一兩天的事。那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再?gòu)腏SP學(xué)起。如果你學(xué)過HTML,那么事情要好辦的多,如果沒有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語法也不多,它更象一個(gè)腳本語言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時(shí),也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個(gè)體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計(jì)和配置中間件上。至于JDBC,就不用我多說了,你如果用java編過存取數(shù)據(jù)庫(kù)的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
好了,對(duì)Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P的書來看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說直接復(fù)制還不用怕出錯(cuò),何樂而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管問,只要問題不是太傻,一般高手都會(huì)回答你的。下面介紹幾個(gè)好的Java方面的編程網(wǎng)站:
CSDN論壇http:/// 中國(guó)最有名的技術(shù)論壇,《程序員》雜志就是他們出版的,你可以在上面提出問題,馬上就有人回答你,如果你覺得好,你可以給那人加分;
Java研究組http:/// 那里Java資料比較全;
java.com.cn http://.cn/ 看這域名就知道有多牛,注冊(cè)用戶快接近一萬了,同時(shí)在線人數(shù)也在一千左右,人氣很旺的;
IBM的開發(fā)者網(wǎng)http:// IBM永遠(yuǎn)的藍(lán)色巨人;
那么我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當(dāng)然沒那么簡(jiǎn)單,這只是萬里長(zhǎng)征走完了第一步。不信?那你出去接一個(gè)項(xiàng)目,你知道怎么下手嗎,你知道怎么設(shè)計(jì)嗎,你知道怎么組織人員進(jìn)行開發(fā)嗎?你現(xiàn)在腦子里除了一些散亂的代碼之外,可能再?zèng)]有別的東西了吧!你現(xiàn)在最缺的是實(shí)際的工作經(jīng)驗(yàn),而不是書本上那些憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果是在校學(xué)生可以去做兼職啊),在實(shí)踐中提高自己,那才是最快的。不過你得祈禱在公司里碰到一個(gè)高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個(gè)辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們?cè)O(shè)計(jì)合理,考慮周到,再加上有廣大的程序員參與,代碼的價(jià)值自然是字字珠嘰,鏗鏘有力(對(duì)不起,最近《金裝四大才子》看多了)。學(xué)Java必讀的兩個(gè)開源程序就是Jive和Pet Store.。Jive是國(guó)外一個(gè)非常著名的BBS程序,完全開放源碼。論壇的設(shè)計(jì)采用了很多先進(jìn)的技術(shù),如Cache、用戶認(rèn)證、Filter、XML等,而且論壇完全屏蔽了對(duì)數(shù)據(jù)庫(kù)的訪問,可以很輕易的在不同數(shù)據(jù)庫(kù)中移植。論壇還有方便的安裝和管理程序,這是我們平時(shí)編程時(shí)容易忽略的一部份(中國(guó)程序員一般只注重編程的技術(shù)含量,卻完全不考慮用戶的感受,這就是我們與國(guó)外軟件的差距所在)。Jive的資料在很多網(wǎng)站上都有,大家可以找來研究一下。相信你讀完代碼后,會(huì)有脫胎換骨的感覺。遺憾的是Jive從2.5以后就不再無條件的開放源代碼,同時(shí)有l(wèi)icence限制。不過幸好還有中國(guó)一流的Java程序員關(guān)注它,外國(guó)人不開源了,中國(guó)人就不能開源嗎?這里向大家推薦一個(gè)漢化的Jive版本—J道。Jive(J道版)是由中國(guó)Java界大名鼎鼎的banq在Jive2.1版本基礎(chǔ)上改編而成, 全中文,增加了一些實(shí)用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個(gè)開發(fā)團(tuán)隊(duì)在不斷升級(jí)。你可以訪問banq的網(wǎng)
http:/// 去下載,或到同濟(jì)技術(shù)論壇的服務(wù)器上
ftp://nro.shtdu.edu.cn去下,安裝上有什么問題,可以到論壇上去提問。Pet Store.(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開放源碼的程序,應(yīng)該很具有權(quán)威性,想學(xué)J2EE和EJB的朋友不要錯(cuò)過了。
你一定會(huì)高興地說,哈哈,原來成為Java高手就這么簡(jiǎn)單啊!記得我也曾碰到過一個(gè)項(xiàng)目經(jīng)理,號(hào)稱Java很簡(jiǎn)單,只要三個(gè)月就可以學(xué)會(huì)。其實(shí)說這種話的人就如當(dāng)年小日本號(hào)稱“三個(gè)月拿下中國(guó)”一樣大言不慚。不是我潑你冷水,你現(xiàn)在只是學(xué)到了Java的骨架,卻還沒有學(xué)到Java的精髓。接下來你得研究設(shè)計(jì)模式了。設(shè)計(jì)模式是高級(jí)程序員真正掌握面向?qū)ο蠛诵乃枷氲谋匦拚n。設(shè)計(jì)模式并不是一種具體“技術(shù)”,它講述的是思想,它不僅僅展示了接口或抽象類在實(shí)際案例中的靈活應(yīng)用和智慧,讓你能夠真正掌握接口或抽象類的應(yīng)用,從而在原來的Java語言基礎(chǔ)上躍進(jìn)一步,更重要的是,設(shè)計(jì)模式反復(fù)向你強(qiáng)調(diào)一個(gè)宗旨:要讓你的程序盡可能的可重用。關(guān)于設(shè)計(jì)模式的資料,還是向大家推薦banq的網(wǎng)http:///,他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經(jīng)典中的經(jīng)典。有時(shí)間再研究一下MVC結(jié)構(gòu)(把
Model-View-Control分離開的設(shè)計(jì)思想)吧,現(xiàn)在很流行的Structs就是它的一種實(shí)現(xiàn)方式,不過Structs用起來實(shí)在是很繁,我們只要學(xué)習(xí)其精髓即可,我們完全可以設(shè)計(jì)自己的MVC結(jié)構(gòu)。然后你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會(huì)上一個(gè)臺(tái)階。
做完這些,你不如整理一下你的Java代碼,把那些經(jīng)典的程序和常見的應(yīng)用整理出來,再精心打造一番,提高其重用性和可擴(kuò)展性。你再找?guī)讉€(gè)志同道合的朋友成立一個(gè)工作室吧,你可以去承接一些項(xiàng)目做了,一開始可能有些困難,可是你有技術(shù)積累,又考慮周全,接下項(xiàng)目來可以迅速作完,相信大家以后都會(huì)來找你的,所以Money就嘩啦啦的來了。。。
當(dāng)然你也可以參加一些開源項(xiàng)目,一方面可以提高自己,另一方面也是為中國(guó)軟件事業(yè)做貢獻(xiàn)嘛!開發(fā)者在互聯(lián)網(wǎng)上用CVS合作開發(fā),用QQ,MSN,E-mail討論聯(lián)系,天南海北的程序員分散在各地卻同時(shí)開發(fā)同一個(gè)軟件,是不是很有意思呢?
下面介紹兩個(gè)好的開源項(xiàng)目網(wǎng)站:
湖北省軟件公共開發(fā)平http://gro.clinux.org/
共創(chuàng)聯(lián)http://cosoft.org.cn/
哇,好高興哦,我終于成為高手了!非也,非也。古人云:“識(shí)時(shí)務(wù)者為俊杰”。你知道計(jì)算機(jī)界現(xiàn)在的發(fā)展形勢(shì)嗎?你知道微軟的.NET藍(lán)圖和SUN ONE計(jì)劃之間的明爭(zhēng)暗斗嗎?你知道計(jì)算機(jī)技術(shù)將向何處發(fā)展嗎?其實(shí)從各大計(jì)算機(jī)廠商最近的動(dòng)作,都可以看出來“Web服務(wù)將是下一代互聯(lián)網(wǎng)應(yīng)用的制高點(diǎn)”,而微軟的.NET藍(lán)圖和SUN ONE計(jì)劃的斗爭(zhēng)焦點(diǎn),也就是Web服務(wù)。Web服務(wù)就是一個(gè)嶄新的分布式計(jì)算模型,它是一系列標(biāo)準(zhǔn)的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟件能夠輕易的集成起來,使網(wǎng)絡(luò)資源和Web站點(diǎn)變成一種服務(wù)而不是混亂的垃圾場(chǎng)。不遠(yuǎn)的將來,我們就可以在家里點(diǎn)擊一下鼠標(biāo),就可以完成出門旅游的全部準(zhǔn)備工作,包括定飛機(jī)票,定旅游線路,定好房間等。請(qǐng)注意,這所有的一切都是Web站點(diǎn)間自動(dòng)完成的,再也不用象現(xiàn)在一樣,表面上是電子商務(wù),實(shí)際上很多環(huán)節(jié)都是人工操作。也許你會(huì)覺得這是天方夜談,不過就近的說,你也很有可能承接一個(gè)項(xiàng)目,要集成兩個(gè)企業(yè)的ERP系統(tǒng)。很有可能上游企業(yè)的系統(tǒng)是用Dephi編的,而下游企業(yè)的系統(tǒng)是用Java編的。你說你是Java高手,大家都看者你怎么做呢。所以啊,你還得學(xué)習(xí)新技術(shù),如Web服務(wù),而且你Dephi也要懂一點(diǎn)吧(Dephi6現(xiàn)在已經(jīng)提供Web服務(wù)的控件了)。你編的Java系統(tǒng),可能要和.NET集成,所以你.NET要懂一點(diǎn)吧?到最后,你可能發(fā)現(xiàn)你已經(jīng)成為Java高手了,但很多時(shí)間卻在搞別的技術(shù)。太極張三豐里說,最厲害的招式就是沒有招式,可能就是這個(gè)道理吧!因?yàn)閯倓偱d起,所以網(wǎng)上Web服務(wù)的資料不是很多,我還是給大家推薦幾個(gè)網(wǎng)站吧:
中國(guó)UDDI技術(shù)聯(lián)http:///developerWorks/cn/xml/index.shtml?csdn IBM可是Web服務(wù)的力推者
嗚…你費(fèi)勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡(jiǎn)單,真叫人感動(dòng)啊!那么打個(gè)電話告訴我吧,什么?我的電話號(hào)碼是多少?昏到,你打電話問不就知道了嗎,真是的……
如上是在網(wǎng)上考下來的,但個(gè)人認(rèn)為SCJP證書也好,程序員等級(jí)證書也好,不要太看重它;關(guān)鍵是你手中有沒有技術(shù),能不能拿出活來。我面試時(shí)候都是以證書為參考,主要衡量你的手段還是提問技術(shù)性問題以及一些編程方面的基礎(chǔ)問題。建議不要把證書看的太重。
第三篇:java程序員之路
很多網(wǎng)友問我學(xué)習(xí)Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
要想學(xué)好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開發(fā)語言來說,優(yōu)勢(shì)好象并不明顯。J2ME對(duì)于初學(xué)者來說,好象又有點(diǎn)深?yuàn)W,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來可不是一兩天的事。
那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再?gòu)腏SP學(xué)起。如果你學(xué)過HTML,那么事情要好辦的多,如果沒有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語法也不多,它更象一個(gè)腳本語言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時(shí),也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個(gè)體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計(jì)和配置中間件上。至于JDBC,就不用我多說了,你如果用java編過存取數(shù)據(jù)庫(kù)的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
好了,對(duì)Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P的書來看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說直接復(fù)制還不用怕出錯(cuò),何樂而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管問,只要問題不是太傻,一般高手都會(huì)回答你的。下面介紹幾個(gè)好的Java方面的編程網(wǎng)站:
CSDN論壇http:/// 那里Java資料比較全;
java.com.cn http://.cn/ 看這域名就知道有多牛,注冊(cè)用戶快接近一萬了,同時(shí)在線人數(shù)也在一千左右,人氣很旺的;
IBM的開發(fā)者網(wǎng)http:// IBM永遠(yuǎn)的藍(lán)色巨人;
那么我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當(dāng)然沒那么簡(jiǎn)單,這只是萬里長(zhǎng)征走完了第一步。不信?那你出去接一個(gè)項(xiàng)目,你知道怎么下手嗎,你知道怎么設(shè)計(jì)嗎,你知道怎么組織人員進(jìn)行開發(fā)嗎?你現(xiàn)在腦子里除了一些散亂的代碼之外,可能再?zèng)]有別的東西了吧!你現(xiàn)在最缺的是實(shí)際的工作經(jīng)驗(yàn),而不是書本上那些憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果是在校學(xué)生可以去做兼職?。趯?shí)踐中提高
自己,那才是最快的。不過你得祈禱在公司里碰到一個(gè)高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個(gè)辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們?cè)O(shè)計(jì)合理,考慮周到,再加上有廣大的程序員參與,代碼的價(jià)值自然是字字珠嘰,鏗鏘有力(對(duì)不起,最近《金裝四大才子》看多了)。學(xué)Java必讀的兩個(gè)開源程序就是Jive和Pet Store.。Jive是國(guó)外一個(gè)非常著名的BBS程序,完全開放源碼。論壇的設(shè)計(jì)采用了很多先進(jìn)的技術(shù),如Cache、用戶認(rèn)證、Filter、XML等,而且論壇完全屏蔽了對(duì)數(shù)據(jù)庫(kù)的訪問,可以很輕易的在不同數(shù)據(jù)庫(kù)中移植。論壇還有方便的安裝和管理程序,這是我們平時(shí)編程時(shí)容易忽略的一部份(中國(guó)程序員一般只注重編程的技術(shù)含量,卻完全不考慮用戶的感受,這就是我們與國(guó)外軟件的差距所在)。Jive的資料在很多網(wǎng)站上都有,大家可以找來研究一下。相信你讀完代碼后,會(huì)有脫胎換骨的感覺。遺憾的是Jive從2.5以后就不再無條件的開放源代碼,同時(shí)有l(wèi)icence限制。不過幸好還有中國(guó)一流的Java程序員關(guān)注它,外國(guó)人不開源了,中國(guó)人就不能開源嗎?這里向大家推薦一個(gè)漢化的Jive版本—J道。Jive(J道版)是由中國(guó)Java界大名鼎鼎的banq在Jive2.1版本基礎(chǔ)上改編而成, 全中文,增加了一些實(shí)用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個(gè)開發(fā)團(tuán)隊(duì)在不斷升級(jí)。你可以訪問banq的網(wǎng)http:/// 去下載,或到同濟(jì)技術(shù)論壇的服務(wù)器上ftp://nro.shtdu.edu.cn去下,安裝上有什么問題,可以到論壇上去提問。Pet Store.(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開放源碼的程序,應(yīng)該很具有權(quán)威性,想學(xué)J2EE和EJB的朋友不要錯(cuò)過了。
你一定會(huì)高興地說,哈哈,原來成為Java高手就這么簡(jiǎn)單啊!記得我也曾碰到過一個(gè)項(xiàng)目經(jīng)理,號(hào)稱Java很簡(jiǎn)單,只要三個(gè)月就可以學(xué)會(huì)。其實(shí)說這種話的人就如當(dāng)年小日本號(hào)稱“三個(gè)月拿下中國(guó)”一樣大言不慚。不是我潑你冷水,你現(xiàn)在只是學(xué)到了Java的骨架,卻還沒有學(xué)到Java的精髓。接下來你得研究設(shè)計(jì)模式了。設(shè)計(jì)模式是高級(jí)程序員真正掌握面向?qū)ο蠛诵乃枷氲谋匦拚n。設(shè)計(jì)模式并不是一種具體“技術(shù)”,它講述的是思想,它不僅僅展示了接口或抽象類在實(shí)際案例中的靈活應(yīng)用和智慧,讓你能夠真正掌握接口或抽象類的應(yīng)用,從而在原來的Java語言基礎(chǔ)上躍進(jìn)一步,更重要的是,設(shè)計(jì)模式反復(fù)向你強(qiáng)調(diào)一個(gè)宗旨:要讓你的程序盡可能的可重用。關(guān)于設(shè)計(jì)模式的資料,還是向大家推薦banq的網(wǎng)http:///,他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經(jīng)典中的經(jīng)典。有時(shí)間再研究一下MVC結(jié)構(gòu)(把Model-View-Control分離開的設(shè)計(jì)思想)吧,現(xiàn)在很流行的Structs就是它的一種實(shí)現(xiàn)方式,不過Structs用起來實(shí)在是很繁,我們只要學(xué)習(xí)其精髓即可,我們完全可以設(shè)計(jì)自己的MVC結(jié)構(gòu)。然后你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會(huì)上一個(gè)臺(tái)階。
做完這些,你不如整理一下你的Java代碼,把那些經(jīng)典的程序和常見的應(yīng)用整理出來,再精心打造一番,提高其重用性和可擴(kuò)展性。你再找?guī)讉€(gè)志同道合的朋友成立一個(gè)工作室吧,你可以去承接一些項(xiàng)目做了,一開始可能有些困難,可是你有技術(shù)積累,又考慮周全,接下項(xiàng)目來可以迅速作完,相信大家以后都會(huì)來找你的,所以Money就嘩啦啦的來了。。。
當(dāng)然你也可以參加一些開源項(xiàng)目,一方面可以提高自己,另一方面也是為中國(guó)軟件事業(yè)做貢獻(xiàn)嘛!開發(fā)者在互聯(lián)網(wǎng)上用CVS合作開發(fā),用QQ,MSN,E-mail討論聯(lián)系,天南海北的程序員分散在各地卻同時(shí)開發(fā)同一個(gè)軟件,是不是很有意思呢?
下面介紹兩個(gè)好的開源項(xiàng)目網(wǎng)站:
湖北省軟件公共開發(fā)平http://gro.clinux.org/
共創(chuàng)聯(lián)http://cosoft.org.cn/
哇,好高興哦,我終于成為高手了!非也,非也。古人云:“識(shí)時(shí)務(wù)者為俊杰”。你知道計(jì)算機(jī)界現(xiàn)在的發(fā)展形勢(shì)嗎?你知道微軟的.NET藍(lán)圖和SUN ONE計(jì)劃之間的明爭(zhēng)暗斗嗎?你知道計(jì)算機(jī)技術(shù)將向何處發(fā)展嗎?其實(shí)從各大計(jì)算機(jī)廠商最近的動(dòng)作,都可以看出來“Web服務(wù)將是下一
代互聯(lián)網(wǎng)應(yīng)用的制高點(diǎn)”,而微軟的.NET藍(lán)圖和SUN ONE計(jì)劃的斗爭(zhēng)焦點(diǎn),也就是Web服務(wù)。Web服務(wù)就是一個(gè)嶄新的分布式計(jì)算模型,它是一系列標(biāo)準(zhǔn)的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟件能夠輕易的集成起來,使網(wǎng)絡(luò)資源和Web站點(diǎn)變成一種服務(wù)而不是混亂的垃圾場(chǎng)。不遠(yuǎn)的將來,我們就可以在家里點(diǎn)擊一下鼠標(biāo),就可以完成出門旅游的全部準(zhǔn)備工作,包括定飛機(jī)票,定旅游線路,定好房間等。請(qǐng)注意,這所有的一切都是Web站點(diǎn)間自動(dòng)完成的,再也不用象現(xiàn)在一樣,表面上是電子商務(wù),實(shí)際上很多環(huán)節(jié)都是人工操作。也許你會(huì)覺得這是天方夜談,不過就近的說,你也很有可能承接一個(gè)項(xiàng)目,要集成兩個(gè)企業(yè)的ERP系統(tǒng)。很有可能上游企業(yè)的系統(tǒng)是用Dephi編的,而下游企業(yè)的系統(tǒng)是用Java編的。你說你是Java高手,大家都看者你怎么做呢。所以啊,你還得學(xué)習(xí)新技術(shù),如Web服務(wù),而且你Dephi也要懂一點(diǎn)吧(Dephi6現(xiàn)在已經(jīng)提供Web服務(wù)的控件了)。你編的Java系統(tǒng),可能要和.NET集成,所以你.NET要懂一點(diǎn)吧?到最后,你可能發(fā)現(xiàn)你已經(jīng)成為Java高手了,但很多時(shí)間卻在搞別的技術(shù)。太極張三豐里說,最厲害的招式就是沒有招式,可能就是這個(gè)道理吧!
因?yàn)閯倓偱d起,所以網(wǎng)上Web服務(wù)的資料不是很多,我還是給大家推薦幾個(gè)網(wǎng)站吧:中國(guó)UDDI技術(shù)聯(lián)http:///developerWorks/cn/xml/index.shtml?csdn IBM可是Web服務(wù)的力推者
嗚…你費(fèi)勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡(jiǎn)單,真叫人感動(dòng)?。∧敲创騻€(gè)電話告訴我吧,什么?我的電話號(hào)碼是多少?昏到,你打電話問不就知道了嗎,真是的……
如上是在網(wǎng)上考下來的,但個(gè)人認(rèn)為SCJP證書也好,程序員等級(jí)證書也好,不要太看重它;關(guān)鍵是你手中有沒有技術(shù),能不能拿出活來。我面試時(shí)候都是以證書為參考,主要衡量你的手段還是提問技術(shù)性問題以及一些編程方面的基礎(chǔ)問題。建議不要把證書看的太重。
參考資料:參考高手建議
第四篇:JAVA程序員之路
JAVA程序員之路
很多網(wǎng)友問我學(xué)習(xí)Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
要想學(xué)好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開發(fā)語言來說,優(yōu)勢(shì)好象并不明顯。J2ME對(duì)于初學(xué)者來說,好象又有點(diǎn)深?yuàn)W,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來可不是一兩天的事。那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再?gòu)腏SP學(xué)起。如果你學(xué)過HTML,那么事情要好辦的多,如果沒有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語法也不多,它更象一個(gè)腳本語言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時(shí),也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個(gè)體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計(jì)
和配置中間件上。至于JDBC,就不用我多說了,你如果用java編過存取數(shù)據(jù)庫(kù)的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
好了,對(duì)Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P的書來看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說直接復(fù)制還不用怕出錯(cuò),何樂而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管問,只要問題不是太傻,一般高手都會(huì)回答你的。下面介紹幾個(gè)好的Java方面的編程網(wǎng)站:
CSDN論壇 中國(guó)最有名的技術(shù)論壇,《程序員》雜志就是他們出版的,你可以在上面提出問題,馬上就有人回答你,如果你覺得好,你可以給那人加分;
Java研究組 上面有很多原創(chuàng)文章,高手還是挺多的; Java開發(fā)者 那里Java資料比較全;
java.com.cn看這域名就知道有多牛,注冊(cè)用戶快接近一萬了,同時(shí)在線人數(shù)也在一千左右,人氣很旺的;
IBM的開發(fā)者網(wǎng) IBM永遠(yuǎn)的藍(lán)色巨人;
那么我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當(dāng)然沒那么簡(jiǎn)單,這只是萬里長(zhǎng)征走完了第一步。不信?那你出去接一個(gè)項(xiàng)目,你知道怎么下手嗎,你知道怎么設(shè)計(jì)嗎,你知道怎么組織人員進(jìn)行開發(fā)嗎?你現(xiàn)在腦子里除了一些散亂的代碼之外,可能再?zèng)]有別的東西了吧!你現(xiàn)在最缺的是實(shí)際的工作經(jīng)驗(yàn),而不是書本上那些憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果是在校學(xué)生可以去做兼職?。?,在實(shí)踐中提高自己,那才是最快的。不過你得祈禱在公司里碰到一個(gè)高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個(gè)辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們?cè)O(shè)計(jì)合理,考慮周到,再加上有廣大的程序員參與,代碼的價(jià)值自然是字字珠嘰,鏗鏘有力(對(duì)不起,最近《金裝四大才子》看多了)。學(xué)Java必讀的兩個(gè)開源程序就是Jive和Pet Store.。Jive是國(guó)外一個(gè)非常著名的BBS程序,完全開放源碼。論壇的設(shè)計(jì)采用了很多先進(jìn)的技術(shù),如Cache、用戶認(rèn)證、Filter、XML等,而且論壇完全屏蔽了對(duì)數(shù)據(jù)庫(kù)的訪問,可以很輕易的在不同數(shù)據(jù)庫(kù)中移植。論壇還有方便的安裝和管理程序,這是我們平時(shí)編程時(shí)容易忽略的一部份(中國(guó)程序員一般只注重編程的技術(shù)含量,卻完全不考慮用戶的感受,這就是我們與國(guó)外軟件的差距所在)。Jive的資料在很多網(wǎng)站上都有,大家可以找來研究一下。相信你讀完代碼后,會(huì)有脫胎換骨的感覺。遺憾的是Jive從2.5以后就不再無條件的開放源代碼,同時(shí)有l(wèi)icence限制。不過幸好還有中國(guó)一流的Java程序員關(guān)注它,外國(guó)人不開源了,中國(guó)人就不能開源嗎?這里向大家推薦一個(gè)漢化的Jive版本—J道。Jive(J道版)是由中國(guó)Java界大名鼎鼎的banq在Jive2.1版本基礎(chǔ)上改編而成, 全中文,增加了一些實(shí)用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個(gè)開發(fā)團(tuán)隊(duì)在不斷升級(jí)。你可以訪問banq的網(wǎng)http:/// 去下載,或到同濟(jì)技術(shù)論壇的服務(wù)器上ftp://nro.shtdu.edu.cn去下,安裝上有什么問題,可以到論壇上去提問。Pet Store.(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開放源碼的程序,應(yīng)該很具有權(quán)威性,想學(xué)J2EE和EJB的朋友不要錯(cuò)過了。
你一定會(huì)高興地說,哈哈,原來成為Java高手就這么簡(jiǎn)單啊!記得我也曾碰到過一個(gè)項(xiàng)目經(jīng)理,號(hào)稱Java很簡(jiǎn)單,只要三個(gè)月就可以學(xué)會(huì)。其實(shí)說這種話的人就如當(dāng)年小日本號(hào)稱“三個(gè)月拿下中國(guó)”一樣大言不慚。不是我潑你冷水,你現(xiàn)在只是學(xué)到了Java的骨架,卻還沒有學(xué)到Java的精髓。接下來你得研究設(shè)計(jì)模式了。設(shè)計(jì)模式是高級(jí)程序員真正掌握面向?qū)ο蠛诵乃枷氲谋匦拚n。設(shè)計(jì)模式并不是一種具體“技術(shù)”,它講述的是思想,它不僅僅展示了接口或抽象類在實(shí)際案例中的靈活應(yīng)用和智慧,讓你能夠真正掌握接口或抽象類的應(yīng)用,從而在原來的Java語言基礎(chǔ)上躍進(jìn)一步,更重要的是,設(shè)計(jì)模式反復(fù)向你強(qiáng)調(diào)一個(gè)宗旨:要讓你的程序盡可能的可重用。關(guān)于設(shè)計(jì)模式的資料,還是向大家推薦banq的網(wǎng),他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經(jīng)典中的經(jīng)典。有時(shí)間再研究一下MVC結(jié)構(gòu)(把Model-View-Control分離開的設(shè)計(jì)思想)吧,現(xiàn)在很流行的Structs就是它的一種實(shí)現(xiàn)方式,不過Structs
用起來實(shí)在是很繁,我們只要學(xué)習(xí)其精髓即可,我們完全可以設(shè)計(jì)自己的MVC結(jié)構(gòu)。然后你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會(huì)上一個(gè)臺(tái)階。
做完這些,你不如整理一下你的Java代碼,把那些經(jīng)典的程序和常見的應(yīng)用整理出來,再精心打造一番,提高其重用性和可擴(kuò)展性。你再找?guī)讉€(gè)志同道合的朋友成立一個(gè)工作室吧,你可以去承接一些項(xiàng)目做了,一開始可能有些困難,可是你有技術(shù)積累,又考慮周全,接下項(xiàng)目來可以迅速作完,相信大家以后都會(huì)來找你的,所以Money就嘩啦啦的來了。。。
當(dāng)然你也可以參加一些開源項(xiàng)目,一方面可以提高自己,另一方面也是為中國(guó)軟件事業(yè)做貢獻(xiàn)嘛!開發(fā)者在互聯(lián)網(wǎng)上用CVS合作開發(fā),用QQ,MSN,E-mail討論聯(lián)系,天南海北的程序員分散在各地卻同時(shí)開發(fā)同一個(gè)軟件,是不是很有意思呢?
下面介紹兩個(gè)好的開源項(xiàng)目網(wǎng)站:
湖北省軟件公共開發(fā)平http://gro.clinux.org/
共創(chuàng)聯(lián)http://cosoft.org.cn/
哇,好高興哦,我終于成為高手了!非也,非也。古人云:“識(shí)時(shí)務(wù)者為俊杰”。你知道計(jì)算機(jī)界現(xiàn)在的發(fā)展形勢(shì)嗎?你知道微軟的.NET藍(lán)圖和SUN ONE計(jì)劃之間的明爭(zhēng)暗斗嗎?你知道計(jì)算機(jī)技術(shù)將向何處發(fā)展嗎?其實(shí)從各大計(jì)算機(jī)廠商最近的動(dòng)作,都可以看出來“Web服務(wù)將是下一代互聯(lián)網(wǎng)應(yīng)用的制高點(diǎn)”,而微軟的.NET藍(lán)圖和SUN ONE計(jì)劃的斗爭(zhēng)焦點(diǎn),也就是Web服務(wù)。Web服務(wù)就是一個(gè)嶄新的分布式計(jì)算模型,它是一系列標(biāo)準(zhǔn)的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟件能夠輕易的集成起來,使網(wǎng)絡(luò)資源和Web站點(diǎn)變成一種服務(wù)而不是混亂的垃圾場(chǎng)。不遠(yuǎn)的將來,我們就可以在家里點(diǎn)擊一下鼠標(biāo),就可以完成出門旅游的全部準(zhǔn)備工作,包括定飛機(jī)票,定旅游線路,定好房間等。請(qǐng)注意,這所有的一切都是Web站點(diǎn)間自動(dòng)完成的,再也不用象現(xiàn)在一樣,表面上是電子商務(wù),實(shí)際上很多環(huán)節(jié)都是人工操作。也許你會(huì)覺得這是天方夜談,不過就近的說,你也很有可能承接一個(gè)項(xiàng)目,要集成兩個(gè)企業(yè)的ERP系統(tǒng)。很有可能上游企業(yè)的系統(tǒng)是用Dephi編的,而下游企業(yè)的系統(tǒng)是用Java編的。你說你是Java高手,大家都看者你怎么做呢。所以啊,你還得學(xué)習(xí)新技
術(shù),如Web服務(wù),而且你Dephi也要懂一點(diǎn)吧(Dephi6現(xiàn)在已經(jīng)提供Web服務(wù)的控件了)。你編的Java系統(tǒng),可能要和.NET集成,所以你.NET要懂一點(diǎn)吧?到最后,你可能發(fā)現(xiàn)你已經(jīng)成為Java高手了,但很多時(shí)間卻在搞別的技術(shù)。太極張三豐里說,最厲害的招式就是沒有招式,可能就是這個(gè)道理吧!
因?yàn)閯倓偱d起,所以網(wǎng)上Web服務(wù)的資料不是很多,我還是給大家推薦幾個(gè)網(wǎng)站吧:
中國(guó)UDDI技術(shù)聯(lián)http://004km.cn/
CSDN的柴曉路專(注:柴曉路也是互聯(lián)網(wǎng)上一個(gè)有名的人物,他發(fā)表過很多關(guān)于Web服務(wù)的文章,還出了一書,應(yīng)該稱的上是中國(guó)Web服務(wù)技術(shù)的先行者)
IBM的開發(fā)者網(wǎng)絡(luò)的XML&Web Service專欄:IBM可是Web服務(wù)的力推者
嗚…你費(fèi)勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡(jiǎn)單,真叫人感動(dòng)啊!那么打個(gè)電話告訴我吧,什么?我的電話號(hào)碼是多少?昏到,你打電話問不就知道了嗎,真是的……
第五篇:JAVA程序員之路
JAVA程序員之路
Java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開發(fā)語言來說,優(yōu)勢(shì)好象并不明顯。J2ME對(duì)于初學(xué)者來說,好象又有點(diǎn)深?yuàn)W,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如
Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來可不是一兩天的事。如何學(xué)習(xí)J2EE呢?當(dāng)然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再?gòu)腏SP學(xué)起。如果你學(xué)過HTML,那么事情要好辦的多,如果沒有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語法也不多,它更象一個(gè)腳本語言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時(shí),也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個(gè)體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計(jì)和配置中間件上。至于JDBC,就不用我多說了,你如果用java編過存取數(shù)據(jù)庫(kù)的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
下面介紹幾個(gè)好的Java方面的編程網(wǎng)站:
CSDN論壇http:/// 那里Java資料比較全;
java.com.cn http://.cn/ 看這域名就知道有多牛,注冊(cè)用戶快接近一萬了,同時(shí)在線人數(shù)也在一千左右,人氣很旺的;
IBM的開發(fā)者網(wǎng)
http:// IBM永遠(yuǎn)的藍(lán)色巨人;
在實(shí)踐中提高自己,那才是最快的。不過你得祈禱在公司里碰到一個(gè)高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個(gè)辦法就是讀開放源碼的程序了。
下面介紹兩個(gè)好的開源項(xiàng)目網(wǎng)站:
湖北省軟件公共開發(fā)平http://gro.clinux.org/
共創(chuàng)聯(lián)http://cosoft.org.cn/
中國(guó)UDDI技術(shù)聯(lián)http:///developerWorks/cn/xml/index.shtml?csdn IBM可是Web服務(wù)的力推者
個(gè)人認(rèn)為SCJP證書也好,程序員等級(jí)證書也好,不要太看重它;關(guān)鍵是你手中有沒有技術(shù),能不能拿出活來。我面試時(shí)候都是以證書為參考,主要衡量你的手段還是提問技術(shù)性問題以及一些編程方面的基礎(chǔ)問題。建議不要把證書看的太重。