Java基礎筆記整理1--多執行緒&集合Collection
阿新 • • 發佈:2019-02-08
1. 下列說法正確的是(B D)
A 我們直接呼叫Thread物件的run方法會報異常,所以我們應該使用start方法來開啟一個執行緒
B 一個程序是一個獨立的執行環境,可以被看做一個程式或者一個應用。而執行緒是在程序中執行的一個任務。Java執行環境是一個包含了不同的類和程式的單一程序。執行緒可以被稱為輕量級程序。執行緒需要較少的資源來建立和駐留在程序中,並且可以共享程序中的資源
C synchronized可以解決可見性問題,volatile可以解決原子性問題
D ThreadLocal用於建立執行緒的本地變數,該變數是執行緒之間不共享的
筆記:
synchronized很強大,既可以保證可見性,又可以保證原子性,而volatile不能保證原子性!
2. Java多執行緒有幾種實現方法?(A B)
A 繼承Thread類
B 實現Runnable介面
C 實現Thread介面
D 以上都不正確
筆記:
多執行緒一共有三種實現方式
- 繼承Thread類,並重寫run()方法
- 實現Runnable介面,實現run()方法
- 實現Callable介面,執行緒結束後可以有返回值,但是該方式是依賴於執行緒池的。
3. 子類不能繼承父類的無參建構函式。
4. JAVA程式不能依賴於垃圾回收的時間或者順序
5. 關於HashMap和Hashtable正確的說法有(A C)
A.都實現了Map介面
B.Hashtable類不是同步的,而HashMap類是同步的
C.Hashtable不允許null鍵或值
D.HashMap不允許null或值
Collection
-----List
-----LinkedList 非同步
----ArrayList 非同步,實現了可變大小的元素陣列
----Vector 同步
-----Set 不允許有相同的元素
Map
-----HashTable 同步,實現一個key--value對映的雜湊表,key和value都不允許出現null值
-----HashMap 非同步,
-----WeakHashMap 改進的HashMap,實現了“弱引用”,如果一個key不被引用,則被GC回收
注:
- List介面中的物件按一定順序排列,允許重複
- Set介面中的物件沒有順序,但是不允許重複
- Map介面中的物件是key、value的對映關係,key不允許重複
6. 下列說法錯誤的有( B C D)
A.能被java.exe成功執行的java class檔案必須有main()方法
B.J2SDK就是Java API
C.Appletviewer.exe可利用jar選項執行.jar檔案
D.能被Appletviewer成功執行的java class檔案必須有main()方法
筆記:
B選項中 J2SDK是程式設計工具,不是API.
C選項中 appletviewer.exe執行選項引數中並沒有jar選項。如下如所示:
D選項中 能被Appletviewer成功執行的java class檔案沒有main()方法。
appletviewer(小程式瀏覽器):一種執行HTML檔案上的Java小程式類的Java瀏覽器,就是用來解釋執行java applet應用程式的,簡單理解就是沒有main函式的繼承applet類的 java 類。類似於WEB上開發的java類,不需要寫main函式。