第一篇:java程序員
如何迅速成為java高手[tomjava原創(chuàng)]
很多網(wǎng)友問我學習java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學習的一些經(jīng)驗寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
要想學好java,首先要知道java的大致分類。我們知道,自從sun推出java以來,就力圖使之無所不包,所以java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:j2se,j2me和j2ee,這也就是sun one(open net environment)體系。j2se就是java2的標準版,主要用于桌面應(yīng)用軟件的編程;j2me主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機和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對于初學者來說,好象又有點深奧,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學的就是j2ee了。j2ee又包括許多組件,如jsp,servlet,javabean,ejb,jdbc,javamail等。要學習起來可不是一兩天的事。
那么又該如何學習j2ee呢?當然java語法得先看一看的,i/o包,util包,lang包你都熟悉了嗎?然后再從jsp學起。如果你學過html,那么事情要好辦的多,如果沒有,那你快去補一補html基礎(chǔ)吧。其實jsp中的java語法也不多,它更象一個腳本語言,有點象asp。然后你就該學一學servlet了。servlet就是服務(wù)器端小程序,他負責生成發(fā)送給客戶端的html文件。jsp在執(zhí)行時,也是先轉(zhuǎn)換成servlet再運行的。雖說jsp理論上可以完全取代servlet,這也是sun推出jsp的本意,可是servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學習一下javabean了,可能你早就看不管jsp在html中嵌java代碼的混亂方式了,這種方式跟asp又有什么區(qū)別呢?還好,sun提供了javabean可以把你的jsp中的java代碼封裝起來,便于調(diào)用也便于重用。接著就是ejb了,ejb就是enterprise javabean,看名字好象它是javabean,可是它和javabean還是有區(qū)別的。它是一個體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的www.weilaioem.com/developerwww.weilaioem.coml,soap,uddi,www.weilaioem.coml,并了解ajax;
3. 熟練使用jsp、servlet、javabean進行www.weilaioem.com.gc() runtime.getruntime().gc()
7. string s = newww.weilaioem.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()這個方法? string有沒有l(wèi)ength()這個方法?
數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength的屬性。 string有l(wèi)ength()這個方法.
11. sleep() 和 wait() 有什么區(qū)別? 搞線程的最愛
sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級 (b)正在運行的線程因為其它原因而阻塞。 wait()是線程交互時,如果線程對一個同步對象x 發(fā)出一個wait()調(diào)用,該線程會暫停執(zhí)行,被調(diào)對象進入等待狀態(tài),直到被喚醒或等待時間到。
12. error和exception有什么區(qū)別?
error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。 exception 表示一種設(shè)計或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運行正常,從不會發(fā)生的情況。
13. int和integer有什么區(qū)別
int是基本數(shù)據(jù)類型,而integer是java提供的類(包裝類)。因為java是運用堆棧結(jié)構(gòu)的,int基本類型放在棧里,而integer類是放在堆里的,這是他倆的本質(zhì)區(qū)別。從生命周期上想。int的生命周期短相對于integer。
14. 面向?qū)ο蟮奶卣饔心男┓矫??
1.抽象:抽象就是忽略一個主題中與當前目標無關(guān)的那些方面,以便更充分地注意與當前目標有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節(jié)。抽象包括兩個方面,一是過程抽象,二是數(shù)據(jù)抽象。
2.繼承:
繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現(xiàn)有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。
3.封裝:
封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥嬎闶加谶@個基本概念,即現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。
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是一個整數(shù)表達式。因此傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。