天天看點

牛客java選擇題每日打卡Day10

牛客java選擇題每日打卡Day10

👩‍💻部落格首頁:京與舊鋪的部落格首頁

✨歡迎關注🖱點贊🎀收藏⭐留言✒

🔮本文由京與舊鋪原創

😘系列專欄:java學習

👕參考網站:牛客網

💻首發時間:🎞2022年6月1日🎠

🎨你做三四月的事,八九月就會有答案,一起加油吧

🀄如果覺得部落客的文章還不錯的話,請三連支援一下部落客哦

🎧最後的話,作者是一個新人,在很多方面還做的不好,歡迎大佬指正,一起學習哦,沖沖沖

💬推薦一款模拟面試、刷題神器👉​​​點選進入網站​​

牛客java選擇題每日打卡Day10

🛒導航小助手🎪

文章目錄

  • ​​牛客java選擇題每日打卡Day10​​
  • ​​🛒導航小助手🎪​​
  • ​​@[toc]​​
  • ​​🤐選擇題1​​
  • ​​正确答案: A 你的答案: D (錯誤)​​
  • ​​😴選擇題2​​
  • ​​正确答案: B D 你的答案: B C (錯誤)​​
  • ​​😎選擇題3​​
  • ​​正确答案: A 你的答案: B (錯誤)​​
  • ​​😋選擇題4​​
  • ​​正确答案: A B C D 你的答案: B D (錯誤)​​
  • ​​😫選擇題5​​
  • ​​正确答案: A C D G 你的答案: B D F G (錯誤)​​

🤐選擇題1

基本的Java語言函數存儲在以下哪個java包中?()

正确答案: A 你的答案: D (錯誤)

java.lang
java.io
java.net
java.util      
  • java.lang 提供java基礎類,例如:Object\Math\String\StringBuffer\System\Tread等,這是我們最常用的包包,但是我們并不常見到她,因為我們不需要将她手動導入;

    java.util 提供包括集合架構、事件模型、日期時間、等等的使用工具類;

    java.io 提供通過檔案系統、資料流和序列化提供系統的輸入輸入;

    java.net 提供實時網絡應用和開發的類;

    java.sql 提供使用java語言通路并處理存儲在資料源中的資料API;

    java.awt 和 java.swing 提供了GUI開發與設計的類,awt提供了建立界面和繪制圖形圖像的所有類,swing包提供了一組“輕量級”的元件,盡量讓這些元件在所有平台上的工作方式相同;

    java.text 提供了與自然語言無關的方式來處理文本日期、數字和消息的類和接口。

😴選擇題2

java運作時記憶體分為“線程共享”和“線程私有”兩部分,以下哪些屬于“線程共享”部分

正确答案: B D 你的答案: B C (錯誤)

程式電腦
方法區
java虛拟機棧
java堆      
  • 共享的資源有:

    a. 堆 由于堆是在程序空間中開辟出來的,是以它是理所當然地被共享的;是以new出來的都是共享的(16位平台上分全局堆和局部堆,局部堆是獨享的)

    b. 全局變量 它是與具體某一函數無關的,是以也與特定線程無關;是以也是共享的

    c. 靜态變量 雖然對于局部變量來說,它在代碼中是“放”在某一函數中的,但是其存放位置和全局變量一樣,存于堆中開辟的.bss和.data段,是共享的

    d. 檔案等公用資源 這個是共享的,使用這些公共資源的線程必須同步。Win32 提供了幾種同步資源的方式,包括信号、臨界區、事件和互斥體。

    獨享的資源有

    a. 棧 棧是獨享的

    b. 寄存器 這個可能會誤解,因為電腦的寄存器是實體的,每個線程去取值難道不一樣嗎?其實線程裡存放的是副本,包括程式計數器PC

😎選擇題3

程式檔案名必須與公共外部類的名稱完全一緻(包括大小寫).

正确答案: A 你的答案: B (錯誤)

正确
錯誤      

一個java檔案裡可以有多個class,但是隻能有一個public class外部類,并且類名必須和.java檔案名相同

😋選擇題4

關于OutOfMemoryError,下面說法正确的是()?

正确答案: A B C D 你的答案: B D (錯誤)

java.lang.OutOfMemoryError: PermGen space 增加-XX:MaxPermSize這個參數的值的話,這個問題通常會得到解決。
java.lang.OutOfMemoryError: Requested array size exceeds VM limit當你正準備建立一個超過虛拟機允許的大小的數組時,這條錯誤将會出現
java.lang.OutOfMemoryError: Java heap space 一般情況下解決這個問題最快的方法就是通過-Xmx參數來增加堆的大小
java.lang.OutOfMemoryError: nativeGetNewTLA這個異常隻有在jRockit虛拟機時才會碰到      

關于此題,《深入了解java虛拟機》有關于OOM(OutOfMemory)問題的解釋

A:屬于運作時常量池導緻的溢出,設定-XX:MaxPermSize可以解決這個問題,

B:屬于堆空間不足導緻的錯誤,問題比較少見,解決方式和C相同,

C:屬于java堆記憶體問題,一般的手段是通過記憶體映像分析工具,對Dump出來的堆轉儲存快照進行分析,重點是确認記憶體中的對象是否是有必要的,也就是要判斷是出現了記憶體洩漏,還是出現了記憶體溢出,如果是記憶體列樓,通過工具檢查洩露對象打GC Roots的引用鍊資訊,可以準确的确定出洩露代碼的位置,不存在洩露,就應該檢查虛拟機的堆參數,如果可以繼續調大,可以設定-Xmx解決問題

D:java.lang.OutOfMemoryError: nativeGetNewTLA指當虛拟機不能配置設定新的線程本地空間(Thread Local Area)的時候錯誤資訊,此錯誤是線程申請一個新的TLA時産生的,這個異常一般隻會發生在jRockit虛拟機,隻有過于絕對。

😫選擇題5

class A {}

class B extends A {}

class C extends A {}

class D extends B {}

下面的哪4個語句是正确的?

正确答案: A C D G 你的答案: B D F G (錯誤)

The type List<A>is assignable to List.
The type List<B>is assignable to List<A>.
The type List<Object>is assignable to List<?>.
The type List<D>is assignable to List<?extends B>.
The type List<?extends A>is assignable to List<A>.
The type List<Object>is assignable to any List reference.
The type List<?extends B>is assignable to List<?extends A>.      

耐心看完,保證能懂這道題!

public static void main(String[] args) {
    List<A> a;
    List list;
    list = a;   //A對,因為List就是List<?>,代表最大的範圍,A隻是其中的一個點,肯定被包含在内
    List<B> b;
    a = b;      //B錯,點之間不能互相指派
    List<?> qm;
    List<Object> o;
    qm = o;     //C對,List<?>代表最大的範圍,List<Object>隻是一個點,肯定被包含在内
    List<D> d;
    List<? extends B> downB;
    downB = d;  //D對,List<? extends B>代表小于等于B的範圍,List<D>是一個點,在其中
    List<?extends A> downA;
    a = downA;  //E錯,範圍不能指派給點
    a = o;      //F錯,List<Object>隻是一個點
    downA = downB;  //G對,小于等于A的範圍包含小于等于B的範圍,因為B本來就比A小,B時A的子類嘛
  }
>是一個點,在其中
    List<?extends A> downA;
    a = downA;  //E錯,範圍不能指派給點
    a = o;      //F錯,List<Object>隻是一個點
    downA = downB;  //G對,小于等于A的範圍包含小于等于B的範圍,因為B本來就比A小,B時A的子類嘛
  }