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

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

 更新時(shí)間:2021年07月29日 08:37:20   作者:牛哄哄的柯南  
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你

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

1、在異常處理中,若try中的代碼可能產(chǎn)生多種異常則可以對(duì)應(yīng)多個(gè)catch語(yǔ)句,若catch中的參數(shù)類型有父類子類關(guān)系,此時(shí)應(yīng)該將父類放在后面,子類放在前面。

正確答案: A

正確

錯(cuò)誤

題解:
首先所有異常都是Exception的子類。
比如用Exception
因?yàn)樗挟惓6际荅xception的子類,如果你把Exception放在前邊捕獲,后邊的catch將永遠(yuǎn)不會(huì)執(zhí)行

2、下面有關(guān)servlet中init,service,destroy方法描述錯(cuò)誤的是?

正確答案: D

init()方法是servlet生命的起點(diǎn)。一旦加載了某個(gè)servlet,服務(wù)器將立即調(diào)用它的init()方法

service()方法處理客戶機(jī)發(fā)出的所有請(qǐng)求

destroy()方法標(biāo)志servlet生命周期的結(jié)束

servlet在多線程下使用了同步機(jī)制,因此,在并發(fā)編程下servlet是線程安全的

題解:
servlet在多線程下其本身并不是線程安全的。
如果在類中定義成員變量,而在service中根據(jù)不同的線程對(duì)該成員變量進(jìn)行更改,那么在并發(fā)的時(shí)候就會(huì)引起錯(cuò)誤。最好是在方法中,定義局部變量,而不是類變量或者對(duì)象的成員變量。由于方法中的局部變量是在棧中,彼此各自都擁有獨(dú)立的運(yùn)行空間而不會(huì)互相干擾,因此才做到線程安全。

3、以下描述錯(cuò)誤的一項(xiàng)是( )?

正確答案: C

程序計(jì)數(shù)器是一個(gè)比較小的內(nèi)存區(qū)域,用于指示當(dāng)前線程所執(zhí)行的字節(jié)碼執(zhí)行 到了第幾行,是線程隔離的

原則上講,所有的對(duì)象都是在堆區(qū)上分配內(nèi)存,是線程之間共享的

方法區(qū)用于存儲(chǔ)JVM加載的類信息、常量、靜態(tài)變量,即使編譯器編譯后的代碼等數(shù)據(jù),是線程隔離的

Java方法執(zhí)行內(nèi)存模型,用于存儲(chǔ)局部變量,操作數(shù)棧,動(dòng)態(tài)鏈接,方法出口等信息,是線程隔離的

題解:
方法區(qū)和堆內(nèi)存是線程共享的。
程序計(jì)數(shù)器、虛擬機(jī)棧、本地方法棧是線程隔離的。
Java運(yùn)行時(shí)內(nèi)存
1.程序計(jì)數(shù)器,線程私有??梢钥醋魇钱?dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)指示器,字節(jié)碼解釋器工作時(shí)就是通過(guò)改變整個(gè)計(jì)數(shù)器的值來(lái)選取下一條需要執(zhí)行的字節(jié)碼指令,分支、循環(huán)、跳轉(zhuǎn)、異常處理、線程恢復(fù)等功能。
由于JVM的多線程是通過(guò)線程輪流切換并分配處理器執(zhí)行時(shí)間的方式來(lái)實(shí)現(xiàn)的,在任何一個(gè)確定的時(shí)刻,一個(gè)處理器(對(duì)于多核處理器來(lái)說(shuō)是一個(gè)內(nèi)核)都只會(huì)執(zhí)行一條線程中的指令。因此為了線程切換后能恢復(fù)到正確的執(zhí)行位置,每條線程都需要一個(gè)獨(dú)立的程序計(jì)數(shù)器,各條線程之間計(jì)數(shù)器互不影響,獨(dú)立存儲(chǔ),所以線程私有。
程序計(jì)數(shù)器是唯一一個(gè)在Java虛擬機(jī)規(guī)范中沒(méi)有規(guī)定任何OOM的區(qū)域。
2.Java虛擬機(jī)棧,線程私有。生命周期和線程相同。虛擬機(jī)棧描述的是Java方法執(zhí)行的內(nèi)存模型,每個(gè)方法在執(zhí)行的同時(shí)都會(huì)創(chuàng)建一個(gè)棧幀。每個(gè)方法從調(diào)用到執(zhí)行完成的過(guò)程,就對(duì)應(yīng)著一個(gè)棧幀在虛擬機(jī)中入棧到出棧的過(guò)程。
3.本地方法棧,線程私有。和虛擬機(jī)棧的區(qū)別就在于一個(gè)是為了執(zhí)行Java方法服務(wù),一個(gè)是為了虛擬機(jī)使用到的Native方法服務(wù)。
4.堆,線程共享。存放對(duì)象實(shí)例和數(shù)組。
5.方法區(qū),線程共享。存放已經(jīng)被JVM加載的類信息,常量,靜態(tài)變量,即時(shí)編譯器編譯后的代碼。

