想知道本身的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 false
web
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.CountDownLatch
和CyclicBarrier
中的計數器都可經過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. volatile
,synchronized
均可以修飾變量,方法以及方法塊
B.對一個volatile變量的寫操做happen-before
於後續對於這個volatile變量的讀操做
C.volatile
和synchronized
機制都可確保變量在多個線程之間的可見性和原子性,但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
乾貨分享
這裏爲你們準備了一份小小的禮物,關注公衆號,輸入以下代碼,便可得到百度網盤地址,無套路領取!
001:《程序員必讀書籍》
002:《從無到有搭建中小型互聯網公司後臺服務架構與運維架構》
003:《互聯網企業高併發解決方案》
004:《互聯網架構教學視頻》
006:《SpringBoot實現點餐系統》
007:《SpringSecurity實戰視頻》
008:《Hadoop實戰教學視頻》
009:《騰訊2019Techo開發者大會PPT》
010: 微信交流羣
近期熱文top
我就知道你「在看」
![](http://static.javashuo.com/static/loading.gif)
本文分享自微信公衆號 - JAVA日知錄(javadaily)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。