JavaEE最新面試題2_第1頁
JavaEE最新面試題2_第2頁
JavaEE最新面試題2_第3頁
JavaEE最新面試題2_第4頁
JavaEE最新面試題2_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、JAVAEE面試筆試題26、空字符串("")和null的區(qū)別?答:空字符串是 String類的一個(gè)對象,而null是指一個(gè)引用變量沒有引用對象,在值為null的引用變量上調(diào)用方法或變量,將會(huì)導(dǎo)致 NullPointerException。通過以下代碼來驗(yàn)證變量x是否為null,x = null,通過"".equals(x)來驗(yàn)證x是否為空字符串。25、靜態(tài)變量和實(shí)例變量的區(qū)別?答:靜態(tài)變量屬于類,該類不生產(chǎn)對象,通過類名就可以調(diào)用靜態(tài)變量。      實(shí)例變量屬于該類的對象,必須產(chǎn)生該類對象,才能調(diào)用實(shí)例

2、變量。24、當(dāng)x.equals(y)等于true時(shí),x.hashCode()與y.hashCode()可以不相等,這句話對不對? 答:對。但是在Java中建議,當(dāng)x.equals(y)等于true時(shí),x.hashCode()與y.hashCode()也相等。23、列舉幾個(gè)常見的RuntimeException的子類?答:ArithmeticException、NullPointerException、IndexOutOfBoundsException、ClassCastException、ArrayStoreException22、Java有沒有g(shù)oto?答:Java沒有使用goto關(guān)鍵字,但

3、它是Java的保留字。21、在Java中char類型的變量占用幾個(gè)字節(jié)?char類型的變量能不能存儲一個(gè)中文漢字?答:在Java中char類型的變量占用2個(gè)字節(jié),char類型變量采用Unicode編碼。可以存儲一個(gè)漢字,但不是所有的漢字都能存儲,你想想,漢字至少10萬個(gè),而Unicode占用兩個(gè)字節(jié),最多能存儲6萬多個(gè)。20、有如下代碼:try     代碼1    return 1;finally    代碼2    return 2;問,代碼2是否會(huì)被執(zhí)行?若會(huì)被執(zhí)行,是

4、try里的return語句先執(zhí)行還是finally里的代碼先執(zhí)行?最后該代碼片段的返回值是1還是2?答:代碼2會(huì)被執(zhí)行,因?yàn)閒inally里的代碼總會(huì)被執(zhí)行。      finally里的代碼會(huì)在return 1;之后被執(zhí)行。      既然finally里的代碼會(huì)在return 1;之后被執(zhí)行,所以return 2;覆蓋return 1;返回2。19、有如下方法的定義:public static int getNumber(int a)  int b = 0;  try &

5、#160;   b = 10/a;    return b;  catch (Exception ex)     b = 100;    return b;  finally    b = 1000;    return b;  在main方法中調(diào)用以上方法,如下:System.out.println(getNumber(10);System.out.println(getNumber(0);結(jié)果

