1,volatile關鍵字是否能保證線程安全?()
答案:否
volatile關鍵字用在多線程同步中,可保證讀取的可見性,JVM只是保證從主內存加載到線程工作內存的值是最新的讀取值,而非cache中。但多個線程對volatile的寫操作,無法保證線程安全。
假如線程1,線程2在進行read,load操作中,發(fā)現(xiàn)主內存中count的值都是5,那么都會加載這個最新的值,在線程1對count進行修改之后,會write到主內存中,主內存中的count變量就會變?yōu)?;線程2由于已經(jīng)進行read,load操作,在進行運算之后,也會更新主內存count的變量值為6;導致兩個線程及時volatile關鍵字修改之后,還是會存在并發(fā)的情況。
2,下面哪個流類屬于面向字符的輸入流()
A、BufferedWriter
B、FileInputStream
C、ObjectInputStream
D、InputStreamReader
答案:D
Java的IO操作中有面向字節(jié)(Byte)和面向字符(Character)兩種方式。
面向字節(jié)的操作為以8位為單位對二進制的數(shù)據(jù)進行操作,對數(shù)據(jù)不進行轉換,這些類都是InputStream和OutputStream的子類。
面向字符的操作為以字符為單位對數(shù)據(jù)進行操作,在讀的時候將二進制數(shù)據(jù)轉為字符,在寫的時候將字符轉為二進制數(shù)據(jù),這些類都是Reader和Writer的子類。
3,Java能不能不通過構造函數(shù)創(chuàng)建對象()
A、能B、不能
答案:A
Java創(chuàng)建對象的幾種方式:
(1)用new語句創(chuàng)建對象,這是最常見的創(chuàng)建對象的方法。
(2)運用反射手段,調用java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。
(3)調用對象的clone()方法。
(4)運用反序列化手段,調用java.io.ObjectInputStream對象的readObject()方法。
(1)和(2)都會明確的顯式的調用構造函數(shù);(3)是在內存上對已有對象的影印,所以不會調用構造函數(shù);(4)是從文件中還原類的對象,也不會調用構造函數(shù)。
4,下列哪個敘述是正確的()
A.子類繼承父類的構造方法。
B.abstract類的子類必須是非abstract類。
C.子類繼承的方法只能操作子類繼承和隱藏的成員變量。
D.子類重寫或新增的方法也能直接操作被子類隱藏的成員變量。
答案:C
子類是不繼承父類的構造方法的,而是必須調用其父類的構造方法。
abstract類的子類可以是abstract類,如果是非abstract類,就必須重寫父類中所有的abstract方法。
D中子類新增的方法是不能直接操作被子類隱藏的成員變量的。
5,下列哪個敘述是正確的()
A.final類可以有子類。
B.abstract類中只可以有abstract方法。
C.abstract類中可以有非abstract方法,但該方法不可以用final修飾。
D.不可以同時用final和abstract修飾同一個方法。
E.允許使用static修飾abstract方法。
答案:D
用final修飾的類是不允許被繼承的,A錯誤
abstract類中也可以有普通成員方法,B錯誤
abstract類中的非abstract方法是可以用final修飾的,而abstract方法是不可以被final修飾的,C錯誤
D同上,正確
不允許使用static修飾abstract方法,E錯誤。
6,當檢索一個壓縮文件時,首先要建立壓縮文件輸入流對象,該對象()
A、以選中的壓縮文件為參數(shù)
B、以FileInputStream對象為參數(shù)
C、以InputStreamReader對象為參數(shù)
D、以BufferedReader對象為參數(shù)
答案:B
在java.io包中提供了對壓縮文件進行操作的能力。它是通過壓縮文件輸入流與壓縮文件輸出流來實現(xiàn)的,其分別繼承自InflaterInputStream與DeflaterOutputStream。
在創(chuàng)建壓縮文件輸入流時,其初始化參數(shù)是一個FileInputStream類的實例。
7,已知一個有序線性表為()(13,18,24,35,47,50,62,83,90,115,134),當用二分法查找值為90的元素時,查找成功的比較次數(shù)為()
A,1B,2C,3D,9
答案:B
根據(jù)二分法查找需要兩次:首先將90與表中間的元素50進行比較,由于90大于50,所以在線性表的后半部分查找;第二次比較的元素是后半部分的中間元素,即90,這時兩者相等,即查找成功。
8,Java程序的并發(fā)機制是()
A.多線程
B.多接口
C.多平臺
D.多態(tài)性
答案:A
Java是通過多線程實現(xiàn)并發(fā)機制的。多線程是指一個程序中包含多個執(zhí)行流,多線程程序設計的含義是可以將程序任務分成幾個并行的子任務。
9,下列選項中,不屬于模塊間耦合的是()
A.數(shù)據(jù)耦合
B.標記耦合
C.異構耦合
D.公共耦合
答案:C
模塊之間的耦合程度反映了模塊的獨立性,也反映了系統(tǒng)分解后的復雜程度。按照耦合程度從弱到強,可以將其分成7級。
分別是非直接耦合、數(shù)據(jù)耦合、標記耦合、控制耦合、外部耦合、公共耦合和內容耦合。其中沒有異構耦合這種方式。
10,下列關于內部類的說法不正確的是()
A,內部類的類名只能在定義它的類或程序段中或在表達式內部匿名使用
B,內部類可以使用它所在類的靜態(tài)成員變量和實例成員變量
C,內部類不可以用abstract修飾符定義為抽象類
D,內部類可作為其他類的成員,而且可訪問它所在類的成員
答案:C
內部類不僅可以用abstract修飾定義為抽象類,也可以用private或protected定義,所以選項C說法錯誤。
以上就是長沙達內教育Java培訓機構小編介紹的“亞信java筆試題庫,面試都會涉及到哪些內容”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。
相關推薦
最新最全java面試題及答案(初級到高級)
史上最全的中高級JAVA工程師面試題及答案匯總
Java高級開發(fā)工程師面試題
2019史上最全java面試題題庫大全800題
哪有資深java工程師面試題