當前位置:才華齋>範例>職場>

面試java常見問題

職場 閱讀(1.43W)

1、面向物件的特徵有哪些方面

面試java常見問題

1.抽象:

抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是資料抽象。

2.繼承:

繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。物件的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那裡繼承方法和例項變數,並且類可以修改或增加新的方法使之更適合特殊的需要。

3.封裝:

封裝是把過程和資料包圍起來,對資料的訪問只能通過已定義的介面。面向物件計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的物件,這些物件通過一個受保護的介面訪問其他物件。

4.多型性:

多型性是指允許不同類的物件對同一訊息作出響應。多型性包括引數化多型性和包含多型性。多型性語言具有靈活、抽象、行為共享、程式碼共享的優勢,很好的解決了應用程式函式同名問題。

2、string是最基本的資料型別嗎?

基本資料型別包括byte、int、char、long、float、double、boolean和short。

ng類是final型別的,因此不可以繼承這個類、不能修改這個類。為了提高效率節省空間,我們應該用stringbuffer類

3、int和integer有什麼區別

java提供兩種不同的型別:引用型別和原始型別(或內建型別)。int是java的原始資料型別,integer是java為int提供的封裝類。java為每個原始型別提供了封裝類。

原始型別封裝類

booleanboolean

charcharacter

bytebyte

shortshort

intinteger

longlong

floatfloat

doubledouble

引用型別和原始型別的行為完全不同,並且它們具有不同的語義。引用型別和原始型別具有不同的特徵和用法,它們包括:大小和速度問題,這種型別以哪種型別的資料結構儲存,當引用型別和原始型別用作某個類的例項資料時所指定的預設值。物件引用例項變數的預設值為null,而原始型別例項變數的預設值與它們的型別有關。

4、string和stringbuffer的區別

java平臺提供了兩個類:string和stringbuffer,它們可以儲存和操作字串,即包含多個字元的字元資料。這個string類提供了數值不可改變的字串。而這個stringbuffer類提供的字串進行修改。當你知道字元資料要改變的時候你就可以使用stringbuffer。典型地,你可以使用stringbuffers來動態構造字元資料。

5、執行時異常與一般異常有何異同?

異常表示程式執行過程中可能出現的非正常狀態,執行時異常表示虛擬機器的通常操作中可能遇到的異常,是一種常見執行錯誤。java編譯器要求方法必須宣告丟擲可能發生的非執行時異常,但是並不要求必須宣告丟擲未被捕獲的執行時異常。

6、說出servlet的生命週期,並說出servlet和cgi的區別。

servlet被伺服器例項化後,容器執行其init方法,請求到達時執行其service方法,service方法自動派遣執行與請求對應的doxx-x方法(doget,dopost)等,當伺服器決定將例項銷燬的時候呼叫其destroy方法。

與cgi的區別在於servlet處於伺服器程序中,它通過多執行緒方式執行其service方法,一個例項可以服務於多個請求,並且其例項一般不會銷燬,而cgi對每個請求都產生新的程序,服務完成後就銷燬,所以效率上低於servlet。

7、說出arraylist,vector,linkedlist的儲存效能和特性

arraylist和vector都是使用陣列方式儲存資料,此陣列元素數大於實際儲存的資料以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及陣列元素移動等記憶體操作,所以索引資料快而插入資料慢,vector由於使用了synchronized方法(執行緒安全),通常效能上較arraylist差,而linkedlist使用雙向連結串列實現儲存,按序號索引資料需要進行前向或後向遍歷8、ejb是基於哪些技術實現的?並說出sessionbean和entitybean的區別,statefulbean和statelessbean的區別。

《面試java常見問題》全文內容當前網頁未完全顯示,剩餘內容請訪問下一頁檢視。