最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java日常練習(xí)題,每天進步一點點(9)

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

承蒙各位厚愛,我們一起每天進步一點點!(鼠標(biāo)選中空白處查看答案)

1、“先進先出”的容器是:( )

正確答案: B

堆棧(Stack)

隊列(Queue)

字符串(String)

迭代器(Iterator)

題解:
堆棧:先進后出
隊列:先進先出

2、不考慮反射機制,一個子類顯式調(diào)用父類的構(gòu)造器必須用super關(guān)鍵字。( )

正確答案: A

正確

錯誤

題解:
java中的super關(guān)鍵詞
super用于代表子類的直接父類的特征
super可以訪問:
父類的成員變量,成員方法,構(gòu)造方法
使用super關(guān)鍵詞的情況:
在子類中,存在與父類相同的屬性和方法,由于訪問子類中屬性和方法的優(yōu)先級高于父類,可以通過super關(guān)鍵詞來訪問父類中的屬性和方法
在子類中,可以通過super關(guān)鍵詞來顯示的調(diào)用父類的構(gòu)造方法
子類的構(gòu)造方法默認調(diào)用父類的無參構(gòu)造方法,當(dāng)父類中不存在無參構(gòu)造方法時,可以通過super來調(diào)用父類的有參構(gòu)造芳法來避免編譯時錯誤。

3、以下是java concurrent包下的4個類,選出差別最大的一個

正確答案: C

Semaphore

ReentrantLock

Future

CountDownLatch

題解:
A、Semaphore:類,控制某個資源可被同時訪問的個數(shù);
B、ReentrantLock:類,具有與使用synchronized方法和語句所訪問的隱式監(jiān)視器鎖相同的一些基本行為和語義,但功能更強大;
C、 Future:接口,表示異步計算的結(jié)果;
D、 CountDownLatch: 類,可以用來在一個線程中等待多個線程完成任務(wù)的類。

4、判斷對錯。在java的多態(tài)調(diào)用中,new的是哪一個類就是調(diào)用的哪個類的方法。

正確答案: B


題解:
java多態(tài)有兩種情況:重載和覆寫
在覆寫中,運用的是動態(tài)單分配,是根據(jù)new的類型確定對象,從而確定調(diào)用的方法;
在重載中,運用的是靜態(tài)多分派,即根據(jù)靜態(tài)類型確定對象,因此不是根據(jù)new的類型確定調(diào)用的方法

5、下面屬于java引用類型的有?

正確答案: A D

String

byte

char

Array

題解:
首先說一下,A選項的String應(yīng)該首字母大寫,小寫是錯的
java中除了基本數(shù)據(jù)類型都是引用數(shù)據(jù)類型
java中的基本數(shù)據(jù)類型如下
byte
shot
int
long
float
double
char
boolean
除此之外都是引用類型

6、有以下程序段, 則下面正確的選項是()

public class MyThead extends Thread{
	public static void main(String[] args) {
		MyThead t=new MyThead();
		MyThead s=new MyThead();
		t.start();
		System.out.println("one.");
		s.start();
		System.out.println("two.");
	}
	public void run() {
		System.out.println("Thread");
	}
}

正確答案: B C D

A:編譯失敗

B:程序運行可能結(jié)果為:

one.

Thread

two.

Thread

C:程序運行可能結(jié)果是:

one.

two.

Thread

Thread

D:程序運行結(jié)果不穩(wěn)定

題解:
start()是開啟線程,等待獲得時間片,一到獲得時間片就執(zhí)行。所以可能一開啟就獲得了時間片執(zhí)行,也有可能等到two輸出后才獲得了時間片。所以BC都可能,所以D也正確。

7、往OuterClass類的代碼段中插入內(nèi)部類聲明, 哪一個是錯誤的:

public class OuterClass{

private float f=1.0f;

//插入代碼到這里

}

正確答案: A B C D

A:class InnerClass{

public static float func(){return f;}

}

B:abstract class InnerClass{

public abstract float func(){}

}

C:static class InnerClass{

protected static float func(){return f;}

}

D:public class InnerClass{

static float func(){return f;}

}

題解:
主要考核了這幾個知識點:
1.靜態(tài)內(nèi)部類才可以聲明靜態(tài)方法
2.靜態(tài)方法不可以使用非靜態(tài)變量
3.抽象方法不可以有函數(shù)體
靜態(tài)方法不能訪問非靜態(tài)變量,A和C錯;
抽象類中的抽象方法不能有方法體,B錯;
一個類中有多個類聲明時,只能有一個public類,D錯

8、Java.Thread的方法resume()負責(zé)重新開始被以下哪個方法中斷的線程的執(zhí)行()。

正確答案: D

stop

sleep

wait

suspend

