JAVA基礎水平考試

想知道本身的Java水平嗎?這裏有一份精心準備的測試題,只有10道題,但難度不低。
答對 4 題,說明你剛入門;
答對 6 題,說明還不錯;
答對 8 題,說明你基礎很好;
答對 10 題,說明你對Java很是熟悉。java

1 (單選)下列代碼的輸出是什麼?

final char a = 'A', d = 'D';
   char grade = 'B';

   switch(grade) {
     case a:
     case 'B': System.out.print("great");
     case 'C': System.out.print("good"); break;
     case d:
     case 'F': System.out.print("not good");
   }

A.great
B.greatgood
C.greatnot good
D.not good
E.good程序員

2 (單選)下列代碼會依次輸出:

Integer num1 = 10;
Integer num2 = 10;
Integer num3 = 500;
Integer num4 = 500;

System.out.println(num1 == num2);
System.out.println(num3 == num4); 

A.true false
B.false true
C.true true
D.false falseweb

3 (單選)下列代碼的輸出是什麼?

 public class DataModel {
       static {
           x = 15;
       }

       static int x = 0;

       public DataModel() {
           x = 5;
       }

       static {
           x = 10;
       }

       public static void main(String[] args) {
           DataModel dataModel = new DataModel();
           System.out.println(x);
       }

   }

A.0
B.5
C.10
D.15數據庫

4 (單選)下列說法不正確的是:

A.CountDownLatch容許一個或多個線程等待其餘線程完成操做服務器

B.CyclicBarrier可以讓一組線程互相等待,直到最後一個線程到達屏障時,全部被屏障攔截的線程纔會繼續運行微信

C.CountDownLatchCyclicBarrier中的計數器都可經過reset()重置循環利用架構

D.Semaphore能夠用來控制同時訪問某個 特定資源的線程數量併發

5 (單選)下列說法不正確的是:

A.JDK動態代理需實現InvocationHandler,對代理對象方法的調用,會分派到其 invoke 方法真正實現調用app

B. JDK動態代理經過 Proxy 類,調用其 newProxyInstance 方法,生成一個實現了相應基礎接口的代理類實例運維

C.cglib是一個高性能的代碼生成庫,cglib實現動態代理對象與JDK動態代理模式同樣都要求對象實現接口

D.cglib實現動態代理是爲了解決接口依賴的代理問題,採起的是建立目標類子類的方式

6 (單選)下列說法不正確的是:

A.wait方法屬於Object方法,而sleep()方法屬於Thread類方法

B.wait方法便可以有參數傳入也可無參數傳入,sleep方法必須有參數傳入

C.不管是wait方法仍是sleep方法均須要考慮對InterruptedException的異常處理

D.不管是調用sleep方法仍是wait方法的時候,對象的鎖將釋放,其餘任務能夠得到這個鎖

7 (多選)下列說法正確的是:

A. volatilesynchronized均可以修飾變量,方法以及方法塊

B.對一個volatile變量的寫操做happen-before於後續對於這個volatile變量的讀操做

C.volatilesynchronized機制都可確保變量在多個線程之間的可見性和原子性,但volatile是更輕量級的同步機制

D.volatile只能確保可見性,加鎖機制便可以確保可見性又能夠確保原子性

8 (多選)關於類加載器ClassLoader(Java 9之前版本),下列說法正確的是:

A.啓動類加載器(Bootstrap ClassLoader):用來加載 jre/lib下面的jar包,如rt.jar

B. 擴展類加載器(Extensions ClassLoader):用來加載 jre/lib/ext/下的 jar包

C.應用類加載器(Application ClassLoader):用來根據 Java 應用的類路徑(CLASSPATH)來加載 Java 類

D.因爲父加載器的類型對於子加載器可見,因此j父加載器加載過的類型不會在子類加載器中重複加載

9 (多選)下列說法正確的是:

A. TCP重傳機制會致使HTTP服務端收到重複的報文

B.TCP協議提供可靠的鏈接服務,採用三次握手創建一個鏈接,而終止一個鏈接須要四次揮手

C.在TCP鏈接創建過程當中,服務器端經過建立socket,bind,listen完成鏈接準備工做,經過調用accept等待鏈接的創建。客戶端經過建立socket,調用connect發起鏈接創建請求

D.只有主動發起關閉 TCP 鏈接的一方纔會進入TIME_WAIT狀態

10 (多選)執行下列代碼,選出全部可能被打印出的選項:

public class MyClass {
  public String name;
  public void execute() {
    System.out.print("1");
    try {
      System.out.print("2");
         name.toString();
         System.out.print("3");
    } catch (NullPointerException e) {
      System.out.print("4");
      throw e;
    }
     System.out.print("5");
   }
   public static void main(String[] args) {
     MyClass myClass = new MyClass();
    myClass.execute();
     System.out.print("6");

    } 
}

A.1
B.2
C.3
D.4
E.5
F.6
G.NullPointerException stack trace


End




乾貨分享



這裏爲你們準備了一份小小的禮物,關注公衆號,輸入以下代碼,便可得到百度網盤地址,無套路領取!

001:《程序員必讀書籍》
002:《從無到有搭建中小型互聯網公司後臺服務架構與運維架構》
003:《互聯網企業高併發解決方案》
004:《互聯網架構教學視頻》
006:《SpringBoot實現點餐系統》
007:《SpringSecurity實戰視頻》
008:《Hadoop實戰教學視頻》
009:《騰訊2019Techo開發者大會PPT》

010: 微信交流羣






近期熱文top



一、關於JWT Token 自動續期的解決方案

二、SpringBoot開發祕籍-事件異步處理

三、架構師之路-服務器硬件掃盲

四、基於Prometheus和Grafana的監控平臺 - 環境搭建

五、RocketMQ進階 - 事務消息



我就知道你「在看」





本文分享自微信公衆號 - JAVA日知錄(javadaily)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索