JAVA入門到精通

一搓扯、 工具篇JDK (Java Development Kit)

JDK是整個Java的核心局骤,包括了Java運行環(huán)境(Java Runtime Envirnment)祟剔,一堆Java工具和Java基礎(chǔ)的類庫(rt.jar)岖赋。不論什么Java應(yīng)用服務(wù)器實質(zhì)都是內(nèi)置了某個版本的JDK穗泵。因此掌握JDK是學(xué)好Java的第一步。最主流的JDK是Sun公司發(fā)布的JDK盗尸,除了Sun之外柑船,還有很多公司和組織都開發(fā)了自己的JDK,例如IBM公司開發(fā)的JDK泼各,BEA公司的Jrocket鞍时,還有GNU組織開發(fā)的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)運行效率要比Sun JDK包含的JVM高出許多。而專門運行在x86平臺的Jrocket在服務(wù)端運行效率也要比Sun JDK好很多逆巍。但不管怎么說及塘,我們還是需要先把Sun JDK掌握好。

1蒸苇、 JDK的下載和安裝

JDK又叫做J2SE(Java2 SDK Standard Edition)磷蛹,可以從Sun的Java網(wǎng)站上下載到,網(wǎng)頁鏈接溪烤,JDK當前最新的版本是J2SDK1.4.2味咳,建議下載該版本的JDK,下載頁面在這里:網(wǎng)頁鏈接檬嘀。下載好的JDK是一個可執(zhí)行安裝程序槽驶,默認安裝完畢后會在C:\Program Files\Java\目錄下安裝一套JRE(供瀏覽器來使用),在C:\j2sdk1.4.2下安裝一套JDK(也包括一套JRE)鸳兽。然后我們需要在環(huán)境變量PATH的最前面增加java的路徑C:\j2sdk1.4.2\bin掂铐。這樣JDK就安裝好了。

2揍异、 JDK的命令工具

JDK的最重要命令行工具:

java: 啟動JVM執(zhí)行class

javac: Java編譯器

jar: Java打包工具

javadoc: Java文檔生成器

這些命令行必須要非常非常熟悉全陨,對于每個參數(shù)都要很精通才行。對于這些命令的學(xué)習(xí)衷掷,JDK Documentation上有詳細的文檔辱姨。

二、 JDK Documentation

Documentation在JDK的下載頁面也有下載連接戚嗅,建議同時下載Documentation雨涛。Documentation是最最重要的編程手冊,涵蓋了整個Java所有方面的內(nèi)容的描述懦胞√婢茫可以這樣說,學(xué)習(xí)Java編程躏尉,大部分時間都是花在看這個Documentation上面的蚯根。我是隨身攜帶的,寫Java代碼的時候胀糜,隨時查看稼锅,須臾不離手。

三僚纷、 應(yīng)用服務(wù)器(App Server)

App Server是運行Java企業(yè)組件的平臺,構(gòu)成了應(yīng)用軟件的主要運行環(huán)境拗盒。當前主流的App Server是BEA公司的Weblogic Server和IBM公司的Websphere以及免費的Jboss怖竭,選擇其中一個進行學(xué)習(xí)就可以了,個人推薦Weblogic陡蝇,因為它的體系結(jié)構(gòu)更加干凈痊臭,開發(fā)和部署更加方便哮肚,是Java企業(yè)軟件開發(fā)人員首選的開發(fā)平臺。下面簡要介紹幾種常用的App Server:

1广匙、 Tomcat

Tomcat嚴格意義上并不是一個真正的App Server允趟,它只是一個可以支持運行Serlvet/JSP的Web容器,不過Tomcat也擴展了一些App Server的功能鸦致,如JNDI潮剪,數(shù)據(jù)庫連接池,用戶事務(wù)處理等等分唾。Tomcat被非常廣泛的應(yīng)用在中小規(guī)模的Java Web應(yīng)用中抗碰,因此本文做一點下載、安裝和配置Tomcat的介紹:

Tomcat是Apache組織下Jakarta項目下的一個子項目绽乔。

下載Tomcat既可以直接下載zip包弧蝇,也可以下載exe安裝包(個人建議zip更干凈些),不管哪種情況折砸,下載完畢安裝好以后(zip直接解壓縮就可以了)看疗。需要設(shè)置兩個環(huán)境變量:

JAVA_HOME=C:\j2sdk1.4.2

CATALINA_HOME=D:\tomcat4 (你的Tomcat安裝目錄)

這樣就安裝好了,啟動Tomcat運行CATALINA_HOME\bin\startup.bat睦授,關(guān)閉Tomcat運行shutdown.bat腳本两芳。Tomcat啟動以后,默認使用8080端口睹逃,因此可以用瀏覽器訪問http://localhost:8080來測試Tomcat是否正常啟動盗扇。

Tomcat提供了兩個Web界面的管理工具,URL分別是:

在啟用這兩個管理工具之前沉填,先需要手工配置一下管理員用戶和口令疗隶。用一個文本工具打開CATALINA_HOME\conf\tomcat-users.xml這個文件,加入如下幾行:

這樣用戶“robbin”就具備了超級管理員權(quán)限翼闹。重新啟動Tomcat以后斑鼻,你就可以使用該用戶來登陸如上的兩個管理工具,通過Web方式進行Tomcat的配置和管理了猎荠。

2坚弱、 BEA Weblogic

Weblogic可以到BEA的網(wǎng)站上免費注冊之后下載到最新的Weblogic8.1企業(yè)版,License可以免費使用1年時間关摇,其實這已經(jīng)完全足夠了荒叶。

3、 IBM Webshpere

Websphere同樣可以下載到免費的試用版本输虱,到IBM的developerWorks網(wǎng)站可以看到Websphere試用產(chǎn)品的下載和相關(guān)的Websphere的資料些楣。

4、 Jboss

Jboss是免費開源的App Server,可以免費的從Jboss網(wǎng)站下載愁茁。

四蚕钦、 Java應(yīng)用的運行環(huán)境

Java的應(yīng)用可以簡單分為以下幾個方面:

1、 Java的桌面應(yīng)用

桌面應(yīng)用一般僅僅需要JRE的支持就足夠了鹅很。

2嘶居、 Java Web應(yīng)用

Java的Web應(yīng)用至少需要安裝JDK和一個web容器(例如Tomcat),以及一個多用戶數(shù)據(jù)庫促煮,Web應(yīng)用至少分為三層:

Browser層:瀏覽器顯示用戶頁面

Web層:運行Servlet/JSP

DB層:后端數(shù)據(jù)庫邮屁,向Java程序提供數(shù)據(jù)訪問服務(wù)

3、 Java企業(yè)級應(yīng)用

企業(yè)級應(yīng)用比較復(fù)雜污茵,可以擴展到n層樱报,最簡單情況會分為4層:

Browser層:瀏覽器顯示用戶頁面

Client層:Java客戶端圖形程序(或者嵌入式設(shè)備的程序)直接和Web層或者EJB層交互

Web層:運行Servlet/JSP

EJB層:運行EJB,完成業(yè)務(wù)邏輯運算

DB層:后端數(shù)據(jù)庫泞当,向Java程序提供數(shù)據(jù)訪問服務(wù)

4迹蛤、 Java嵌入式應(yīng)用

Java嵌入式應(yīng)用是一個方興未艾的領(lǐng)域,從事嵌入式開發(fā)襟士,需要從Sun下載J2ME開發(fā)包盗飒,J2ME包含了嵌入式設(shè)備專用虛擬機KVM,和普通的JDK中包含的JVM有所不同陋桂。另外還需要到特定的嵌入式廠商那里下載模擬器逆趣。

書籍篇

學(xué)習(xí)一門新的知識,不可能指望只看一本嗜历,或者兩本書就能夠完全掌握宣渗。需要有一個循序漸進的閱讀過程。我推薦Oreilly出版的Java系列書籍梨州。