題解:
這道題太老了,suspend 和 resume 從 1.2 就棄用了。
suspend() 和 resume() 方法:兩個方法配套使用,suspend()使得線程進入阻塞狀態(tài),并且不會自動恢復(fù),必須其對應(yīng)的 resume() 被調(diào)用,才能使得線程重新進入可執(zhí)行狀態(tài)
線程的五大狀態(tài)及其轉(zhuǎn)換:
resume與suspended一起使用 wait與notify(notifyAll)一起使用 sleep會讓線程暫時不執(zhí)行 suspend() 和 resume() 方法:兩個方法配套使用,suspend()使得線程進入阻塞狀態(tài),并且不會自動恢復(fù),必須其對應(yīng)的 resume() 被調(diào)用,才能使得線程重新進入可執(zhí)行狀態(tài)。
線程從創(chuàng)建、運行到結(jié)束總是處于下面五個狀態(tài)之一:新建狀態(tài)、就緒狀態(tài)、運行狀態(tài)、阻塞狀態(tài)及死亡狀態(tài)。
1.新建狀態(tài)(New): 當(dāng)用new操作符創(chuàng)建一個線程時, 例如new Thread ( r),線程還沒有開始運行,此時線程處在新建狀態(tài)。 當(dāng)一個線程處于新生狀態(tài)時,程序還沒有開始運行線程中的代碼
2.就緒狀態(tài)(Runnable)
一個新創(chuàng)建的線程并不自動開始運行,要執(zhí)行線程,必須調(diào)用線程的start()方法。
當(dāng)線程對象調(diào)用start()方法即啟動了線程,start()方法創(chuàng)建線程運行的系統(tǒng)資源,
并調(diào)度線程運行run()方法。當(dāng)start()方法返回后,線程就處于就緒狀態(tài)。
處于就緒狀態(tài)的線程并不一定立即運行run()方法,線程還必須同其他線程競爭CPU
時間,只有獲得CPU時間才可以運行線程。因為在單CPU的計算機系統(tǒng)中,不可能
同時運行多個線程,一個時刻僅有一個線程處于運行狀態(tài)。因此此時可能有多個
線程處于就緒狀態(tài)。對多個處于就緒狀態(tài)的線程是由Java運行時系統(tǒng)的線程調(diào)度
程序(thread scheduler)來調(diào)度的。
3.運行狀態(tài)(Running)
當(dāng)線程獲得CPU時間后,它才進入運行狀態(tài),真正開始執(zhí)行run()方法.
4.阻塞狀態(tài)(Blocked)
線程運行過程中,可能由于各種原因進入阻塞狀態(tài): 1>線程通過調(diào)用sleep方法進入睡眠狀態(tài); 2>線程調(diào)用一個在I/O上被阻塞的操作,即該操作在輸入輸出操作完成之前不會返回到它的調(diào)用者; 3>線程試圖得到一個鎖,而該鎖正被其他線程持有; 4>線程在等待某個觸發(fā)條件; …
所謂阻塞狀態(tài)是正在運行的線程沒有運行結(jié)束,暫時讓出CPU,這時其他處于就緒狀態(tài)的線程就可以獲得CPU時間, 進入運行狀態(tài)。
5.死亡狀態(tài)(Dead)
有兩個原因會導(dǎo)致線程死亡:
run方法正常退出而自然死亡,
一個未捕獲的異常終止了run方法而使線程猝死。 為了確定線程在當(dāng)前是否存活著(就是要么是可運行的,要么是被阻塞了),需要使用isAlive方法。如果是 可運行或被阻塞,這個方法返回true; 如果線程仍舊是new狀態(tài)且不是可運行的, 或者線程死亡了, 則返回false.

9、下面關(guān)于面向?qū)ο蟮囊恍├斫饽男┦清e誤的( )

正確答案: C

A:面向?qū)ο蟮淖钪匾奶匦允侵С掷^承、封裝和多態(tài)

B:系統(tǒng)設(shè)計應(yīng)該遵循開閉原則,系統(tǒng)應(yīng)該穩(wěn)定不不可修改,但應(yīng)支持通過繼承、組合等方式進行擴展

C:函數(shù)式的語言必然是面向?qū)ο蟮恼Z言

D:面向?qū)ο笤O(shè)計時,每個類的職責(zé)應(yīng)該單一,不要再一個類中引入過多的接口

E:過程式語言和面向?qū)ο蟮恼Z言各有其優(yōu)勢,過程式語言更加靈活,面向?qū)ο笳Z言更加強調(diào)抽象和封裝

F:Java和C++都是靜態(tài)類型的面向?qū)ο缶幊陶Z言

題解:
C語言不是面向?qū)ο?,但是函?shù)式。

10、jvm中垃圾回收分為scanvenge gc和full GC,其中full GC觸發(fā)的條件可能有哪些

