欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(51)

 更新時間:2021年08月25日 09:22:45   作者:牛哄哄的柯南  
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你

承蒙各位厚愛,我們一起每天進(jìn)步一點(diǎn)點(diǎn)?。ㄊ髽?biāo)選中空白處查看答案)

1、一個抽象類并不需要其中所有的方法都是抽象的。( )

正確答案: A

正確

錯誤

題解:
1)抽象類可以包括抽象方法和非抽象方法
2)如果類里面有抽象方法的話,那么類一定要聲明為抽象的!

2、下列程序的運(yùn)行結(jié)果

public static void main(String args[]) {
    Thread t = new Thread() {
        public void run() {
            pong();
        }
    };
    t.run();
    System.out.print("ping");
}
static void pong() {
    System.out.print("pong");
}

正確答案: B

pingpong

pongping

pingpong和pongping都有可能

都不輸出

題解:
這里需要注意Thread的start和run方法
用start方法才能真正啟動線程,此時線程會處于就緒狀態(tài),一旦得到時間片,則會調(diào)用線程的run方法進(jìn)入運(yùn)行狀態(tài)。
而run方法只是普通方法,如果直接調(diào)用run方法,程序只會按照順序執(zhí)行主線程這一個線程。

3、在Java中,關(guān)于HashMap類的描述,以下錯誤的是()?

正確答案: A

HashMap能夠保證其中元素的順序

HashMap允許將null用作值

HashMap允許將null用作鍵

HashMap使用鍵/值得形式保存數(shù)據(jù)

題解:
A.HashMap不能保證元素的順序,而LinkedHashMap可以保持?jǐn)?shù)據(jù)的插入順序,TreeMap可以按照鍵值進(jìn)行排序(可自定比較器)
B.HashMap允許存在多條null值
C.HashMap允許且僅允許一條null鍵
D.Map就是通過鍵/值形式保存數(shù)據(jù)的

4、以下程序的運(yùn)行結(jié)果是:( )

TreeSet<Integer> set = new TreeSet<Integer>();
 TreeSet<Integer> subSet = new TreeSet<Integer>();
 for(int i=606;i<613;i++){
 if(i%2==0){
 set.add(i);
 }
 }
 subSet = (TreeSet)set.subSet(608,true,611,true);
 set.add(629);
 System.out.println(set+" "+subSet);

正確答案: C

編譯失敗

發(fā)生運(yùn)行時異常

[606, 608, 610, 612, 629] [608, 610]

[606, 608, 610, 612, 629] [608, 610,629]

題解:
subset(form,true,to,true)是Treeset的非靜態(tài)方法,該方法返回從form元素到to元素的一個set集合,兩個boolean類型是確認(rèn)是否包含邊境值用的。
subset方法是求set的范圍內(nèi)的子集,兩個true是表示是否包含端點(diǎn)(608和611),故subSet的值為[608,610]

5、下列關(guān)于Java并發(fā)的說法中正確的是()

正確答案: B

CopyOnWriteArrayList適用于寫多讀少的并發(fā)場景

ReadWriteLock適用于讀多寫少的并發(fā)場景

ConcurrentHashMap的寫操作不需要加鎖,讀操作需要加鎖

只要在定義int類型的成員變量i的時候加上volatile關(guān)鍵字,那么多線程并發(fā)執(zhí)行i++這樣的操作的時候就是線程安全的了

題解:
A,CopyOnWriteArrayList適用于寫少讀多的并發(fā)場景
B,ReadWriteLock即為讀寫鎖,他要求寫與寫之間互斥,讀與寫之間互斥,
讀與讀之間可以并發(fā)執(zhí)行。在讀多寫少的情況下可以提高效率
C,ConcurrentHashMap是同步的HashMap,讀寫都加鎖
D,volatile只保證多線程操作的可見性,不保證原子性

6、下面有關(guān)struts1和struts2的區(qū)別,描述錯誤的是?

正確答案: B

Struts1要求Action類繼承一個抽象基類。Struts 2 Action類可以實(shí)現(xiàn)一個Action接口

Struts1 Action對象為每一個請求產(chǎn)生一個實(shí)例。Struts2 Action是單例模式并且必須是線程安全的

Struts1 Action 依賴于Servlet API,Struts 2 Action不依賴于容器,允許Action脫離容器單獨(dú)被測試

Struts1 整合了JSTL,Struts2可以使用JSTL,但是也支持OGNL