在這里我只想補充一點看法痕囱,很多人學(xué)習(xí)Java是從《Thinking in Java》這本書入手的,但是我認為這本書是不適合初學(xué)者的暴匠。我認為正確的使用這本書的方法應(yīng)該是作為輔助的讀物鞍恢。《Thinking in Java》并不是在完整的介紹Java的整個體系每窖,而是一種跳躍式的寫作方法帮掉,是一種類似tips的方法來對Java很多知識點進行了深入的分析和解釋。

對于初學(xué)者來說窒典,最好是找一本Java入門的書籍蟆炊,但是比較完整的循序的介紹Java的語法,面向?qū)ο蟮奶匦云僦荆诵念悗斓鹊戎殉疲诳催@本書的同時肩祥,可以同步來看《Thinking in Java》,來加深對Java的理解和原理的運用缩膝,同時又可以完整的了解Java的整個體系。

對于Java的入門書籍岸霹,蔡學(xué)鏞推薦的是Oreilly的《Exploring Java, 2nd Edition》 或者《Java in a Nutshell,2nd Edition(針對C++背景)》疾层,我并沒有看過這兩本書。其實我覺得電子工業(yè)出版社的《Java 2編程詳解》或者《Java 2從入門到精通》就很不錯贡避。

在所有的Java書籍當中痛黎,其實最最有用的,并不是O'reilly的 Java Serials刮吧,真正最最有用處是JDK的Documentation湖饱!幾乎你想獲得的所有的知識在Documentation里面全部都有,其中最主要的部分當然是Java基礎(chǔ)類庫的API文檔杀捻,是按照package來組織的井厌,對于每一個class都有詳細的解釋,它的繼承關(guān)系致讥,是否實現(xiàn)了某個接口仅仆,通常用在哪些場合,還可以查到它所有的public的屬性和方法垢袱,每個屬性的解釋墓拜,意義,每個方法的用途请契,調(diào)用的參數(shù)咳榜,參數(shù)的意義,返回值的類型爽锥,以及方法可能拋出的異常等等涌韩。

可以這樣來說,所有關(guān)于Java編程方面的書籍其實都不過是在用比較通俗易懂的語言救恨,和良好的組織方式來介紹Documentation里面的某個package里面包含的一些類的用法而已贸辈。所以萬變不離其宗,如果你有足夠的能力來直接通過Documentation來學(xué)習(xí)Java的類庫肠槽,那么基本上就不需要看其他的書籍了擎淤。除此之外,Documentation也是編程必備的手冊秸仙,我的桌面上有三個Documentation的快捷方式嘴拢,分別是J2SDK1.4.1的Documentation,Servlet2.3的Documentation和J2SDKEE1.3.1的Documentation寂纪。有了這個三個Documentation席吴,什么其他的書籍都不需要了哮翘。

對于Java Web 編程來說,最核心的是要熟悉和掌握HTTP協(xié)議伊滋,這個就和Java無關(guān)了讲竿,在熟悉HTTP協(xié)議之后,就需要熟悉Java的實現(xiàn)HTTP協(xié)議的類庫庄涡,也就是Servlet API量承,所以最重要的東西就是Servlet API。當然對于初學(xué)者而言穴店,直接通過Servlet API來學(xué)習(xí)Web編程有很大的難度撕捍,我推薦O'reilly的《Java Server Pages 》這本書來學(xué)習(xí)Web 編程。

EJB的書籍當中泣洞,《Enterprise JavaBeans, 2nd Edition》是一本很不錯的書忧风, EJB的學(xué)習(xí)門檻是比較高,入門很難球凰,但是這本書完全降低了學(xué)習(xí)的難度狮腿,特別重要的一點是,EJB的學(xué)習(xí)需要結(jié)合一種App Server的具體實現(xiàn)弟蚀,所以在學(xué)習(xí)EJB的同時蚤霞,必須同步的學(xué)習(xí)某種App Server,而這本書相關(guān)的出了三本書义钉,分別是Weblogic6.1昧绣,Websphere4.0和JBoss3.0上面部署書中例子的實做。真是既有理論捶闸,又有實踐夜畴。在學(xué)習(xí)EJB的同時,可以邊看邊做删壮,EJB的學(xué)習(xí)會變得很輕松贪绘。

