Java日常練習(xí)題,每天進(jìn)步一點點(53)
承蒙各位厚愛,我們一起每天進(jìn)步一點點?。ㄊ髽?biāo)選中空白處查看答案)
1、在java中,無論在何處調(diào)用,使用靜態(tài)屬性必須以類名做前綴。
正確答案: B
正確
錯誤
題解:
1、如果是本類使用,可以直接就用靜態(tài)變量名。
2、如果是其他類使用,可以使用類名來調(diào)用,也可以創(chuàng)建一個實例對象來調(diào)用。
3、如果靜態(tài)變量所在的類是靜態(tài)類,那么不管在本類里或者在其他外部類,都可以直接使用靜態(tài)變量名。
2、若有定義語句: int a=10 ; double b=3.14 ; 則表達(dá)式 ‘A'+a+b 值的類型是()
正確答案: C
char
int
double
float
題解:
char < short < int < float < double 不同類型運算結(jié)果類型向右邊靠齊。
選C,double類型,因為按照類型大的與類型小的運算,強制轉(zhuǎn)換類型小的進(jìn)行運算的規(guī)則,double>int>char,因此結(jié)果是double類型。
3、SSH MVC開發(fā)模式說法正確的是( )
正確答案: B
Struts進(jìn)行業(yè)務(wù)流轉(zhuǎn)
Hibernate進(jìn)行數(shù)據(jù)庫操作的封裝
Spring進(jìn)行流程控制
其他選項均不正確
題解:
MVC 的處理過程:首先控制器接受用戶的請求,調(diào)用相應(yīng)的模型來進(jìn)行業(yè)務(wù)處理,并返回數(shù)據(jù)給控制器??刂破髡{(diào)用相應(yīng)的視圖來顯示處理的結(jié)果,并通過視圖呈現(xiàn)給用戶。
Struts 主要控制邏輯關(guān)系的處理
Spring 是一個輕量級的控制反轉(zhuǎn) (IoC) 和面向切面 (AOP) 的容器框架
Hibernate 是數(shù)據(jù)持久化層 , 是一種新的對象、關(guān)系的映射工具 , 提供了從 Java 類到數(shù)據(jù)表的映射,也提供了數(shù)據(jù)查詢和恢復(fù)等機制
4、下面關(guān)于垃圾收集的說法正確的是
正確答案: D
一旦一個對象成為垃圾,就立刻被收集掉。
對象空間被收集掉之后,會執(zhí)行該對象的finalize方法
finalize方法和C++的析構(gòu)函數(shù)是完全一回事情
一個對象成為垃圾是因為不再有引用指著它,但是線程并非如此
題解:
a. 不能確定回收時間
b. 回收前調(diào)用該方法
c. c++可以明確回收時間
5、下列語句正確的是:
正確答案: D
形式參數(shù)可被字段修飾符修飾
形式參數(shù)不可以是對象
形式參數(shù)為方法被調(diào)用時真正被傳遞的參數(shù)
形式參數(shù)可被視為local variable
題解:
A:形式參數(shù)只能被final修飾
B:形式參數(shù)可以是對象
C:形式參數(shù)被調(diào)用時被傳遞的是實際參數(shù)的拷貝
D:local variable:局部變量
6、結(jié)構(gòu)型模式中最體現(xiàn)擴展性的模式是()
正確答案: A
裝飾模式
合成模式
橋接模式
適配器
題解:
結(jié)構(gòu)型模式是描述如何將類對象結(jié)合在一起,形成一個更大的結(jié)構(gòu),結(jié)構(gòu)模式描述兩種不同的東西:類與類的實例。故可以分為類結(jié)構(gòu)模式和對象結(jié)構(gòu)模式。
在GoF設(shè)計模式中,結(jié)構(gòu)型模式有:
1.適配器模式 Adapter
適配器模式是將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
兩個成熟的類需要通信,但是接口不同,由于開閉原則,我們不能去修改這兩個類的接口,所以就需要一個適配器來完成銜接過程。
2.橋接模式 Bridge
橋接模式將抽象部分與它的實現(xiàn)部分分離,是它們都可以獨立地變化。它很好的支持了開閉原則和組合鋸和復(fù)用原則。實現(xiàn)系統(tǒng)可能有多角度分類,每一種分類都有可能變化,那么就把這些多角度分離出來讓他們獨立變化,減少他們之間的耦合。
3.組合模式 Composite
組合模式將對象組合成樹形結(jié)構(gòu)以表示部分-整體的層次結(jié)構(gòu),組合模式使得用戶對單個對象和組合對象的使用具有一致性。
4.裝飾模式 Decorator
裝飾模式動態(tài)地給一個對象添加一些額外的職責(zé),就增加功能來說,它比生成子類更靈活。也可以這樣說,裝飾模式把復(fù)雜類中的核心職責(zé)和裝飾功能區(qū)分開了,這樣既簡化了復(fù)雜類,有去除了相關(guān)類中重復(fù)的裝飾邏輯。 裝飾模式?jīng)]有通過繼承原有類來擴展功能,但卻達(dá)到了一樣的目的,而且比繼承更加靈活,所以可以說裝飾模式是繼承關(guān)系的一種替代方案。
5.外觀模式 Facade
外觀模式為子系統(tǒng)中的一組接口提供了同意的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。
外觀模式中,客戶對各個具體的子系統(tǒng)是不了解的,所以對這些子系統(tǒng)進(jìn)行了封裝,對外只提供了用戶所明白的單一而簡單的接口,用戶直接使用這個接口就可以完成操作,而不用去理睬具體的過程,而且子系統(tǒng)的變化不會影響到用戶,這樣就做到了信息隱蔽。
6.享元模式 Flyweight
享元模式為運用共享技術(shù)有效的支持大量細(xì)粒度的對象。因為它可以通過共享大幅度地減少單個實例的數(shù)目,避免了大量非常相似類的開銷。.
享元模式是一個類別的多個對象共享這個類別的一個對象,而不是各自再實例化各自的對象。這樣就達(dá)到了節(jié)省內(nèi)存的目的。
7.daili模式 Proxy
為其他對象提供一種daili,并由daili對象控制對原對象的引用,以間接控制對原對象的訪問。
7、當(dāng)我們需要所有線程都執(zhí)行到某一處,才進(jìn)行后面的的代碼執(zhí)行我們可以使用?
正確答案: B
CountDownLatch
CyclicBarrier
Semaphore
Future
題解:
CountDownLatch 是等待一組線程執(zhí)行完,才執(zhí)行后面的代碼。此時這組線程已經(jīng)執(zhí)行完。
CyclicBarrier 是等待一組線程至某個狀態(tài)后再同時全部繼續(xù)執(zhí)行線程。此時這組線程還未執(zhí)行完。
8、假設(shè) a 是一個由線程 1 和線程 2 共享的初始值為 0 的全局變量,則線程 1 和線程 2 同時執(zhí)行下面的代碼,最終 a 的
結(jié)果不可能是()
boolean isOdd = false;
for(int i=1;i<=2;++i)
{
if(i%2==1)isOdd = true;
else isOdd = false;
a+=i*(isOdd?1:-1);
}
正確答案: D
-1
-2
0
1
題解:
不管怎樣線程對a的操作就是+1后-2
1.線程1執(zhí)行完再線程2執(zhí)行,1-2+1-2=-2
2.線程1和2同時+1,再-2不同時,1-2-2=-3
3.線程1和2不同時+1,同時-2,1+1-2=0
4.線程1和2既同時+1又同時-2,1-2=-1
沒有結(jié)果為1的情況
9、下面哪個流類不屬于面向字符的流()
正確答案: B C
BufferedWriter
FileInputStream
ObjectInputStream
InputStreamReader
題解:
既然是字符流,那么就是reader和writer結(jié)尾,那么就選BC了
10、以下JAVA程序的運行結(jié)果是什么( )
public static void main(String[] args) {
Object o1 = true ? new Integer(1) : new Double(2.0);
Object o2;
if (true) {
o2 = new Integer(1);
} else {
o2 = new Double(2.0);
}
System.out.print(o1);
System.out.print(" ");
System.out.print(o2);
}
正確答案: D
1 1
1.0 1.0
1 1.0
1.0 1
題解:
三元操作符類型的轉(zhuǎn)換規(guī)則:
1.若兩個操作數(shù)不可轉(zhuǎn)換,則不做轉(zhuǎn)換,返回值為Object類型
2.若兩個操作數(shù)是明確類型的表達(dá)式(比如變量),則按照正常的二進(jìn)制數(shù)字來轉(zhuǎn)換,int類型轉(zhuǎn)換為long類型,long類型轉(zhuǎn)換為float類型等。
3.若兩個操作數(shù)中有一個是數(shù)字S,另外一個是表達(dá)式,且其類型標(biāo)示為T,那么,若數(shù)字S在T的范圍內(nèi),則轉(zhuǎn)換為T類型;若S超出了T類型的范圍,則T轉(zhuǎn)換為S類型。
4.若兩個操作數(shù)都是直接量數(shù)字,則返回值類型為范圍較大者符合4,所以選D
答案匯總:
1、正確答案: B
2、正確答案: C
3、正確答案: B
4、正確答案: D
5、正確答案: D
6、正確答案: A
7、正確答案: B
8、正確答案: D
9、正確答案: B C
10、正確答案: D
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java 反射修改類的常量值、靜態(tài)變量值、屬性值實例詳解
在本篇文章里小編給大家整理的是一篇關(guān)于Java 反射修改類的常量值、靜態(tài)變量值、屬性值實例詳解內(nèi)容,有興趣的讀者們可以跟著學(xué)習(xí)下。2021-01-01Java調(diào)用elasticsearch本地代碼的操作方法
這篇文章主要介紹了Java調(diào)用elasticsearch本地代碼的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04Java中Base64和File之間互轉(zhuǎn)代碼示例
這篇文章主要給大家介紹了關(guān)于Java中Base64和File之間互轉(zhuǎn)的相關(guān)資料,Base64是網(wǎng)絡(luò)上最常見的用于傳輸8Bit字節(jié)碼的編碼方式之一,Base64就是一種基于64個可打印字符來表示二進(jìn)制數(shù)據(jù)的方法,需要的朋友可以參考下2023-08-08使用Logback設(shè)置property參數(shù)方式
這篇文章主要介紹了使用Logback設(shè)置property參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03Spring+SpringMVC+JDBC實現(xiàn)登錄的示例(附源碼)
這篇文章主要介紹了Spring+SpringMVC+JDBC實現(xiàn)登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05