正確答案: C D E

A:??臻g滿

B:年輕代空間滿

C:老年代滿

D:持久代滿

E:System.gc()

題解:
Full GC是對整個堆進行整理,包括新生代、舊生代和持久代,速度比Scavenge GC慢,觸發(fā)的條件有:
(1)舊生代(老年代)被寫滿
(2)持久代被寫滿
(3)System.gc()
(4)上一次GC之后Heap的各域分配策略動態(tài)變化

答案匯總:

1、正確答案: B

2、正確答案: A

3、正確答案: C

4、正確答案: B

5、正確答案: A D

6、正確答案: B C D

7、正確答案: A B C D

8、正確答案: D

9、正確答案: C

10、正確答案: C D E

總結(jié)

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

相關(guān)文章

  • Maven的常用命令總結(jié)大全

    Maven的常用命令總結(jié)大全

    這篇文章主要給大家介紹了Maven常用命令總結(jié)的相關(guān)資料,maven最大的作用就是用于對項目中jar包依賴的統(tǒng)一管理,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • sublime編譯器怎么運行java程序

    sublime編譯器怎么運行java程序

    Sublime是一款強大的代碼編輯器,它提供了豐富的功能和插件,可以幫助開發(fā)者提高代碼的編寫效率和質(zhì)量,通過安裝相關(guān)插件和進行簡單配置,我們可以輕松地在Sublime中編譯和運行Java代碼,下面我們將詳細介紹如何配置Sublime,使其能夠高效地運行Java代碼
    2024-06-06
  • IntelliJ IDEA 2020 安裝和常用配置(推薦)

    IntelliJ IDEA 2020 安裝和常用配置(推薦)

    這篇文章主要介紹了IntelliJ IDEA 2020 安裝和常用配置(推薦),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • java設(shè)計模式--七大原則詳解

    java設(shè)計模式--七大原則詳解

    本篇文章主要對Java中的設(shè)計模式如,創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式以及7大原則進行了歸納整理,需要的朋友可以參考下,希望能給你帶來幫助
    2021-07-07
  • 阿里云發(fā)布 Spring Boot 新腳手架工程

    阿里云發(fā)布 Spring Boot 新腳手架工程

    這篇文章主要介紹了阿里云發(fā)布 Spring Boot 新腳手架的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,可以參考下
    2020-04-04
  • 部署springboot打包不打包配置文件,配置文件為外部配置文件使用詳解

    部署springboot打包不打包配置文件,配置文件為外部配置文件使用詳解

    在Spring Boot項目中,將配置文件排除在jar包之外,通過外部配置文件來管理不同環(huán)境的配置,可以實現(xiàn)靈活的配置管理,在pom.xml文件中添加相關(guān)配置,打包時忽略指定文件,運行時在jar包同級目錄下創(chuàng)建config文件夾,將配置文件放入其中即可
    2025-02-02
  • Java多線程繼承Thread類詳解

    Java多線程繼承Thread類詳解

    Java多線程的兩種實現(xiàn)方式:繼承Thread類 & 實現(xiàn)Runable接口,今天我們來學(xué)習(xí)下繼承Thread類,希望大家能夠喜歡
    2016-06-06
  • 關(guān)于Controller層和Service層的類報錯問題及解決方案

    關(guān)于Controller層和Service層的類報錯問題及解決方案

    這篇文章主要介紹了關(guān)于Controller層和Service層的類報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 關(guān)于@SpringBootApplication詳解

    關(guān)于@SpringBootApplication詳解

    這篇文章主要介紹了關(guān)于@SpringBootApplication的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java設(shè)計模式之策略模式的使用(Strategy?Pattern)

    Java設(shè)計模式之策略模式的使用(Strategy?Pattern)

    策略模式是一種行為型設(shè)計模式,用于定義一系列算法并將每個算法封裝起來,使它們可以互相替換,從而實現(xiàn)代碼的可維護性和靈活性,策略模式包含策略接口、具體策略類和上下文類,并通過將算法的選擇與使用分離,使得算法可以獨立變化
    2025-03-03

最新評論

黄石市| 东台市| 读书| 驻马店市| 手机| 清水县| 长春市| 哈尔滨市| 海南省| 呼和浩特市| 呼玛县| 呼玛县| 拉萨市| 威海市| 观塘区| 黎川县| 龙里县| 平乡县| 张家港市| 金阳县| 临西县| 西丰县| 阳山县| 大方县| 绥德县| 徐水县| 阿克| 云霄县| 德州市| 休宁县| 桐庐县| 襄樊市| 伊金霍洛旗| 临桂县| 高唐县| 调兵山市| 江源县| 元江| 晴隆县| 弋阳县| 长治县|