6、是多少?答:1000 和 1000 。18、有如下方法的定義:public static int getNumber(int a)  int b = 0;  try     b = 10/a;    return b;  catch (Exception ex)     b = 100;    return b;  在main方法中調(diào)用以上方法,如下:System.out.println(getNumber(10);System.out

7、.println(getNumber(0);結(jié)果是多少?答:1 和 100 。17、用最有效率的方法算出2乘以8等於幾?答:用位運(yùn)算,2<<316、switch能否作用在byte上,能否作用在long上,能否作用在String上?答:能作用在byte上,不能作用在long或String上。15、Math.round(11.5)等于多少? Math.round(-11.5)等于多少? Math.round(-11.7)等于多少? Math.round(11.3)等于多少?答:Math.round(11.3) 等于 11      Ma

8、th.round(11.5) 等于 12      Math.round(-11.5) 等于 -11      Math.round(-11.7) 等于 -12速記:距離11.3最近的整數(shù),是11。距離11.5最近的整數(shù),有兩個(gè)11和12,取大。距離-11.7最近的整數(shù),是-12(別告訴我是-11)。距離-11.5最近的整數(shù),有兩個(gè)-11和-12,取大-11(也別和我說-12比-11大)。14、解釋一下&和&&的區(qū)別?答:&和&&都可以作為邏輯運(yùn)算

9、符,但還是有區(qū)別的,&&是短路與。單獨(dú)運(yùn)行以下兩行代碼:System.out.println(false & (1/0 = 0);  拋出異常System.out.println(false && (1/0 = 0); 打印出false&作為邏輯運(yùn)算符時(shí),即使第一個(gè)操作符是false,那么它仍然會(huì)計(jì)算第二個(gè)操作符。&&短路與,如果第一個(gè)操作符為false,那么它不會(huì)再去計(jì)算第二個(gè)操作符。另外&還是一個(gè)按位與運(yùn)算符,請看以下代碼:System.out.println(5 & 4); 打印出4,結(jié)果怎樣計(jì)算呢

10、?將它們轉(zhuǎn)換成二進(jìn)制數(shù)據(jù),一目了然。00000101 & 00000100 = 0000010013、解釋一下int和Integer有什么區(qū)別?答:int 是原始數(shù)據(jù)類型,而Integer是引用數(shù)據(jù)類型,是int的包裝類。Java中的八種原始數(shù)據(jù)類型都有對應(yīng)的包裝類,boolean- Boolean  char-Character  byte-Byte  short-Short  long-Long  float-Float  double-D和Integer是可以相互轉(zhuǎn)換的如:int a = 1; Inte

11、ger in = new Integer(a);Integer in = new Integer(10); int i = Value();JDK5.0支持自動(dòng)包裝和自動(dòng)解包,以下代碼與以上完成相同的功能:int a = 1; Integer b = a;Integer c= new Integer(10); int d = c;12、介紹什么是JDK?什么是JRE?答:有關(guān)JDK的介紹,點(diǎn)此鏈接參見Java EE常見面試題第1題。JRE是Java的運(yùn)行環(huán)境,不包含編譯、調(diào)試環(huán)境。如果你只是運(yùn)行一個(gè)Java程序,那么安裝JRE就夠用了。11、一個(gè)Java源文件中是否可以定義多個(gè)類?

12、接口和類是否可以定義在一個(gè)源文件中?答:一個(gè)源文件中可以定義多個(gè)類,但只能有一個(gè)類是public。接口和類也可以定義在一個(gè)源文件中,同樣也只能有一個(gè)是public。10、String、StringBuffer、StringBuilder有什么區(qū)別?答:String 類代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都是String類的對象。字符串是常量;它們的值在創(chuàng)建之后不能改變。所以可以共享它們。StringBuffer是字符串緩存區(qū),它的內(nèi)容可以被修 改,長度也可以改變,StringBuffer類是線程安全的,也就是說多個(gè)線程可以安全的訪問String

13、Buffer對象。StringBuilder與StringBuffer類似,都是字符串緩沖區(qū),但StringBuilder不是線程安全的,如果你只是在單線程中使用字符串緩沖區(qū),那么StringBuilder的效率會(huì)更高些。值得注意的是StringBuilder是在JDK1.5版本中增加的。以前版本的JDK不能使用該類。9、short s1 = 1;s1 = s1 + 1;是否有錯(cuò)?short s1 = 1;s1 += 1;是否有錯(cuò)?答:short s1 = 1;s1 = s1 + 1;有錯(cuò)誤,s1 + 1 是int類型,不能賦值給short類型。short s1 = 1;s1 += 1;正確。

14、8、接口是否可以繼承接口?抽象類是否可以實(shí)現(xiàn)接口?抽象類是否可以繼承實(shí)體類(非抽象類)?一個(gè)類是否可以繼承多個(gè)類?答:接口可以繼承接口,但是只能繼承一個(gè)。     抽象類可以實(shí)現(xiàn)接口。     抽象類可以繼承實(shí)體類。     一個(gè)類不可以繼承多個(gè)類,Java只允許單一繼承,可以實(shí)現(xiàn)多個(gè)接口。7、一個(gè)類的構(gòu)造方法是否可以被重載(overloading),是否可以被子類重寫(overriding)?答:構(gòu)造方法可以被重載,但是構(gòu)造方法不能被重寫,子類也不能繼承到父類的構(gòu)造方法。6

15、、如何防止一個(gè)類被其它類繼承?答:定義一個(gè)類時(shí)將該類聲明為final class。    或者將此類的所有構(gòu)造方位聲明為private。5、如何獲得靜態(tài)數(shù)組的長度?如何獲得字符串的長度?答:使用數(shù)組變量的length屬性。使用字符串變量的length()方法。4、談一談final關(guān)鍵字的作用?答:final class    表示此類不允許有子類。    final virable  表示一個(gè)常量。    final method   表示一個(gè)方

16、法不能被重寫。3、String類是否可以被繼承?答:String 類是final類,不可以被繼承。2、Java語言中有哪些基本數(shù)據(jù)類型,String是不是基本數(shù)據(jù)類型?答:有八種基本數(shù)據(jù)類型(有的資料也稱為原始數(shù)據(jù)類型),分別是byte short int long float double boolean char。String不是基本數(shù)據(jù)類型,是引用數(shù)據(jù)類型。1、面向?qū)ο缶幊痰娜齻€(gè)基本特性是什么?答:封裝、繼承和多態(tài)。5、介紹一下數(shù)據(jù)庫連接池的優(yōu)點(diǎn)和原理?答:作用:提高程序的運(yùn)行效率,能夠支持更多的用戶。方便監(jiān)視連接的數(shù)量和使用情況。原理:在應(yīng)用程序啟動(dòng)時(shí)建立一定數(shù)量的連接,并將這些連接通

17、過某種機(jī)制組成一個(gè)池,當(dāng)應(yīng)用程序需要連接時(shí)可以動(dòng)態(tài)的從池中獲取或向池中釋放連接。4、web.xml文件的作用是什么?答:web.xml文件是WEB應(yīng)用程序配置文件,存放了JSP、Servlet、Listener、Filter、錯(cuò)誤頁面、安全約束等信息。3、JSP頁面中errorPage的作用是什么?答:可以給一個(gè)頁面定義異常頁面,這樣當(dāng)該頁面發(fā)生異常時(shí),就會(huì)調(diào)用異常頁面,有兩種方式定義異常頁面:在JSP頁面中通過<% page errorPage="error.jsp"%>指令。在web.xml文件中通過<error-page>標(biāo)簽。2、描述一下JS

18、P和Servlet的相同點(diǎn)和不同點(diǎn)?答:相同點(diǎn):都能產(chǎn)生動(dòng)態(tài)網(wǎng)頁,另外從技術(shù)上講JSP仍然是Servlet。不同點(diǎn):它們的側(cè)重點(diǎn)是不同的,JSP更側(cè)重于數(shù)據(jù)的顯示,Servlet側(cè)重于控制。1、介紹什么是Java SE、Java EE、Java ME?答:JDK(Java Develpment Kit)是Java開發(fā)工具包,包括Java程序的編譯、調(diào)試、運(yùn)行及類庫,至今發(fā)布的最高版本為6.0,Sun公司將Java應(yīng)用分為3個(gè)領(lǐng)域:標(biāo)準(zhǔn)版:Java SE(Java Standard Edition)企業(yè)版:Java EE(Java Enterprise Editon)移動(dòng)版:Java ME(Ja

19、va Mobile Edition)注:在JDK5.0前,稱為J2SE、J2EE、J2ME。我們可以從類庫的角度來做簡單的區(qū)分:Java SE包含基本的類庫,如java.lang、java.io、javax.swing等。剛開始學(xué)習(xí)Java時(shí)我們用的就是Java SE版本。Java EE包含開發(fā)分布式應(yīng)用程序的類庫,如:javax.servlet、javax.mail、javax.ejb等。當(dāng)我們學(xué)習(xí)了Web應(yīng)用程序、EJB等,用的就是Java EE版本。Java EE比較復(fù)雜,包含了許多技術(shù),Java SE是基礎(chǔ)。Java ME也包含了一些類庫,沒有做過相關(guān)開發(fā),不大清楚。26、空字符串("")和null的區(qū)別?答:空字符串是 String類的一個(gè)對象,而null是指一個(gè)引用變量沒有引用對象,在值為null的引用變量上調(diào)用方法或變量,將會(huì)導(dǎo)致 NullPoint

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論