4、JSP 表達(dá)式的寫法:

正確答案: C

<% expression %>

<=% expression %>

<%= expression %>

<expression/>

題解:
(1)<%…%>:可以插入一些語(yǔ)句。
(2)<%! … %>:只能放置全局變量、全局常量、類、函數(shù)。
(3)<%= … %>:只能放置一個(gè)變量、常量。

5、Panel 和 Applet 的默認(rèn)布局管理器是( )

正確答案: B

CardLayout

FlowLayout

BorderLayout

GridLayout

題解:
BorderLayout布局管理器,是Frame默認(rèn)布局管理器,它是一個(gè)布置容器的邊框布局,它可以對(duì)容器 組件 進(jìn)行安排,并調(diào)整其大小,使其符合下列五個(gè)區(qū)域:北、南、東、西、中。每個(gè)區(qū)域最多只能包含一個(gè)組件,并通過(guò)相應(yīng)的常量進(jìn)行標(biāo)識(shí):NORTH、SOUTH、EAST、WEST、CENTER。
FlowLayout流式布局管理器,是Panel和Applet默認(rèn)布局管理器,它具有指定的對(duì)齊方式以及指定的水平和垂直間隙。
GridLayout布局管理器,GridLayout(int rows,int cols,int hgap,int vgap);建立一個(gè)表格的版面對(duì)象。rows代表有幾行,cols代表有幾列;hgap是組件之間的水平距離,vgap是組件之間的豎直距離。

6、What will be printed when you execute the following code?

class C {
    C() {
        System.out.print("C");
    }
}
class A {
    C c = new C();
    A() {
        this("A");
        System.out.print("A");
    }
    A(String s) {
        System.out.print(s);
    }
}
class Test extends A {
    Test() {
        super("B");
        System.out.print("B");
    }
    public static void main(String[] args) {
        new Test();
    }
}

正確答案: B

BB

CBB

BAB

None of the above

題解:
初始化過(guò)程是這樣的:
1.首先,初始化父類中的靜態(tài)成員變量和靜態(tài)代碼塊,按照在程序中出現(xiàn)的順序初始化;
2.然后,初始化子類中的靜態(tài)成員變量和靜態(tài)代碼塊,按照在程序中出現(xiàn)的順序初始化;
3.其次,初始化父類的普通成員變量和代碼塊,在執(zhí)行父類的構(gòu)造方法;
4.最后,初始化子類的普通成員變量和代碼塊,在執(zhí)行子類的構(gòu)造方法;
(1)初始化父類的普通成員變量和代碼塊,執(zhí)行 C c = new C(); 輸出C
(2)super(“B”); 表示調(diào)用父類的構(gòu)造方法,不調(diào)用父類的無(wú)參構(gòu)造函數(shù),輸出B
(3) System.out.print(“B”);
所以輸出CBB

7、下列選項(xiàng)中是正確的方法聲明的是?()

正確答案: A B C D

protected abstract void f1();

public final void f1() {}

static final void fq(){}

private void f1() {}

