NowCoder-Java-Note(三)

001.jpg

一、 以下的變量定義語句中,合法的是()

A.byte=128
B.boolean=null
C.long a=123L
D.double=0.9239d

解析:
  • byte表示的范圍為[-128,127];
  • boolean的取值只能是true或false
  • D選項缺少變量名

答案:C

二、若在某一個類定義中定義有如下的方法: abstract void performDial( );該方法屬于()

A.本地方法
B.最終方法
C.解態方法
D.抽象方法

解析:
  • 本地方法:簡單地講,一個native Method就是一個java調用非java代碼的接口;native方法表示該方法要用另外一種依賴平臺的編程語言實現。

  • 最終方法:final void B(){},這樣定義的方法就是最終方法,最終方法在子類中不可以被重寫,也就是說,如果有個子類繼承了這個最終方法所在的類,那么這個子類中不能出現void B(){}這樣的方法。

  • 最終類:final class A {},這樣定義的類就是最終類,最終類不能被繼承

  • abstract修飾抽象類。

答案:D

三、 有以下程序片段,下列哪個選項不能插入到行 1 。( )。

1.
2.public class A {
3.    //do sth
4.} 

A.public class MainClass{ }
B.package mine;
C.class ANotherClass{ }
D.import java.util.*;

解析:
  • Java的一個源程序只能有一個public類存在,且類名與文件名相同。java程序是從main方法開始執行的,public為類加載器提供入口,然后找到public類中的main方法開始執行。如果存在多個public類,程序將不知道從哪里開始執行。
  • 注意:內部類是可以public的,因為內部類是作為外部類的成員而存在。

答案:A

strlen.gif

四、執行如下程序,輸出結果是( )

public class Test_Thread {
    public static void main(String[] args) {
        Test mv = new Test();
        Thread t1 = new ThreadExample(mv);
        Thread t2 = new ThreadExample(mv);
        Thread t3 = new ThreadExample(mv);
        t1.start();
        t2.start();
        t3.start();
    }
}
class Test{
    private int data;
    int result = 0;
    public void m(){
        result += 2;
        data += 2;
        System.out.print(result + "  " + data);
    }
}
class ThreadExample extends Thread{
    private Test mv;
    public ThreadExample(Test mv) {
        this.mv = mv;
    }
    @Override
    public void run() {
        synchronized (mv) {
            mv.m();
        }
    }
}

A.0 22 44 6
B.2 42 42 4
C.2 24 46 6
D.4 44 46 6

解析:

Test mv =newTest()聲明并初始化對data賦默認值
使用synchronized關鍵字加同步鎖線程依次操作m()
t1.start();使得result=2,data=2,輸出即為2 2
t2.start();使得result=4,data=4,輸出即為4 4
t3.start();使得result=6,data=6,輸出即為6 6
System.out.print(result +" "+ data);是print()方法不會換行,輸出結果為2 24 46 6

答案:C

五、以下哪項不屬于java類加載過程?

A.生成java.lang.Class對象
B.int類型對象成員變量賦予默認值
C.執行static塊代碼
D.類方法解析

解析:
類加載過程 :
  • 類從被加載到虛擬機內存中開始,到卸載出內存為止,它的整個生命周期包括:加載(Loading)、驗證(Verification)、準備(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸載(Unloading)7個階段。其中準備、驗證、解析3個部分統稱為連接(Linking)。
    類加載過程

引用內容鏈接:
http://blog.csdn.net/u013256816/article/details/50829596

選項 :
  • 生成java.lang.Class對象是在加載時進行的。生成Class對象作為方法區這個類的各種數據的訪問入口。

  • 既然是對象成員,那么肯定在實例化對象后才有。在類加載的時候會賦予初值的是類變量,而非對象成員。

  • 類方法解析發生在解析過程。

答案:B

六、下面哪個語句是創建數組的正確語句?( )

A.float f[][] = new float[6][6];
B.float []f[] = new float[6][6];
C.float f[][] = new float[][6];
D.float [][]f = new float[6][6];
E.float [][]f = new float[6][];

解析:
  • 數組命名時名稱與[]可以隨意排列,但聲明的二維數組中第一個中括號中必須要有值,它代表的是在該二維數組中有多少個一維數組。

  • 如果定義一個這樣的二維數組int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};則其在內存中的表示可能下面這樣的。

    001.png

答案:A B D E