題解:
Struts1和Struts2的區(qū)別和對比:
Action 類:
• Struts1要求Action類繼承一個抽象基類。Struts1的一個普遍問題是使用抽象類編程而不是接口,而struts2的Action是接口。
• Struts 2 Action類可以實(shí)現(xiàn)一個Action接口,也可實(shí)現(xiàn)其他接口,使可選和定制的服務(wù)成為可能。Struts2提供一個ActionSupport基類去 實(shí)現(xiàn) 常用的接口。Action接口不是必須的,任何有execute標(biāo)識的POJO對象都可以用作Struts2的Action對象。
線程模式:
• Struts1 Action是單例模式并且必須是線程安全的,因?yàn)閮H有Action的一個實(shí)例來處理所有的請求。單例策略限制了Struts1 Action能作的事,并且要在開發(fā)時特別小心。Action資源必須是線程安全的或同步的。
• Struts2 Action對象為每一個請求產(chǎn)生一個實(shí)例,因此沒有線程安全問題。(實(shí)際上,servlet容器給每個請求產(chǎn)生許多可丟棄的對象,并且不會導(dǎo)致性能和垃圾回收問題)
Servlet 依賴:
• Struts1 Action 依賴于Servlet API ,因?yàn)楫?dāng)一個Action被調(diào)用時HttpServletRequest 和 HttpServletResponse 被傳遞給execute方法。
• Struts 2 Action不依賴于容器,允許Action脫離容器單獨(dú)被測試。如果需要,Struts2 Action仍然可以訪問初始的request和response。但是,其他的元素減少或者消除了直接訪問HttpServetRequest 和 HttpServletResponse的必要性。
可測性:
• 測試Struts1 Action的一個主要問題是execute方法暴露了servlet API(這使得測試要依賴于容器)。一個第三方擴(kuò)展--Struts TestCase--提供了一套Struts1的模擬對象(來進(jìn)行測試)。
• Struts 2 Action可以通過初始化、設(shè)置屬性、調(diào)用方法來測試,“依賴注入”支持也使測試更容易。
捕獲輸入:
• Struts1 使用ActionForm對象捕獲輸入。所有的ActionForm必須繼承一個基類。因?yàn)槠渌鸍avaBean不能用作ActionForm,開發(fā)者經(jīng)常創(chuàng)建多余的類捕獲輸入。動態(tài)Bean(DynaBeans)可以作為創(chuàng)建傳統(tǒng)ActionForm的選擇,但是,開發(fā)者可能是在重新描述(創(chuàng)建)已經(jīng)存 在的JavaBean(仍然會導(dǎo)致有冗余的javabean)。
• Struts 2直接使用Action屬性作為輸入屬性,消除了對第二個輸入對象的需求。輸入屬性可能是有自己(子)屬性的rich對象類型。Action屬性能夠通過 web頁面上的taglibs訪問。Struts2也支持ActionForm模式。rich對象類型,包括業(yè)務(wù)對象,能夠用作輸入/輸出對象。這種 ModelDriven 特性簡化了taglib對POJO輸入對象的引用。
表達(dá)式語言:
• Struts1 整合了JSTL,因此使用JSTL EL。這種EL有基本對象圖遍歷,但是對集合和索引屬性的支持很弱。
• Struts2可以使用JSTL,但是也支持一個更強(qiáng)大和靈活的表達(dá)式語言--“Object Graph Notation Language” (OGNL).
Struts2是多例的

7、以下哪一個正則表達(dá)式不能與字符串“https://www.tensorflow.org/”(不含引號)匹配?()

正確答案: B

[a-z]+://[a-z.]+/

https[://]www[.]tensorflow[.]org[/]

[htps]+://www.tensorflow.org/

[a-zA-Z.:/]+

題解:
[]只能匹配一個既定字符,://只能匹配一個。

8、多態(tài)的作用()

正確答案: B C

隱藏細(xì)節(jié)

提高可重用性

擴(kuò)展代碼模塊

提高編譯可靠性

題解:
c++里面也有多態(tài),題目說的多態(tài)并不只限于java中里面的多態(tài),這題不用深究,理解多態(tài)的概念就行。

9、關(guān)于struts項(xiàng)目中的類與MVC模式的對應(yīng)關(guān)系,說法錯誤的是

正確答案: C D

Jsp文件實(shí)現(xiàn)視圖View的功能

ActionServlet這一個類是整個struts項(xiàng)目的控制器

ActionForm、Action都屬于Model部分

一個struts項(xiàng)目只能有一個Servlet

題解:
Action是不屬于Model部分的。
不只是有一個
這題有點(diǎn)老了

10、下列哪些方法是針對循環(huán)優(yōu)化進(jìn)行的

正確答案: A B D

強(qiáng)度削弱

刪除歸納變量

刪除多余運(yùn)算

代碼外提

題解:
多余運(yùn)算在編譯期就會自動優(yōu)化

答案匯總:

1、正確答案: A

2、正確答案: B

3、正確答案: A

4、正確答案: C

5、正確答案: B

6、正確答案: B

7、正確答案: B

8、正確答案: B C

9、正確答案: C D

10、正確答案: A B D

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望你能給多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評論