但是這本書也有一個問題,就是版本比較舊央碟,主要講EJB1.1規(guī)范和部分EJB2.0的規(guī)范税灌。而Ed Roman寫的《Mastering EJB 2.0》這本書完全是根據(jù)EJB2.0規(guī)范寫的,深入淺出亿虽,覆蓋了EJB編程的各個方面菱涤,并且還有很多編程經(jīng)驗tips,也是學(xué)習(xí)EJB非常推薦的書籍之一洛勉。

如果是結(jié)合Weblogic來學(xué)習(xí)J2EE的話粘秆,《J2EE應(yīng)用與BEA Weblogic Server》絕對是首選讀物,雖然是講述的Weblogic6.0收毫,仍然值得購買攻走,這本書是BEA官方推薦的教材殷勘,作者也是BEA公司的工程師。現(xiàn)在中文版已經(jīng)隨處可見了昔搂。這本書結(jié)合Weblogic介紹了J2EE各個方面的技術(shù)在Weblogic平臺上的開發(fā)和部署玲销,實踐指導(dǎo)意義非常強。

在掌握了Java平臺基礎(chǔ)知識和J2EE方面的知識以后巩趁,更進一步的是學(xué)習(xí)如何運用OO的方法進行軟件的設(shè)計痒玩,那么就一定要學(xué)習(xí)“設(shè)計模式”。Sun公司出版了一本《J2EE核心模式》议慰,是每個開發(fā)Java企業(yè)平臺軟件的架構(gòu)師必備的書籍。這本書全面的介紹了J2EE體系架構(gòu)的各種設(shè)計模式奴曙,是設(shè)計師的必讀書籍别凹。

過程篇

每個人的學(xué)習(xí)方法是不同的,一個人的方法不見得適合另一個人洽糟,我只能是談自己的學(xué)習(xí)方法炉菲。因為我學(xué)習(xí)Java是完全自學(xué)的,從來沒有問過別人坤溃,所以學(xué)習(xí)的過程基本上完全是自己摸索出來的拍霜。我也不知道這種方法是否是比較好的方法,只能給大家提供一點參考了薪介。

學(xué)習(xí)Java的第一步是安裝好JDK祠饺,寫一個Hello World,? 其實JDK的學(xué)習(xí)沒有那么簡單汁政,關(guān)于JDK有兩個問題是很容易一直困擾Java程序員的地方:一個是CLASSPATH的問題道偷,其實從原理上來說,是要搞清楚JRE的ClassLoader是如何加載Class的记劈;另一個問題是package和import問題勺鸦,如何來尋找類的路徑問題。把這兩個問題摸索清楚了目木,就掃除了學(xué)習(xí)Java和使用JDK的最大障礙换途。推薦看一下王森的《Java深度歷險》,對這兩個問題進行了深入的探討刽射。

第二步是學(xué)習(xí)Java的語法军拟。Java的語法是類C++的,基本上主流的編程語言不是類C柄冲,就是類C++的吻谋,沒有什么新東西,所以語法的學(xué)習(xí)现横,大概就是半天的時間足夠了漓拾。唯一需要注意的是有幾個不容易搞清楚的關(guān)鍵字的用法阁最,public,protected骇两,private速种,static,什么時候用低千,為什么要用配阵,怎么用,這可能需要有人來指點一下示血,我當初是完全自己琢磨出來的棋傍,花了很久的時間。不過后來我看到《Thinking in Java》這本書上面是講了這些概念的难审。