題解:
A:抽象方法只可以被public 和 protected修飾;
B:final可以修飾類、方法、變量,分別表示:該類不可繼承、該方法不能重寫、該變量是常量
C:static final 可以表達(dá)在一起來(lái)修飾方法,表示是該方法是靜態(tài)的不可重寫的方法
D:private 修飾方法(這太常見(jiàn)的)表示私有方法,本類可以訪問(wèn),外界不能訪問(wèn)

8、Java是一門支持反射的語(yǔ)言,基于反射為Java提供了豐富的動(dòng)態(tài)性支持,下面關(guān)于Java反射的描述,哪些是錯(cuò)誤的:( )

正確答案: A D F

A:Java反射主要涉及的類如Class, Method, Filed,等,他們都在java.lang.reflet包下

B:通過(guò)反射可以動(dòng)態(tài)的實(shí)現(xiàn)一個(gè)接口,形成一個(gè)新的類,并可以用這個(gè)類創(chuàng)建對(duì)象,調(diào)用對(duì)象方法

C:通過(guò)反射,可以突破Java語(yǔ)言提供的對(duì)象成員、類成員的保護(hù)機(jī)制,訪問(wèn)一般方式不能訪問(wèn)的成員

D:Java反射機(jī)制提供了字節(jié)碼修改的技術(shù),可以動(dòng)態(tài)的修剪一個(gè)類

E:Java的反射機(jī)制會(huì)給內(nèi)存帶來(lái)額外的開(kāi)銷。例如對(duì)永生堆的要求比不通過(guò)反射要求的更多

F:Java反射機(jī)制一般會(huì)帶來(lái)效率問(wèn)題,效率問(wèn)題主要發(fā)生在查找類的方法和字段對(duì)象,因此通過(guò)緩存需要反射類的字段和方法就能達(dá)到與之間調(diào)用類的方法和訪問(wèn)類的字段一樣的效率

題解:
A Class類在java.lang包
B 動(dòng)態(tài)代理技術(shù)可以動(dòng)態(tài)創(chuàng)建一個(gè)代理對(duì)象,反射不行
C 反射訪問(wèn)私有成員時(shí),F(xiàn)ield調(diào)用setAccessible可解除訪問(wèn)符限制
D CGLIB實(shí)現(xiàn)了字節(jié)碼修改,反射不行
E 反射會(huì)動(dòng)態(tài)創(chuàng)建額外的對(duì)象,比如每個(gè)成員方法只有一個(gè)Method對(duì)象作為root,他不胡直接暴露給用戶。調(diào)用時(shí)會(huì)返回一個(gè)Method的包裝類
F 反射帶來(lái)的效率問(wèn)題主要是動(dòng)態(tài)解析類,JVM沒(méi)法對(duì)反射代碼優(yōu)化。

9、在Java中下面Class的聲明哪些是錯(cuò)誤的?

正確答案: A B C

A:

public abstract final class Test {
	abstract void method();
}

B:

public abstract class Test {
	abstract final void method();
}

C:

public abstract class Test {
	abstract void method() {
}
}

D:

public class Test {
	final void method() {
}
}

題解:
A、final修飾的類為終態(tài)類,不能被繼承,而 抽象類是必須被繼承的才有其意義的,因此,final是不能用來(lái)修飾抽象類的。
B、 final修飾的方法為終態(tài)方法,不能被重寫。而繼承抽象類,必須重寫其方法。
C、抽象方法是僅聲明,并不做實(shí)現(xiàn)的方法。

10、以下哪些方法可以取到http請(qǐng)求中的cookie值()?

正確答案: B D

request.getAttribute

request.getHeader

request.getParameter

request.getCookies

題解:
下面的方法可用在 Servlet 程序中讀取 HTTP 頭。這些方法通過(guò) HttpServletRequest 對(duì)象可用:
1)Cookie[] getCookies()
返回一個(gè)數(shù)組,包含客戶端發(fā)送該請(qǐng)求的所有的 Cookie 對(duì)象。
2)Object getAttribute(String name)
以對(duì)象形式返回已命名屬性的值,如果沒(méi)有給定名稱的屬性存在,則返回 null。
3)String getHeader(String name)
以字符串形式返回指定的請(qǐng)求頭的值。Cookie也是頭的一種;
4)String getParameter(String name)
以字符串形式返回請(qǐng)求參數(shù)的值,或者如果參數(shù)不存在則返回 null。

