久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      • 去哪兒網(wǎng)java面試

        時間:2022-06-28 05:17:40 面試 我要投稿
        • 相關(guān)推薦

        去哪兒網(wǎng)java面試

        1.char型變量中能不能存貯一個中文漢字?為什么?

        去哪兒網(wǎng)java面試

        char型變量是用來存儲Unicode編碼的字符的,unicode編碼字符集中包含了漢字,所以,char型變量中當然可以存儲漢字啦。不過,如果某個特殊的漢字沒有被包含在unicode編碼字符集中,那么,這個char型變量中就不能存儲這個特殊漢字。補充說明:unicode編碼占用兩個字節(jié),所以,char類型的變量也是占用兩個字節(jié)。

        備注:后面一部分回答雖然不是在正面回答題目,但是,為了展現(xiàn)自己的學(xué)識和表現(xiàn)自己對問題理解的透徹深入,可以回答一些相關(guān)的知識,做到知無不言,言無不盡。

        2.、"=="和equals方法究竟有什么區(qū)別?

        (單獨把一個東西說清楚,然后再說清楚另一個,這樣,它們的區(qū)別自然就出來了,混在一起說,則很難說清楚)

        ==操作符專門用來比較兩個變量的值是否相等,也就是用于比較變量所對應(yīng)的內(nèi)存中所存儲的數(shù)值是否相同,要比較兩個基本類型的數(shù)據(jù)或兩個引用變量是否相等,只能用==操作符。

        如果一個變量指向的數(shù)據(jù)是對象類型的,那么,這時候涉及了兩塊內(nèi)存,對象本身占用一塊內(nèi)存(堆內(nèi)存),變量也占用一塊內(nèi)存,例如Objet obj = new Object();變量obj是一個內(nèi)存,new Object()是另一個內(nèi)存,此時,變量obj所對應(yīng)的內(nèi)存中存儲的數(shù)值就是對象占用的那塊內(nèi)存的首地址。對于指向?qū)ο箢愋偷淖兞,如果要比較兩個變量是否指向同一個對象,即要看這兩個變量所對應(yīng)的內(nèi)存中的數(shù)值是否相等,這時候就需要用==操作符進行比較。

        equals方法是用于比較兩個獨立對象的內(nèi)容是否相同,就好比去比較兩個人的長相是否相同,它比較的兩個對象是獨立的。例如,對于下面的代碼:

        String a=new String("foo");

        String b=new String("foo");

        兩條new語句創(chuàng)建了兩個對象,然后用a,b這兩個變量分別指向了其中一個對象,這是兩個不同的對象,它們的首地址是不同的,即a和b中存儲的數(shù)值是不相同的,所以,表達式a==b將返回false,而這兩個對象中的內(nèi)容是相同的,所以,表達式a.equals(b)將返回true。

        在實際開發(fā)中,我們經(jīng)常要比較傳遞進行來的字符串內(nèi)容是否等,例如,String input = …;input.equals(“quit”),許多人稍不注意就使用==進行比較了,這是錯誤的,隨便從網(wǎng)上找?guī)讉項目實戰(zhàn)的教學(xué)視頻看看,里面就有大量這樣的錯誤。記住,字符串的比較基本上都是使用equals方法。

        如果一個類沒有自己定義equals方法,那么它將繼承Object類的equals方法,Object類的equals方法的實現(xiàn)代碼如下:

        boolean equals(Object o){

        return this==o;

        }

        這說明,如果一個類沒有自己定義equals方法,它默認的equals方法(從Object 類繼承的)就是使用==操作符,也是在比較兩個變量指向的對象是否是同一對象,這時候使用equals和使用==會得到同樣的結(jié)果,如果比較的是兩個獨立的對象則總返回false。如果你編寫的類希望能夠比較該類創(chuàng)建的兩個實例對象的內(nèi)容是否相同,那么你必須覆蓋equals方法,由你自己寫代碼來決定在什么情況即可認為兩個對象的內(nèi)容是相同的。

        3.Anonymous Inner Class (匿名內(nèi)部類)是否可以 extends(繼承)其它類,

        是否可以 implements(實現(xiàn))interface(接口)?

        可以繼承其他類或?qū)崿F(xiàn)其他接口。不僅是可以,而是必須!

        4.String 和 StringBuffer 的區(qū)別

        JAVA 平臺提供了兩個類:String 和 StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數(shù)據(jù)。這個 String 類提供了數(shù)值不可改變的字符串。而這個 StringBuffer 類提供的字符串進行修改。當你知道字符數(shù)據(jù)要改變的時候你就可以使用 StringBuffer。典型地,你可以使用 StringBuffers 來動態(tài)構(gòu)造字符數(shù)據(jù)。另外,String 實現(xiàn)了 equals 方法,newString(“abc”).equals(newString(“abc”)的結(jié)果為 true,而 StringBuffer 沒有實現(xiàn)equals 方法,所以,new StringBuffer(“abc”).equals(newStringBuffer(“abc”)的結(jié)果為 false。

        接著要舉一個具體的例子來說明,我們要把1到100的所有數(shù)字拼起來,組成一個串。

        StringBuffer sbf = new StringBuffer();

        for(int i=0;i<100;i++)

        {

        sbf.append(i);

        }

        上面的代碼效率很高,因為只創(chuàng)建了一個 StringBuffer 對象,而下面的代碼效率很低,因為

        創(chuàng)建了101個對象。

        String str = new String();

        for(int i=0;i<100;i++)

        {

        str = str + i;

        }

        在講兩者區(qū)別時,應(yīng)把循環(huán)的次數(shù)搞成10000,然后用 endTime-beginTime 來比較兩者執(zhí)行的時間差異,最后還要講講 StringBuilder 與 StringBuffer 的區(qū)別。

        String 覆蓋了 equals 方法和 hashCode 方法,而 StringBuffer 沒有覆蓋 equals 方法和hashCode 方法,所以,將 StringBuffer 對象存儲進 Java 集合類中時會出現(xiàn)問題。

        5.java 中有幾種方法可以實現(xiàn)一個線程?用什么關(guān)鍵字修飾同步方法? stop()和 suspend()方法為何不推薦使用?

        java5以前,有如下兩種:

        第一種:

        new Thread(){}.start();這表示調(diào)用 Thread 子類對象的 run 方法,new Thread(){}表示一個

        Thread 的匿名子類的實例對象,子類加上 run 方法后的代碼如下:

        new Thread(){

        public void run(){

        }

        }.start();

        第二種:

        new Thread(new Runnable(){}).start();這表示調(diào)用Thread對象接受的Runnable對象的run

        方法,new Runnable(){}表示一個 Runnable 的匿名子類的實例對象,runnable 的子類加上

        run 方法后的代碼如下:

        new Thread(new Runnable(){

        public voidrun(){

        }

        }

        ).start();

        從 java5開始,還有如下一些線程池創(chuàng)建多線程的方式:

        ExecutorService pool = Executors.newFixedThreadPool(3)

        for(int i=0;i<10;i++)

        {

        pool.execute(newRunable(){public void run(){}});

        }

        Executors.newCachedThreadPool().execute(new Runable(){publicvoid run(){}});

        Executors.newSingleThreadExecutor().execute(new Runable(){publicvoid run(){}});

        有兩種實現(xiàn)方法,分別使用 new Thread()和 new Thread(runnable)形式,第一種直接調(diào)用

        thread 的 run 方法,所以,我們往往使用 Thread 子類,即 new SubThread()。第二種調(diào)用

        runnable 的 run 方法。

        有兩種實現(xiàn)方法,分別是繼承 Thread 類與實現(xiàn) Runnable 接口用 synchronized 關(guān)鍵字修飾同步方法反對使用stop(),是因為它不安全。它會解除由線程獲取的所有鎖定,而且如果對象處于一種不連貫狀態(tài),那么其他線程能在那種狀態(tài)下檢查和修改它們。結(jié)果很難檢查出真正的問題所在。suspend()方法容易發(fā)生死鎖。調(diào)用 suspend()的時候,目標線程會停下來,但卻仍然持有在這之前獲得的鎖定。此時,其他任何線程都不能訪問鎖定的資源,除非被"掛起"的線程恢復(fù)運行。對任何線程來說,如果它們想恢復(fù)目標線程,同時又試圖使用任何一個鎖定的資源,就會造成死鎖。所以不應(yīng)該使用 suspend(),而應(yīng)在自己的 Thread 類中置入一個標志,指出線程應(yīng)該活動還是掛起。若標志指出線程應(yīng)該掛起,便用 wait()命其進入等待狀態(tài)。若標志指出線程應(yīng)當恢復(fù),則用一個 notify()重新啟動線程。

        6.同步和異步有何異同,在什么情況下分別使用他們?舉例說明。

        如果數(shù)據(jù)將在線程間共享。例如正在寫的數(shù)據(jù)以后可能被另一個線程讀到,或者正在讀的數(shù)據(jù)可能已經(jīng)被另一個線程寫過了,那么這些數(shù)據(jù)就是共享數(shù)據(jù),必須進行同步存取。當應(yīng)用程序在對象上調(diào)用了一個需要花費很長時間來執(zhí)行的方法,并且不希望讓程序等待方法的返回時,就應(yīng)該使用異步編程,在很多情況下采用異步途徑往往更有效率。

        7.多線程有幾種實現(xiàn)方法?同步有幾種實現(xiàn)方法?

        多線程有兩種實現(xiàn)方法,分別是繼承 Thread 類與實現(xiàn) Runnable 接口同步的實現(xiàn)方面有兩種,分別是 synchronized,wait 與 notifywait():使一個線程處于等待狀態(tài),并且釋放所持有的對象的 lock。sleep():使一個正在運行的線程處于睡眠狀態(tài),是一個靜態(tài)方法,調(diào)用此方法要捕捉InterruptedException 異常。notify():喚醒一個處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時候,并不能確切的喚醒某一個等待狀態(tài)的線程,而是由 JVM 確定喚醒哪個線程,而且不是按優(yōu)先級。Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。

        8.Set 里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?是用==還

        是 equals()?它們有何區(qū)別?Set 里的元素是不能重復(fù)的,元素重復(fù)與否是使用 equals()方法進行判斷的。equals()和==方法決定引用值是否指向同一對象 equals()在類中被覆蓋,為的是當兩個分離的對象的內(nèi)容和類型相配的話,返回真值。


        【去哪兒網(wǎng)java面試】相關(guān)文章:

        去哪兒網(wǎng)面試地址07-01

        廣州天河財富廣場去哪兒網(wǎng)面試不靠譜07-13

        騰訊和去哪兒網(wǎng)的offer選擇07-10

        去哪兒網(wǎng)最看重面試者的哪一部分?07-13

        時間去哪兒了作文04-27

        《爸爸去哪兒》有感10-25

        Java方面的軟件工程師如何去面試?07-11

        壓歲錢去哪兒了作文10-11

        《爸爸去哪兒》有感15篇10-25

        《爸爸去哪兒》有感(15篇)10-25