第一篇:java程序員
如何迅速成為java高手[tomjava原創(chuàng)]
很多網(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)勢好象并不明顯。j2me對于初學(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包你都熟悉了嗎?然后再從jsp學(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)用。它的大量代碼已由中間件(也就是我們常聽到的m.seogis.com/developerm.seogis.coml,soap,uddi,m.seogis.coml,并了解ajax;
3. 熟練使用jsp、servlet、javabean進(jìn)行m.seogis.com.gc() runtime.getruntime().gc()
7. string s = nem.seogis.comath.round(-11.5)等於多少?
math.round(11.5)返回(long)12,math.round(-11.5)返回(long)-11;
9. java有沒有g(shù)oto?
goto是java中的保留字,現(xiàn)在沒有在java中使用
10. 數(shù)組有沒有l(wèi)ength()這個(gè)方法? string有沒有l(wèi)ength()這個(gè)方法?
數(shù)組沒有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。 string有l(wèi)ength()這個(gè)方法.
11. sleep() 和 wait() 有什么區(qū)別? 搞線程的最愛
sleep()方法是使線程停止一段時(shí)間的方法。在sleep 時(shí)間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因?yàn)樵谀莻(gè)時(shí)刻,其它線程可能正在運(yùn)行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級 (b)正在運(yùn)行的線程因?yàn)槠渌蚨枞?wait()是線程交互時(shí),如果線程對一個(gè)同步對象x 發(fā)出一個(gè)wait()調(diào)用,該線程會(huì)暫停執(zhí)行,被調(diào)對象進(jìn)入等待狀態(tài),直到被喚醒或等待時(shí)間到。
12. error和exception有什么區(qū)別?
error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。 exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
13. int和integer有什么區(qū)別
int是基本數(shù)據(jù)類型,而integer是java提供的類(包裝類)。因?yàn)閖ava是運(yùn)用堆棧結(jié)構(gòu)的,int基本類型放在棧里,而integer類是放在堆里的,這是他倆的本質(zhì)區(qū)別。從生命周期上想。int的生命周期短相對于integer。
14. 面向?qū)ο蟮奶卣饔心男┓矫??
1.抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過程抽象,二是數(shù)據(jù)抽象。
2.繼承:
繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。
3.封裝:
封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個(gè)受保護(hù)的接口訪問其他對象。
4. 多態(tài)性:
多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應(yīng)用程序函數(shù)同名問題。
15.swtich是否能作用在byte上,是否能作用在long上,是否能作用在string上?
switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時(shí)刪除。