java個(gè)人小結(jié)
原文[201*年03月25日星期日上午03:04]
Java發(fā)展到現(xiàn)在,按應(yīng)用來(lái)分主要分為三大塊:J2SE,J2ME和J2EE。這三塊相互補(bǔ)充,應(yīng)用范圍不同。
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)。先學(xué)習(xí)j2se
要學(xué)習(xí)j2ee就要先學(xué)習(xí)j2se,剛開始學(xué)習(xí)j2se先建議不要使用IDE,然后漸漸的過渡到使用IDE開發(fā),畢竟用它方便嘛。學(xué)習(xí)j2se推薦兩本書,《java2核心技術(shù)一二卷》,《java編程思想》,《java模式》。其中《java編程思想》要研讀,精讀。這一段時(shí)間是基本功學(xué)習(xí),時(shí)間會(huì)很長(zhǎng),也可能很短,這要看學(xué)習(xí)者自身水平而定。不要被IDE糾纏
在學(xué)習(xí)java和j2ee過程中,你會(huì)遇到五花八門的IDE,不要被他們迷惑,學(xué)JAVA的時(shí)候,要學(xué)語(yǔ)言本身的東西,不要太在意IDE的附加功能,JAVA編程在不同IDE之間的轉(zhuǎn)換是很容易的,過于的在意IDE的功能反而容易耽誤對(duì)語(yǔ)言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加強(qiáng)版WSAD。用好其中一個(gè)就可以了,推薦從eclipse入手j2ee。因?yàn)镴builder更適合于寫j2se程序。選擇和學(xué)習(xí)服務(wù)器使用配置
當(dāng)你有了j2se和IDE的經(jīng)驗(yàn)時(shí),可以開始j2ee的學(xué)習(xí)了,web服務(wù)器:tomcat,勿庸置疑,tomcat為學(xué)習(xí)web服務(wù)首選。而應(yīng)用服務(wù)器目前主要有三個(gè):jboss、weblogic、websphere。有很多項(xiàng)目開始采用jboss,并且有大量的公司開始做websphere或weblogic向jboss應(yīng)用服務(wù)器的移植(節(jié)省成本),這里要說的是,學(xué)習(xí)tomcat和jboss我認(rèn)為是首選,也是最容易上手的。學(xué)習(xí)服務(wù)器使用配置最好去詢問有經(jīng)驗(yàn)的人(有條件的話),因?yàn)樗麄兓蛟S一句話就能解決問題,你自己上網(wǎng)摸索可能要一兩天(我就干過這種傻事),我們應(yīng)該把主要時(shí)間放在學(xué)習(xí)原理和理論上,一項(xiàng)特定技術(shù)的使用永遠(yuǎn)代替不了一個(gè)人的知識(shí)和學(xué)問。學(xué)習(xí)web知識(shí)
如果你是在做電子商務(wù)網(wǎng)站等時(shí),你可能要充當(dāng)幾個(gè)角色,這是你還要學(xué)習(xí):html,可能要用到dreamwave等IDE。
Javascript,學(xué)會(huì)簡(jiǎn)單的數(shù)據(jù)校驗(yàn),數(shù)據(jù)聯(lián)動(dòng)顯示等等J2eeAPI學(xué)習(xí)
學(xué)習(xí)j2eeAPI和學(xué)習(xí)服務(wù)器應(yīng)該是一個(gè)迭代的過程。
先學(xué)習(xí)jsp和servlet編程,這方面的書很多,我建立看oreilly公司的兩本《jsp設(shè)計(jì)》和《javaservlet編程》,oreilly出的書總是那本優(yōu)秀,不得不佩服。
學(xué)習(xí)jdbc數(shù)據(jù)庫(kù)編程,j2ee項(xiàng)目大多都是MIS系統(tǒng),訪問數(shù)據(jù)庫(kù)是核心。這本應(yīng)屬于j2se學(xué)習(xí)中,這里拿出來(lái)強(qiáng)調(diào)一下。
學(xué)習(xí)jndiapi,它和學(xué)習(xí)ejb可以結(jié)合起來(lái)。學(xué)習(xí)ejbapi,推薦書《精通ejb》
經(jīng)過上面的這些的學(xué)習(xí),大概可以對(duì)付一般的應(yīng)用了。
有人說跟著sun公司的《j2eetutorial》一路學(xué)下來(lái),當(dāng)然也可以。學(xué)習(xí)ejb設(shè)計(jì)模式和看代碼(最重要)
設(shè)計(jì)模式是練內(nèi)功,其重要性可以這么說吧,如果你不會(huì)用設(shè)計(jì)模式的話,你將寫出一堆使用了ejb的垃圾,有慢又是一堆bug,其結(jié)果不如不用ejb實(shí)現(xiàn)(ejb不等于j2ee)
無(wú)論學(xué)習(xí)什么語(yǔ)言,都應(yīng)該看大量代碼,你看的代碼量不到一定數(shù)量,是學(xué)不好j2ee的目前有很多開源的工程可以作為教材:jive論壇
petstoresun公司dunesun公司
等等,研讀一個(gè),并把它用到自己的工程中來(lái)。J2ee其他學(xué)習(xí)
當(dāng)你漸漸對(duì)j2ee了解到一定深度時(shí),你要開始關(guān)注當(dāng)前領(lǐng)域中的一些技術(shù)變化,J2ee是一塊百家爭(zhēng)鳴的領(lǐng)域,大家都在這里提出自己的解決方案,例如structs,hiberate,ofbiz等等,學(xué)習(xí)這些東西要你的項(xiàng)目和目標(biāo)而定,預(yù)先補(bǔ)充一下未嘗不可,但不用涉及太深,畢竟學(xué)習(xí)原理和理論是最最重要的事。目前常見j2eeAPI
JavaServerPages(JSP)技術(shù)1.2JavaServlet技術(shù)2.3JDBCAPI2.0
JavaXML處理API(JAXP)1.1EnterpriseJavaBeans技術(shù)2.0Java消息服務(wù)(JMS)1.0
Java命名目錄接口(JNDI)1.2Java事務(wù)API(JTA)1.0JavaMailAPI1.2
JavaBeans激活架構(gòu)(JAF)1.0J2EE連接器體系結(jié)構(gòu)(JCA)1.0Java認(rèn)證和授權(quán)服務(wù)(JAAS)1.0
學(xué)習(xí)上面的某些API要以你的項(xiàng)目而定,了解所有他們總之是有好處的
上面印證了大家說的一句話,java語(yǔ)言本身不難學(xué),但是技術(shù)太多,所以學(xué)java很費(fèi)勁;叵胍幌,基本上每個(gè)初學(xué)者,在剛學(xué)習(xí)java的時(shí)候可能都會(huì)問別人這么一句話,你怎么知道的哪個(gè)方法(api)在哪個(gè)包里的?呵呵,無(wú)他,唯手熟爾。
201*年10月29日星期三下午9:
擴(kuò)展閱讀:個(gè)人的Java學(xué)習(xí)總結(jié)
第一章Java的基本語(yǔ)法
本文檔由整理發(fā)布。
1.1:Java的注釋:
1.//單行注釋
2./**/多行注釋
3./***/是javadoc注釋,在生成java文檔時(shí)使用,例如使用它生成API文檔,這種注釋與javadoc.exe(JDK的一部分)一并使用。
javadoc.exeAbc.java如果想把Abc.java文件做成Java文檔,可以使用上述命令。此時(shí),javadoc
將會(huì)翻譯/***/部分。
1.2:標(biāo)識(shí)符:指用戶自己定義的類別、變量名、方法名等。
命名標(biāo)識(shí)符應(yīng)該遵從以下幾點(diǎn)原則:
1.區(qū)分大小寫,長(zhǎng)度不限。
2.英文、數(shù)字、下劃線、美元符號(hào)均可使用,但不能以數(shù)字開頭。3.不能使用Java關(guān)鍵字。正:
Abcde、abc12、_Hi、$abc、abc123abc
誤:
3abc、#abc、this、super(this、super是Java關(guān)鍵字)
Java關(guān)鍵字
(1)基本數(shù)據(jù)類型boolean、byte、char、short、int、long、float、double(2)訪問控制private、protected、public
(3)與類有關(guān)的關(guān)鍵字class、abstract、interface、extends、implements(4)與對(duì)象有關(guān)的關(guān)鍵字new、instanceof、this、super、null
(5)與方法有關(guān)的關(guān)鍵字void、return
(6)控制語(yǔ)句if、else、switch、case、default、for、do、while、break、continue(7)邏輯值true、false
(8)異常處理try、catch、finally、throw、throws(9)其他transient、volatile、package、import、synchronized、native、final、staticstrictfp(10)停用的關(guān)鍵字goto、const
1.3:變量與常量
小技巧:變量和方法均已小寫字母開頭。類名以大寫字母開頭。
1.4:數(shù)據(jù)類型
1:基本數(shù)據(jù)類型
A.邏輯型(Logical,也稱布爾型)----boolean(1byte)
B.字符型----char(2byte)
C.整型(Integral)----byte(1byte)short(2byte)int(4byte)long(8byte)D.實(shí)數(shù)型(Floating,也稱浮點(diǎn)數(shù))----float(4byte)double(8byte)2.對(duì)象數(shù)據(jù)類型(ObjectType)注意::對(duì)于整型數(shù)據(jù),把超過其表示范圍為的大整數(shù)賦給了變量時(shí)程序會(huì)出現(xiàn)錯(cuò)誤。在超過int型表達(dá)范圍的整數(shù)后,一定要加上字母L(或小寫的l)。整型常數(shù)有int型與long型之分,long型常數(shù)后,一定要加上字母L或小寫的L.。如:Int型常數(shù):1,123,-12345,012,0x12Long型常數(shù):1L,2L,300L,0x12L
對(duì)于實(shí)數(shù)型如果想用float型小數(shù),則要在小數(shù)后面添加上字母f或F。如:floata=1.23f
1.5.類型轉(zhuǎn)換
(1)..自動(dòng)類型轉(zhuǎn)換系統(tǒng)會(huì)自動(dòng)地將兩個(gè)字節(jié)型數(shù)據(jù)相加的結(jié)果轉(zhuǎn)換成整型,這就是Java中所謂的自動(dòng)類型轉(zhuǎn)換。如下:x1byteb1=1;x2byteb2=2;
x3byteb3=b1+b2;
事實(shí)上當(dāng)編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤,就是因?yàn)镴ava中這種自動(dòng)類型轉(zhuǎn)換機(jī)制。x3應(yīng)改為
intb3=b1+b2;。
下表列出了兩個(gè)變量做某種運(yùn)算后所得結(jié)果值的數(shù)據(jù)類型------變量1變量2結(jié)果值變量1變量2bytebyteintshortintbyteshortbyteintintintintintintintlongbyteintlongfloatlongfloatfloatfloatdouble結(jié)果值longfloatfloatfloatdoublelongintlongdoubledoubledouble(2)..強(qiáng)制類型轉(zhuǎn)換格式為:(int)x[與C++不同C++有兩種形式:(int)x和int(x)]。
1.6.運(yùn)算符
運(yùn)算符種類
運(yùn)算符單目運(yùn)算符種類邏輯非(!)位非(~)符號(hào)運(yùn)算符(+、-)增減運(yùn)算符(++、--)雙目運(yùn)算符算術(shù)運(yùn)算符(+、-、*、/、%)位移運(yùn)算符(、>>>)關(guān)系運(yùn)算符(、>=、1.6.2位非運(yùn)算符(~)運(yùn)算規(guī)則:逢0變1,逢1變0。
一個(gè)例題的疑問:bytea=7;byteb=~a;
System.out.println(b);//會(huì)輸出-8?很遺憾上面的代碼會(huì)報(bào)錯(cuò),原因在于我們把~a這個(gè)整型數(shù)賦給了一個(gè)字節(jié)型變量。改正為byteb=(byte)~a;怎么回事呢?
1.6.3位移(shift)運(yùn)算符(,>>>)
“”將比特位右移一位,被移動(dòng)的若為正數(shù),最左端填0;若為負(fù)數(shù),其最左端填1。
規(guī)律:每右移1位,其值就減半。
“>>>”表示右移1位,并且無(wú)論被移的是正數(shù)還是負(fù)數(shù),其最左端均填0。所以,用“>>>”運(yùn)算符操作負(fù)數(shù)后,將得到正整數(shù)。
注意:這些運(yùn)算符操作的數(shù)據(jù)是原始數(shù)據(jù)的副本,所以,操作后的原始值不變。1.6.4&&與||
小常識(shí):A&&B:若A為false,則整個(gè)表達(dá)式即位假,與B的真假無(wú)關(guān),所以運(yùn)算時(shí)B并不被運(yùn)算(即保持著原來(lái)的值)。A||B:一樣。運(yùn)算時(shí)一定要注意。所以&&與||又被稱為短路運(yùn)算符。1.6.5位運(yùn)算符:位與(&)、位或(|)、位移或(^)
A&B:比較兩個(gè)操作數(shù)的比特位,若都為1,則結(jié)果為1,否則為0。如果a=3,b=10,則a&&b是2。a>1110b>1010a&&b>0010
A|B:對(duì)應(yīng)比特位有一個(gè)是1,則結(jié)果是1,否則為0。A^B:對(duì)應(yīng)比特位如果不相同,則結(jié)果1,否則是0。
1.6.6三目運(yùn)算符(?:)格式為:條件式?值1:值21.6.7賦值運(yùn)算符
其中幾個(gè)特殊的符號(hào),如下:
“a|=10”等價(jià)于a=a|10,把a(bǔ)|10的值賦給變量a,a的值為9。
1.6.8對(duì)象運(yùn)算符其結(jié)果值是boolean型。
如:AinstanceofB:如果A是B的對(duì)象,則返回true,否則,返回false。System.out.println(“abc”instanceofString);的結(jié)果是true.因?yàn)閍bc是String類的對(duì)象。
第二章程序流程控制語(yǔ)句
控制語(yǔ)句控制語(yǔ)句
(1)條件語(yǔ)句(if、switch)(2)循環(huán)語(yǔ)句(for、while、do~while)
功能
針對(duì)某條件進(jìn)行某種處理重復(fù)執(zhí)行某段代碼
(3)異常處理語(yǔ)句(try~catch~finally)處理程序發(fā)生的異常注:【1】條件語(yǔ)句和循環(huán)語(yǔ)句,這些和C++中的用法差不多。
【2】break語(yǔ)句在switch中,用于終止一種情形;在循環(huán)語(yǔ)句中,用于強(qiáng)制退出循
環(huán)。
【3】case:n中n的值可以為整數(shù),但絕對(duì)不能是實(shí)數(shù)或字符串,如:case:5.4或case:”abc”是錯(cuò)誤的。
【4】continue語(yǔ)句用于使程序流轉(zhuǎn)到循環(huán)語(yǔ)句的“}”處,接著執(zhí)行循環(huán)當(dāng)條件不成立時(shí)才退出。
小常識(shí):System.out.println(A):輸出A后,將光標(biāo)移至下一行。而System.out.print(A):輸出A后,將光標(biāo)停留在本行,不會(huì)移動(dòng)到下一行。例題:
For11.java
publicclassFor11{publicstaticvoidmain(String[]args){for(inta=1;aFor13.java//輸出九九乘法表
publicclassFor13{
publicstaticvoidmain(String[]args){for(inta=1;a并不對(duì)連接的狀態(tài)與數(shù)據(jù)損失作檢查。即,UDP協(xié)議是一種無(wú)連接的、不可靠的
通信協(xié)議。TCP中所謂的包在UDP中稱為數(shù)據(jù)報(bào)(datagram)。TCP與UDP都支持?jǐn)?shù)據(jù)的雙向傳遞(fullduplex,全雙工)。
18.1.2端口與套接字
端口并不是真實(shí)的物理存在,而是一個(gè)假想的連接裝置。
套接字(socket)是一個(gè)軟件實(shí)現(xiàn),它是一個(gè)假想的連接裝置用于將應(yīng)用程
序與端口連接起來(lái)。Java將套接字抽象化為類。因此,程序設(shè)計(jì)者只需創(chuàng)建Socket類對(duì)象,即
可使用套接字。
18.2TCP程序設(shè)計(jì)基礎(chǔ)
Java中的TCP網(wǎng)絡(luò)程序設(shè)計(jì)是指利用Socket類,編寫通用程序。
友情提示:本文中關(guān)于《java個(gè)人小結(jié)》給出的范例僅供您參考拓展思維使用,java個(gè)人小結(jié):該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。