1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. J2EE經(jīng)典面試試題及答案

        時(shí)間:2020-09-13 11:26:38 J2EE培訓(xùn) 我要投稿

        J2EE經(jīng)典面試試題及答案

          1、垃圾回收的優(yōu)點(diǎn)和原理。

        J2EE經(jīng)典面試試題及答案

          Java語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c++程序員最頭疼的內(nèi)存管理的問題迎刃

          而解,它使得Java程序員在編寫程序的時(shí)候不再需要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,Java中的對(duì)

          象不再有“作用域”的概念,只有對(duì)象的引用才有“作用域”。垃圾回收可以有效的防止內(nèi)存泄露,有效

          的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存

          堆中已經(jīng)死亡的或者長時(shí)間沒有使用的對(duì)象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對(duì)某個(gè)對(duì)

          象或所有對(duì)象進(jìn)行垃圾回收。

          2、請(qǐng)說出你所知道的線程同步的方法。

          wait():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對(duì)象的lock。

          sleep():使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài),是一個(gè)靜態(tài)方法,調(diào)用此方法要捕捉

          InterruptedException異常。

          notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切的喚醒某一

          個(gè)等待狀態(tài)的線程,而是由JVM確定喚醒哪個(gè)線程,而且不是按優(yōu)先級(jí)。

          Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個(gè)對(duì)象的鎖,而是讓它

          們競爭。

          3、在java中一個(gè)類被聲明為final類型,表示了什么意思?

          表示該類不能被繼承,是頂級(jí)類。

          4、 Error與Exception有什么區(qū)別?

          Error表示系統(tǒng)級(jí)的錯(cuò)誤和程序不必處理的異常,

          Exception表示需要捕捉或者需要程序進(jìn)行處理的異常。

          5、&和&&的區(qū)別。

          &是位運(yùn)算符。&&是布爾邏輯運(yùn)算符。

          6、Collection 和 Collections的區(qū)別。

          Collections是個(gè)java.util下的類,它包含有各種有關(guān)集合操作的靜態(tài)方法。

          Collection是個(gè)java.util下的接口,它是各種集合結(jié)構(gòu)的父接口。

          7、 HashMap和Hashtable的區(qū)別。

          都屬于Map接口的類,實(shí)現(xiàn)了將惟一鍵映射到特定的值上。

          HashMap 類沒有分類或者排序。它允許一個(gè) null 鍵和多個(gè) null 值。

          Hashtable 類似于 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因?yàn)樗峭降摹?/p>

          8、GC是什么? 為什么要有GC? .

          GC是垃圾收集器。Java 程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。要請(qǐng)求垃圾收

          集,可以調(diào)用下面的方法之一:System.gc()

          Runtime.getRuntime().gc()

          9、談?wù)刦inal, finally, finalize的區(qū)別。

          final—修飾符(關(guān)鍵字)如果一個(gè)類被聲明為final,意味著它不能再派生出新的子類,不能作

          為父類被繼承。因此一個(gè)類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為

          final,可以保證它們?cè)谑褂弥胁槐桓淖儭1宦暶鳛閒inal的變量必須在聲明時(shí)給定初值,而在以后的.引用

          中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。

          finally—再異常處理時(shí)提供 finally 塊來執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配

          的 catch 子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入 finally 塊(如果有的話)。

          finalize—方法名。Java 技術(shù)允許使用 finalize() 方法在垃圾收集器將對(duì)象從內(nèi)存中清除出去

          之前做必要的清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)象沒有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是

          在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行

          其他清理工作。finalize() 方法是在垃圾收集器刪除對(duì)象之前對(duì)這個(gè)對(duì)象調(diào)用的。

          10、String s = new String("xyz");創(chuàng)建了幾個(gè)String Object?

          兩個(gè)對(duì)象,一個(gè)是"xyz",一個(gè)是指向"xyz"的引用對(duì)象s。

          11、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

          Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;

          12、Java有沒有g(shù)oto?

          Goto—java中的保留字,現(xiàn)在沒有在java中使用。

          13、 sleep() 和 wait() 有什么區(qū)別?

          sleep()方法是使線程停止一段時(shí)間的方法。在sleep 時(shí)間間隔期滿后,線程不一定立即恢復(fù)執(zhí)行。

          這是因?yàn)樵谀莻(gè)時(shí)刻,其它線程可能正在運(yùn)行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)"醒來"的線程具有更

          高的優(yōu)先級(jí) (b)正在運(yùn)行的線程因?yàn)槠渌蚨枞?/p>

          wait()是線程交互時(shí),如果線程對(duì)一個(gè)同步對(duì)象x 發(fā)出一個(gè)wait()調(diào)用,該線程會(huì)暫停執(zhí)行,被調(diào)對(duì)

          象進(jìn)入等待狀態(tài),直到被喚醒或等待時(shí)間到。

          數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?

          在java里面數(shù)組沒有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。String有有l(wèi)ength()這個(gè)方法。在c#數(shù)組和string只有l(wèi)ength屬性,沒有方法.

          14、 error和exception有什么區(qū)別?

          1 Error表示系統(tǒng)級(jí)的錯(cuò)誤和程序不必處理的異常,

          Exception表示需要捕捉或者需要程序進(jìn)行處理的異常。

          2 error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。

          exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。

          15、List, Set, Map是否繼承自Collection接口?

          List,Set是 ,Map不是

          16、是否可以繼承String類?

          String類是final類故不可以繼承。

          17、 構(gòu)造器Constructor是否可被override?

          不能重寫 Overriding,但可以被重載Overloading。

          18、 try {}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被

          執(zhí)行,在return前還是后?

          會(huì)執(zhí)行,在return前執(zhí)行。

          19、用最有效率的方法算出2乘以8等於幾?

          2 << 3

          20、作用域public,private,protected,以及不寫時(shí)的區(qū)別

          區(qū)別如下:

          作用域當(dāng)前類同一package 子孫類 其他package

          public √ √ √ √

          protected √ √ √ ×

          friendly √ √ × ×

          private √ × × ×

          不寫時(shí)默認(rèn)為friendly

          21、 abstract class和interface有什么區(qū)別?

          聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行

          為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以

          創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)

          方法。Abstract 類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,

          在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。

          接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這樣

          的接口而獲得。接口中的所有方法都是抽象的,沒有一個(gè)有程序體。接口只可以定義static final成員變

          量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(

          即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)象上調(diào)用接口的方法

          。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口

          類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對(duì)象的類是否實(shí)現(xiàn)了接口

          22、ArrayList和Vector的區(qū)別,HashMap和Hashtable的區(qū)別

          答:就ArrayList與Vector主要從二方面來說.

          一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的

          二.數(shù)據(jù)增長:當(dāng)需要增長時(shí),Vector默認(rèn)增長為原來一培,而ArrayList卻是原來的一半

          就HashMap與HashTable主要從三方面來說。

          一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)

          現(xiàn)

          二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步

          的

          三.值:只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value

          23、 char型變量中能不能存貯一個(gè)中文漢字?為什么?

          是能夠定義成為一個(gè)中文的,因?yàn)閖ava中以u(píng)nicode編碼,一個(gè)char占16個(gè)字節(jié),所以放一個(gè)中文是沒問題的

          24、 float型float f=3.4是否正確?

          答:不正確。精度不準(zhǔn)確,應(yīng)該用強(qiáng)制類型轉(zhuǎn)換,如下所示:float f=(float)3.4

          STRING與STRINGBUFFER的區(qū)別。

          答:STRING的長度是不可變的,STRINGBUFFER的長度是可變的。如果你對(duì)字符串中的內(nèi)容經(jīng)常進(jìn)行操

          作,特別是內(nèi)容要修改時(shí),那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法.

          25、 說出ArrayList,Vector, LinkedList的存儲(chǔ)性能和特性

          ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插

          入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)

          快而插入數(shù)據(jù)慢, Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而

          LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記

          錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。

          繼承時(shí)候類的執(zhí)行順序問題,以下代碼顯示什么結(jié)果。

          父類:public class FatherClass {

          public FatherClass() {

          System.out.println("FatherClass Create"); }

          }

          子類: import FatherClass;

          public class ChildClass extends FatherClass {

          public ChildClass() {

          System.out.println("ChildClass Create"); }

          public static void main(String[] args) {

          FatherClass fc = new FatherClass();

          ChildClass cc = new ChildClass(); }

          } //執(zhí)行java ChildClass

        【J2EE經(jīng)典面試試題及答案】相關(guān)文章:

        J2EE經(jīng)典面試題及答案11-05

        J2EE面試常見試題及答案09-16

        JavaWeb(J2EE)面試題及答案09-12

        J2EE面試題及答案「精選」09-25

        J2EE筆試面試題及答案09-17

        J2EE英文面試題及答案09-05

        2016年J2EE面試題及答案「精選」09-28

        2016年最新J2EE面試題及答案09-25

        常見的JavaWeb(J2EE)面試試題及答案09-17

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>