第三步是學(xué)習(xí)Java的面向?qū)ο蟮木幊陶Z言的特性的地方瘫拣。比如繼承,構(gòu)造器告喊,抽象類麸拄,接口,方法的多態(tài)黔姜,重載拢切,覆蓋,Java的異常處理機制秆吵。對于一個沒有面向?qū)ο笳Z言背景的人來說淮椰,我覺得這個過程需要花很長很長時間,因為學(xué)習(xí)Java之前沒有C++的經(jīng)驗帮毁,只有C的經(jīng)驗实苞,我是大概花了一個月左右吧,才徹底把這些概念都搞清楚烈疚,把書上面的例子反復(fù)的揣摩黔牵,修改,嘗試爷肝,把那幾章內(nèi)容反復(fù)的看過來猾浦,看過去,看了不下5遍灯抛,才徹底領(lǐng)悟了金赦。不過我想如果有C++經(jīng)驗的話,應(yīng)該一兩天時間足夠了对嚼。那么在這個過程中夹抗,可以多看看《Thinking in Java》這本書,對面向?qū)ο蟮闹v解非常透徹纵竖∧眨可惜的是我學(xué)習(xí)的時候杏愤,并沒有看到這本書,所以自己花了大量的時間已脓,通過自己的嘗試和揣摩來學(xué)會的珊楼。

第四步就是開始熟悉Java的類庫。Java的基礎(chǔ)類庫其實就是JDK安裝目錄下面jre\lib\rt.jar這個包度液。學(xué)習(xí)基礎(chǔ)類庫就是學(xué)習(xí)rt.jar厕宗。基礎(chǔ)類庫里面的類非常非常多堕担。據(jù)說有3000多個已慢,我沒有統(tǒng)計過。但是真正對于我們來說最核心的只有4個霹购,分別是

java.lang.*;

java.io.*;

java.util.*;

java.sql.*;

這四個包的學(xué)習(xí)蛇受,每個包的學(xué)習(xí)都可以寫成一本厚厚的教材,而O'reilly也確實是這樣做的厕鹃。我覺得如果時間比較緊,是不可能通過讀四本書來學(xué)習(xí)乍丈。我覺得比較好的學(xué)習(xí)方法是這樣的:

首先要通讀整個package的框架剂碴,了解整個package的class,interface轻专,exception的構(gòu)成忆矛,最好是能夠找到介紹整個包框架的文章。這些專門介紹包的書籍的前幾章應(yīng)該就是這些總體的框架內(nèi)容介紹请垛。

對包整體框架的把握并不是要熟悉每個類的用法催训,記住它有哪些屬性,方法宗收。想記也記不住的漫拭。而是要知道包有哪些方面的類構(gòu)成的,這些類的用途是什么混稽,最核心的幾個類分別是完成什么功能的采驻。我在給人培訓(xùn)的時候一般是一次課講一個包,所以不可能詳細的介紹每個類的用法匈勋,但是我反復(fù)強調(diào)礼旅,我給你們講這些包的不是要告訴你們類的方法是怎么調(diào)用的,也不要求你們記住類的方法調(diào)用洽洁,而是要你們了解痘系,Java給我們提供了哪些類,每個類是用在什么場合饿自,當我遇到問題的時候汰翠,我知道哪個類龄坪,或者哪幾個類的組合可以解決我的問題,That'all奴璃!悉默,當我們具體寫程序的時候,只要你知道該用哪個類來完成你的工作就足夠了苟穆。編碼的時候抄课,具體的方法調(diào)用,是邊寫代碼雳旅,邊查Documentation跟磨,所有的東西都在Documentation里面,不要求你一定記住攒盈,實際你也記不住3000多個類的總共將近10萬個方法調(diào)用抵拘。所以對每個包的總體框架的把握就變得極為重要。

第五步型豁,通過上面的學(xué)習(xí)僵蛛,如果學(xué)的比較扎實的話,就打好了Java的基礎(chǔ)了迎变,剩下要做的工作是掃清Documentation里面除了上面4個包之外的其他一些比較有用處的類充尉。相信進展到這一步,Java的自學(xué)能力已經(jīng)被培養(yǎng)出來了衣形,可以到了直接學(xué)習(xí)Documentation的水平了驼侠。除了要做GUI編程之外,JDK里面其他會有用處的包是這些:

java.text.*;

java.net.*;

javax.naming.*;

這些包里面真正用的比較多的類其實很少谆吴,只有幾個倒源,所以不需要花很多時間。

第六步句狼,Java Web 編程

Web編程的核心是HTTP協(xié)議笋熬,HTTP協(xié)議和Java無關(guān),如果不熟悉HTTP協(xié)議的話鲜锚,雖然也可以學(xué)好Servlet/JSP編程突诬,但是達不到舉一反三,一通百通的境界芜繁。所以HTTP協(xié)議的學(xué)習(xí)是必備的旺隙。如果熟悉了HTTP協(xié)議的話,又有了Java編程的良好的基礎(chǔ)骏令,學(xué)習(xí)Servlet/JSP簡直易如反掌蔬捷,我學(xué)習(xí)Servlet/JSP就用了不到一周的時間,然后就開始用JSP來做項目了。

在Servlet/JSP的學(xué)習(xí)中周拐,重頭仍然是Servlet Documentation铡俐。Servlet API最常用的類很少,花比較少的時間就可以掌握了妥粟。把這些類都看一遍审丘,多寫幾個例子試試。Servlet/JSP編程本質(zhì)就是在反復(fù)調(diào)用這些類來通過HTTP協(xié)議在Web Server和Brower之間交談勾给。另外對JSP滩报,還需要熟悉幾個常用JSP的標記,具體的寫法記不住的話播急,臨時查就是了脓钾。

此外Java Web編程學(xué)習(xí)的重點要放在Web Application的設(shè)計模式上,如何進行業(yè)務(wù)邏輯的分析桩警,并且進行合理的設(shè)計可训,按照MVC設(shè)計模式的要求,運用Servlet和JSP分別完成不同的邏輯層捶枢,掌握如何在Servlet和JSP之間進行流程的控制和數(shù)據(jù)的共享握截,以及Web Application應(yīng)該如何配置和部署。

第七步烂叔,J2EE編程

以上的學(xué)習(xí)過程如果是比較順利的話川蒙,進行到這一步,難度又陡然提高长已。因為上面的知識內(nèi)容都是只涉及一個方面,而像EJB昼牛,JMS术瓮,JTA等核心的J2EE規(guī)范往往是幾種Java技術(shù)的綜合運用的結(jié)晶,所以掌握起來難度比較大贰健。

首先一定要學(xué)習(xí)好JNDI胞四,JNDI是App Server定位服務(wù)器資源(EJB組件,Datasouce伶椿,JMS)查找方法辜伟,如果對JNDI不熟悉的話,EJB脊另,JMS這些東西幾乎學(xué)不下去导狡。JNDI其實就是javax.naming.*這個包,運用起來很簡單偎痛。難點在于服務(wù)器資源文件的配置旱捧。對于服務(wù)器資源文件的配置,就需要看看專門的文檔規(guī)范了,比如web.xml的寫法枚赡,ejb-jar.xml的寫法等等氓癌。針對每種不同的App Server,還有自己的服務(wù)資源配置文件贫橙,也是需要熟悉的贪婉。

然后可以學(xué)習(xí)JTA,主要是要理解JTA對于事務(wù)的控制的方法卢肃,以及該在什么場合使用JTA疲迂。這里可以簡單的舉個例子,我們知道一般情況可以對于一個數(shù)據(jù)庫連接進行事務(wù)控制(conn.setAutoCommit(false),....,conn.commit())践剂,做為一個原子操作鬼譬,但是假設(shè)我的業(yè)務(wù)需求是要把對兩個不同數(shù)據(jù)庫的操作做為一個原子操作,你能做的到嗎逊脯?這時候只能用JTA了优质。假設(shè)操作過程是先往A數(shù)據(jù)庫插一條記錄,然后刪除B數(shù)據(jù)庫另一個記錄军洼,我們自己寫代碼是控制不了把整個操作做為一個原子操作的巩螃。用JTA的話,由App Server來完成控制匕争。