引用內容鏈接:
https://www.cnblogs.com/bewolf/p/4321642.html

七、下面哪些屬于JSP內置對象及方法?

A.request
B.out
C.application
D.config

解析:
JSP 有 9 個內置對象:
  • request:封裝客戶端的請求,其中包含來自 GET 或 POST 請求的參數;
  • response:封裝服務器對客戶端的響應;
  • session:封裝用戶會話的對象;
  • application:封裝服務器運行環境的對象;
  • out:輸出服務器響應的輸出流對象;
  • config:Web 應用的配置對象;
  • pageContext:通過該對象可以獲取其他對象;
  • page:JSP 頁面本身(相當于 Java 程序中的 this);
  • exception:封裝頁面拋出異常的對象

答案:A B C D

八、final、finally和finalize的區別中,下述說法正確的有?

A.final用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。
B.finally是異常處理語句結構的一部分,表示總是執行。
C.finalize是Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源的回收,例如關閉文件等。
D.引用變量被final修飾之后,不能再指向其他對象,它指向的對象的內容也是不可變的。

解析:
  • B選項→
    PS:finally 是無論是否有異常都會被處理的語句,除非在 finally 前存在被執行的System.exit(int i)時除外。
  • C選項:JVM 不保證此方法總被調用
  • D選項:使用final修飾一個變量時,是指引用變量不能變引用變量所指向對象中的內容可以改變。

答案:A B

九、下列方法中哪個是線程執行的方法? ()

A.run()
B.start()
C.sleep()
D.suspend()

解析:
  • run()方法用來執行線程體中具體的內容;
    start()方法用來啟動線程對象,使其進入就緒狀態
    sleep()方法用來使線程進入睡眠狀態
    suspend()方法用來使線程掛起,需要通過resume()方法使其重新啟動,不推薦使用。
注:線程的生命周期及五種基本狀態:

關于Java中線程的生命周期,首先看一下下面這張較為經典的圖:


線程的生命周期
  • Java線程具有五種基本狀態:
  1. 新建狀態(New):當線程對象創建后,即進入了新建狀態,如:
    Thread t = new MyThread();

  2. 就緒狀態(Runnable):當調用線程對象的start()方法(t.start();),線程即進入就緒狀態。處于就緒狀態的線程,只是說明此線程已經做好了準備,隨時等待CPU調度執行,并不是說執行了t.start()此線程立即就會執行;

  3. 運行狀態(Running):當CPU開始調度處于就緒狀態的線程時,此時線程才得以真正執行,即進入到運行狀態。注:就 緒狀態是進入到運行狀態的唯一入口,也就是說,線程要想進入運行狀態執行,首先必須處于就緒狀態中;

  4. 阻塞狀態(Blocked):處于運行狀態中的線程由于某種原因,暫時放棄對CPU的使用權,停止執行,此時進入阻塞狀態,直到其進入到就緒狀態,才 有機會再次被CPU調用以進入到運行狀態。根據阻塞產生的原因不同,阻塞狀態又可以分為三種:
    1.等待阻塞:運行狀態中的線程執行wait()方法,使本線程進入到等待阻塞狀態;
    2.同步阻塞 -- 線程在獲取synchronized同步鎖失敗(因為鎖被其它線程所占用),它會進入同步阻塞狀態;
    3.其他阻塞 -- 通過調用線程的sleep()join()或發出了I/O請求時,線程會進入到阻塞狀態。當sleep()狀態超時、join()等待線程終止或者超時、或者I/O處理完畢時,線程重新轉入就緒狀態。

  5. 死亡狀態(Dead):線程執行完了或者因異常退出了run()方法,該線程結束生命周期。
    引用內容鏈接:
    https://www.cnblogs.com/lwbqqyumidi/p/3804883.html

答案:A

十、以下哪些類是線程安全的()

AVector
B.HashMap
C.ArrayList
D.StringBuffer
E.Properties

解析:
java中的線程安全是什么:
  • 就是線程同步的意思,就是當一個程序對一個線程安全的方法或者語句進行訪問的時候,其他的不能再對他進行操作了,必須等到這次訪問結束以后才能對這個線程安全的方法進行訪問
線程安全一般會涉及到synchronized
  • 查看源代碼,可以發現Vector,StringBuffer,Properties許多操作都加了synchronized修飾。

答案:A D E

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380

推薦閱讀更多精彩內容