答案匯總:

1、正確答案: A

2、正確答案: D

3、正確答案: C

4、正確答案: C

5、正確答案: B

6、正確答案: B

7、正確答案: A B C D

8、正確答案: A D F

9、正確答案: A B C

10、正確答案: B D

總結(jié)

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

相關(guān)文章

  • idea如何配置javafxsdk詳細(xì)教程

    idea如何配置javafxsdk詳細(xì)教程

    這篇文章主要介紹了idea如何配置javafxsdk,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)火鍋工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • springboot構(gòu)造樹(shù)形結(jié)構(gòu)數(shù)據(jù)并查詢的方法

    springboot構(gòu)造樹(shù)形結(jié)構(gòu)數(shù)據(jù)并查詢的方法

    本文主要介紹了springboot怎樣構(gòu)造樹(shù)形結(jié)構(gòu)數(shù)據(jù)并查詢,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 18個(gè)Java8日期處理的實(shí)踐(太有用了)

    18個(gè)Java8日期處理的實(shí)踐(太有用了)

    這篇文章主要介紹了18個(gè)Java8日期處理的實(shí)踐(太有用了),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • SpringBoot中的ImportSelector類動(dòng)態(tài)加載bean詳解

    SpringBoot中的ImportSelector類動(dòng)態(tài)加載bean詳解

    這篇文章主要介紹了SpringBoot中的ImportSelector類動(dòng)態(tài)加載bean詳解,ImportSelector接口是spring中導(dǎo)入外部配置的核心接口,根據(jù)給定的條件(通常是一個(gè)或多個(gè)注釋屬性)判定要導(dǎo)入那個(gè)配置類,在spring自動(dòng)化配置和@EnableXXX中都有它的存在,需要的朋友可以參考下
    2024-01-01
  • JavaSE實(shí)現(xiàn)文件壓縮與解壓縮的技巧分享

    JavaSE實(shí)現(xiàn)文件壓縮與解壓縮的技巧分享

    我們?cè)谌粘?shí)際開(kāi)發(fā)中,對(duì)于文件壓縮和解壓縮場(chǎng)景,是非常常見(jiàn)的操作,本文詳細(xì)介紹JavaSE中文件壓縮和解壓縮的實(shí)現(xiàn)方法,包括源代碼解析、應(yīng)用場(chǎng)景案例、優(yōu)缺點(diǎn)分析、案例演示、文末總結(jié)等等,請(qǐng)同學(xué)們耐心閱讀
    2024-03-03
  • Mapper類中存在名稱相同的方法重載報(bào)錯(cuò)問(wèn)題

    Mapper類中存在名稱相同的方法重載報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了Mapper類中存在名稱相同的方法重載報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • springboot項(xiàng)目打包鏡像方式以及區(qū)分環(huán)境打包的方法

    springboot項(xiàng)目打包鏡像方式以及區(qū)分環(huán)境打包的方法

    本文主要介紹了springboot項(xiàng)目打包鏡像方式以及區(qū)分環(huán)境打包的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • Java 垃圾回收機(jī)制詳解及實(shí)例代碼

    Java 垃圾回收機(jī)制詳解及實(shí)例代碼

    這篇文章主要介紹了 Java 垃圾回收機(jī)制詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • javaNIO中關(guān)于ByteBuffer的用法

    javaNIO中關(guān)于ByteBuffer的用法

    這篇文章主要介紹了javaNIO中關(guān)于ByteBuffer的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • java JTree JCheckBox樹(shù)復(fù)選框詳解

    java JTree JCheckBox樹(shù)復(fù)選框詳解

    這篇文章主要為大家詳細(xì)介紹了java JTree JCheckBox樹(shù)復(fù)選框的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評(píng)論