在學(xué)習(xí)EJB之前要學(xué)習(xí)對象序列化和RMI避乏,RMI是EJB的基礎(chǔ)。接著學(xué)習(xí)JMS和EJB甘桑,對于EJB來說拍皮,最關(guān)鍵是要理解EJB是如何通過RMI來實現(xiàn)對遠端對象的調(diào)用的,以及在什么情況下要用到EJB跑杭。

在學(xué)習(xí)完EJB铆帽,JMS這些東西之后,你可能會意識到要急不可待學(xué)習(xí)兩個領(lǐng)域的知識德谅,一個是UML爹橱,另一個是Design Pattern。Java企業(yè)軟件的設(shè)計非常重視框架(Framework)的設(shè)計窄做,一個好的軟件框架是軟件開發(fā)成功的必要條件愧驱。在這個時候,應(yīng)該開始把學(xué)習(xí)的重點放在設(shè)計模式和框架的學(xué)習(xí)上椭盏,通過學(xué)習(xí)和實際的編程經(jīng)驗來掌握EJB的設(shè)計模式和J2EE的核心模式组砚。

J2EE規(guī)范里面,除了EJB掏颊,JMS惫确,JTA,Servlet/JSP,JDBC之外還有很多很多的企業(yè)技術(shù)改化,這里不一一進行介紹了掩蛤。

另外還有一個最新領(lǐng)域Web Services。Web Services也完全沒有任何新東西陈肛,它像是一種黏合劑揍鸟,可以把不同的服務(wù)統(tǒng)一起來提供一個統(tǒng)一的調(diào)用接口,作為使用者來說句旱,我只要獲得服務(wù)提供者給我的WSDL(對服務(wù)的描述)阳藻,就夠了,我完全不知道服務(wù)器提供者提供的服務(wù)究竟是EJB組件谈撒,還是.Net組件腥泥,還是什么CORBA組件,還是其他的什么實現(xiàn)啃匿,我也不需要知道蛔外。

Web Services最偉大的地方就在于通過統(tǒng)一的服務(wù)提供方式和調(diào)用方式,實現(xiàn)了整個Internet服務(wù)的共享溯乒,是一個非常令人激動的技術(shù)領(lǐng)域夹厌。Web Services好像目前還沒有什么很好的書籍,但是可以通過在網(wǎng)絡(luò)上面查資料的方式來學(xué)習(xí)裆悄。

方法篇

Java作為一門編程語言矛纹,最好的學(xué)習(xí)方法就是寫代碼。當你學(xué)習(xí)一個類以后光稼,你就可以自己寫個簡單的例子程序來運行一下或南,看看有什么結(jié)果,然后再多調(diào)用幾個類的方法艾君,看看運行結(jié)果迎献,這樣非常直觀的把類給學(xué)會了,而且記憶非常深刻腻贰。

然后不應(yīng)該滿足把代碼調(diào)通,你應(yīng)該想想看如果我不這樣寫扒秸,換個方式播演,再試試行不行。記得哪個高人說過學(xué)習(xí)編程就是個破壞的過程伴奥,把書上的例子写烤,自己學(xué)習(xí)Documentation編寫的例子在運行通過以后,不斷的嘗試著用不同的方法實現(xiàn)拾徙,不斷的嘗試破壞代碼的結(jié)構(gòu)洲炊,看看它會有什么結(jié)果。通過這樣的方式,你會很徹底的很精通的掌握Java暂衡。

舉個例子询微,我們都編過Hello World

public class HelloWorld {

public static void main(String[] args) {

System.out.println("Hello World");

}

}

