答案:否java
volatile關鍵字用在多線程同步中,可保證讀取的可見性,JVM只是保證從主內存加載到線程工做內存的值是最新的讀取值,而非cache中。但多個線程對volatile的寫操做,沒法保證線程安全。
安全
假如線程1,線程2 在進行read,load 操做中,發現主內存中count的值都是5,那麼都會加載這個最新的值,在線程1對count進行修改以後,會write到主內存中,主內存中的count變量就會變爲6;線程2因爲已經進行read,load操做,在進行運算以後,也會更新主內存count的變量值爲6;致使兩個線程及時volatile關鍵字修改以後,仍是會存在併發的狀況。多線程
A、BufferedWriter
併發
B、FileInputStream
函數
C、ObjectInputStream
線程
D、InputStreamReader設計
答案:D3d
Java的IO操做中有面向字節(Byte)和麪向字符(Character)兩種方式。
面向字節的操做爲以8位爲單位對二進制的數據進行操做,對數據不進行轉換,這些類都是InputStream和OutputStream的子類。
面向字符的操做爲以字符爲單位對數據進行操做,在讀的時候將二進制數據轉爲字符,在寫的時候將字符轉爲二進制數據,這些類都是Reader和Writer的子類。cdn
A、能 B、不能
對象
答案:A
Java建立對象的幾種方式:
(1) 用new語句建立對象,這是最多見的建立對象的方法。
(2) 運用反射手段,調用java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。
(3) 調用對象的clone()方法。
(4) 運用反序列化手段,調用java.io.ObjectInputStream對象的 readObject()方法。
(1)和(2)都會明確的顯式的調用構造函數 ;(3)是在內存上對已有對象的影印,因此不會調用構造函數 ;(4)是從文件中還原類的對象,也不會調用構造函數。
答案:C
子類是不繼承父類的構造方法的,而是必須調用其父類的構造方法。
abstract類的子類能夠是abstract類,若是是非abstract類,就必須重寫父類中全部的abstract方法。
D中子類新增的方法是不能直接操做被子類隱藏的成員變量的。
答案:D
用final修飾的類是不容許被繼承的,A錯誤
abstract類中也能夠有普通成員方法,B錯誤
abstract類中的非abstract方法是能夠用final修飾的,而abstract方法是不能夠被final修飾的,C錯誤
D同上,正確
不容許使用static修飾abstract方法,E錯誤。
A、以選中的壓縮文件爲參數
B、以FileInputStream對象爲參數
C、以InputStreamReader對象爲參數
D、以BufferedReader對象爲參數
答案:B
在java.io包中提供了對壓縮文件進行操做的能力。它是經過壓縮文件輸入流與壓縮文件輸出流來實現的,其分別繼承自InflaterInputStream與DeflaterOutputStream。
在建立壓縮文件輸入流時,其初始化參數是一個FileInputStream類的實例。
A,1 B,2 C,3 D,9
答案:B
根據二分法查找須要兩次:首先將90與表中間的元素50進行比較,因爲90大於50,因此在線性表的後半部分查找;第二次比較的元素是後半部分的中間元素,即90,這時二者相等,即查找成功。
A.多線程
B.多接口
C.多平臺
D.多態性
答案:A
Java是經過多線程實現併發機制的。多線程是指一個程序中包含多個執行流, 多線程程序設計的含義是能夠將程序任務分紅幾個並行的子任務。
答案:C
模塊之間的耦合程度反映了模塊的獨立性,也反映了系統分解後的複雜程度。 按照耦合程度從弱到強,能夠將其分紅7級。
分別是非直接耦合、數據耦合、標記耦合、控制 耦合、外部耦合、公共耦合和內容耦合。其中沒有異構耦合這種方式。
答案:C
內部類不只能夠用abstract修飾定義爲抽象類,也能夠用private或protected定義,因此選項C說法錯誤。
上期回顧:Java筆試題庫(04期)