很多初學(xué)者不是很理解為什么main方法一定要這樣來定義public static void main(String[] args),能不能不這樣寫狂巢?包括我剛學(xué)習(xí)Java的時候也有這樣的疑問撑毛。想知道答案嗎?很簡單唧领,你把main改個名字運行一下藻雌,看看報什么錯誤,然后根據(jù)出錯信息進行分析斩个;把main的public取掉胯杭,在試試看,報什么錯誤受啥;static去掉還能不能運行做个;不知道m(xù)ain方法是否一定要傳一個String[]數(shù)組的,把String[]改掉腔呜,改成int[]叁温,或者String試試看;不知道是否必須寫args參數(shù)名稱的核畴,也可以把args改成別的名字膝但,看看運行結(jié)果如何。

我當初學(xué)習(xí)Java的時候就是這樣做的谤草,把Hello World程序反復(fù)改了七八次跟束,不斷運行,分析運行結(jié)果丑孩,最后就徹底明白為什么了main方法是這樣定義的了冀宴。

自學(xué) 轉(zhuǎn)行Java的朋友可以點擊鏈接加入群【java學(xué)習(xí)】:網(wǎng)頁鏈接群號374320282或是直接加?胡凱酋長qq 563427813邀請你進入學(xué)習(xí)交流群

我們會與你詳細的免費分享Java當下的行業(yè)狀況,學(xué)習(xí)路線温学、就業(yè)路線和對Java未來的一些規(guī)劃讓自己盡量享受最高的待遇略贮。【希望通過我們的免費分享對你今后無論是找培訓(xùn)班學(xué)習(xí)還是自學(xué)都有一個好的學(xué)習(xí)就業(yè)方向】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仗岖,一起剝皮案震驚了整個濱河市逃延,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌轧拄,老刑警劉巖揽祥,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異檩电,居然都是意外死亡拄丰,警方通過查閱死者的電腦和手機府树,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來料按,“玉大人奄侠,你說我怎么就攤上這事≌拘鳎” “怎么了遭铺?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恢准。 經(jīng)常有香客問我魂挂,道長,這世上最難降的妖魔是什么馁筐? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任涂召,我火速辦了婚禮,結(jié)果婚禮上敏沉,老公的妹妹穿的比我還像新娘果正。我一直安慰自己,他們只是感情好盟迟,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布秋泳。 她就那樣靜靜地躺著,像睡著了一般攒菠。 火紅的嫁衣襯著肌膚如雪迫皱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天辖众,我揣著相機與錄音卓起,去河邊找鬼。 笑死凹炸,一個胖子當著我的面吹牛戏阅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啤它,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奕筐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了变骡?” 一聲冷哼從身側(cè)響起离赫,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锣光,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铝耻,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡誊爹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年蹬刷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片频丘。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡办成,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出搂漠,到底是詐尸還是另有隱情迂卢,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布桐汤,位于F島的核電站而克,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怔毛。R本人自食惡果不足惜员萍,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拣度。 院中可真熱鬧碎绎,春花似錦、人聲如沸抗果。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冤馏。三九已至日麸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宿接,已是汗流浹背赘淮。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留睦霎,地道東北人梢卸。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像副女,于是被迫代替她去往敵國和親蛤高。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法碑幅,類相關(guān)的語法戴陡,內(nèi)部類的語法,繼承相關(guān)的語法沟涨,異常的語法恤批,線程的語...
    子非魚_t_閱讀 31,632評論 18 399
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,811評論 0 11
  • 轉(zhuǎn)自陳明乾的博客,可能有一定更新裹赴。 轉(zhuǎn)原文聲明:原創(chuàng)作品喜庞,允許轉(zhuǎn)載诀浪,轉(zhuǎn)載時請務(wù)必以超鏈接形式標明文章 原始出處 、...
    C86guli閱讀 4,689評論 6 72
  • 1延都、面向?qū)ο蟮奶卣饔心男┓矫?1.抽象:抽象就是忽略一個主題中與當前目標無關(guān)的那些方面雷猪,以便更充分地注意與當前目標...
    michaelgong閱讀 825評論 0 1
  • Android Studio和Idea師出同門Idea可以說是Java Web開發(fā)利器 下面是筆者的第一個mave...
    Andy周閱讀 775評論 0 2