Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(37)
1、java中,用( )關(guān)鍵字定義常量?
正確答案: A
final
#define
float
const
題解:
A:final修飾變量,表示變量的指向(引用地址)不可變。
B:#define,Java中沒(méi)這個(gè)東西。
C:?jiǎn)尉雀↑c(diǎn)。
D:const,這是個(gè)保留關(guān)鍵字,和goto一樣。暫時(shí)沒(méi)有用,是C和C++中的常量關(guān)鍵字。
2、以下代碼的循環(huán)次數(shù)是
public class Test { public static void main(String args[]) { int i = 7; do { System.out.println(--i); --i; } while (i != 0); System.out.println(i); } }
正確答案: D
0
1
7
無(wú)限次
題解:
會(huì)先執(zhí)行do循環(huán)體一次,再判斷while里的判斷條件是否成立,如果成立繼續(xù),不成立退出,單獨(dú)的–i和i–沒(méi)有區(qū)別,但是在表達(dá)式中,–i會(huì)先進(jìn)行自減再執(zhí)行語(yǔ)句,而i–是先執(zhí)行語(yǔ)句再進(jìn)行自減,這一題每次循環(huán)執(zhí)行輸出語(yǔ)句時(shí)i自減1,執(zhí)行–i時(shí)再次自減1,每次循環(huán)減2,總值為7,第四次執(zhí)行循環(huán)時(shí),i=-1,不等于0,所以會(huì)無(wú)限次循環(huán)。
3、下面代碼的執(zhí)行結(jié)果是 :
class Chinese{
private static Chinese objref =new Chinese();
private Chinese(){}
public static Chinese getInstance() { return objref; }
}
public class TestChinese {
public static void main(String [] args) {
Chinese obj1 = Chinese.getInstance();
Chinese obj2 = Chinese.getInstance();
System.out.println(obj1 == obj2);
}
}
正確答案: A
true
false
TRUE
FALSE
題解:
餓漢式單例模式,在類創(chuàng)建時(shí),就已經(jīng)實(shí)例化完成,在調(diào)用Chinese.getInstance()時(shí),直接獲取靜態(tài)對(duì)象,obj1和obj2其實(shí)是一個(gè)對(duì)象,應(yīng)該返回true。
4、如果一個(gè)接口Glass有個(gè)方法setColor(),有個(gè)類BlueGlass實(shí)現(xiàn)接口Glass,則在類BlueGlass中正確的是? ( )
正確答案: C
protected void setColor() { …}
void setColor() { …}
public void setColor() { …}
以上語(yǔ)句都可以用在類BlueGlass中
題解:
接口中屬性為public static final。方法為public abstract,子類的權(quán)限不能比父類更低。
5、下面的輸出結(jié)果是什么?
public class Demo {
public static void main(String args[])
{
String str=new String(“hello”);
if(str==“hello”)
{
System.out.println(“true”);
}
else {
System.out.println(“false”);
}
}
}
正確答案: B
true
false
題解:
==用來(lái)判斷兩個(gè)變量是否相等時(shí),如果兩個(gè)變量是基本類型變量,且都是數(shù)值類型(不要求數(shù)據(jù)類型嚴(yán)格相同),則只要兩個(gè)變量的值相等,就返回true;對(duì)于兩個(gè)引用類型變量,必須指向同一個(gè)對(duì)象,==才會(huì)返回true。==判斷的是對(duì)象引用地址是否相同,String str=new String(“hello”);
這句話new了一個(gè)新的String對(duì)象,所以地址與"hello"字符串常量的地址不同,答案為false,如果判斷字符串是否相等應(yīng)給用str.equals(“hello”)方法。
6、以下JAVA程序代碼的輸出是
public static void main(String args[]) {
System.out.println(14^3);
}
正確答案: B
2744
13
17
11
題解:
^表示異或 就是相同是0 不同是1
14是1110
3是0011
所以14^3=1101,即13
7、Which method you define as the starting point of new thread in a class from which n thread can be execution?
翻譯:在一個(gè)可以執(zhí)行n個(gè)線程的類中,哪個(gè)方法定義為新線程的起點(diǎn)?
正確答案: B
public void start()
public void run()
public void int()
public static void main(String args[])
public void runnable()
題解:
問(wèn)線程執(zhí)行的入口,start()是啟動(dòng)該線程的方法,是啟動(dòng)的動(dòng)作,run方法就是線程執(zhí)行的入口。
8、Java1.8之后,Java接口的修飾符可以為()
正確答案: D
private
protected
final
abstract
題解:
接口是一種特殊的抽象類,先說(shuō)明抽象類中的抽象方法,再說(shuō)明接口
抽象類中的抽象方法(其前有 abstract1修飾)不能用 private、 static、 synchronized、native訪回修飾符修飾。原因如下:
1、private
抽象方法沒(méi)有方法體,是用來(lái)被繼承的,所以不能用 private修飾。
2、static
static修飾的方法可以通過(guò)類名來(lái)訪間該方法(即該方法的方法體),抽象方法用sttic修飾沒(méi)有意義。
3.、synchronized
該關(guān)鍵字是為該方法加一個(gè)鎖。而如果該關(guān)鍵字修飾的方法是 static方法。則使用的鎖就是class變量的鎖。如果是修飾類方法。則用this變量鎖。
但是抽象類不能實(shí)例化對(duì)象,因?yàn)樵摲椒ú皇窃谠摮橄箢愔袑?shí)現(xiàn)的。是在其子類實(shí)現(xiàn)的。所以,鎖應(yīng)該歸其子類所有。所以,抽象方法也就不能用 synchronized關(guān)鍵字修飾了。
4、native
native這個(gè)東西本身就和 abstract沖突,他們都是方法的聲明,只是一個(gè)把方法實(shí)現(xiàn)移交給子類,另一個(gè)是移交給本地操作系統(tǒng)。如果同時(shí)出現(xiàn),就相當(dāng)于即把實(shí)現(xiàn)移交給子類,又把實(shí)現(xiàn)移交給本地操作系統(tǒng),那到底誰(shuí)來(lái)實(shí)現(xiàn)具體方法呢?
接口是一種特殊的抽象類,接口中的方法全部是抽象方法(但其前的 abstract可以省略),所以抽象類中的抽象方法不能用的訪間修飾符這里也不能用。同時(shí)額外說(shuō)明一下protect關(guān)鍵詞
5、protect
protected訪同修飾符也不能使用,因?yàn)榻涌诳梢宰屗械念惾?shí)現(xiàn)(非繼承),不只是其子類,但是要用public去修飾。接口可以去繼承一個(gè)已有的接口。
9、假如某個(gè)JAVA進(jìn)程的JVM參數(shù)配置如下:
-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
請(qǐng)問(wèn)eden區(qū)最終分配的大小是多少?
正確答案: C
64M
500M
300M
100M
題解:
先分析一下里面各個(gè)參數(shù)的含義:
-Xms:1G , 就是說(shuō)初始堆大小為1G
-Xmx:2G , 就是說(shuō)最大堆大小為2G
-Xmn:500M ,就是說(shuō)年輕代大小是500M(包括一個(gè)Eden和兩個(gè)Survivor)
-XX:MaxPermSize:64M , 就是說(shuō)設(shè)置持久代最大值為64M
-XX:+UseConcMarkSweepGC , 就是說(shuō)使用使用CMS內(nèi)存收集算法
-XX:SurvivorRatio=3 , 就是說(shuō)Eden區(qū)與Survivor區(qū)的大小比值為3:1:1
題目中所問(wèn)的Eden區(qū)的大小是指年輕代的大小,直接根據(jù)-Xmn:500M和-XX:SurvivorRatio=3可以直接計(jì)算得出
500M*(3/(3+1+1))
=500M*(3/5)
=500M*0.6
=300M
所以Eden區(qū)域的大小為300M。
10、在Struts框架中如果要使用Validation作驗(yàn)證的話,需要使用以下哪個(gè)Form?
正確答案: D
ActionForm
ValidatorActionForm
ValidatorForm
DynaValidatorActionForm
總結(jié)
本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
java 刪除文件夾中的所有內(nèi)容而不刪除文件夾本身的實(shí)例
下面小編就為大家?guī)?lái)一篇java 刪除文件夾中的所有內(nèi)容而不刪除文件夾本身的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12解析Java的Jackson庫(kù)中Streaming API的使用
這篇文章主要介紹了解析Java的Jackson庫(kù)中Streaming API的使用,Jackson被用于Java對(duì)象和JSON的互相轉(zhuǎn)換,需要的朋友可以參考下2016-01-01詳解SpringBoot 應(yīng)用如何提高服務(wù)吞吐量
這篇文章主要介紹了Spring Boot 應(yīng)用如何提高服務(wù)吞吐量,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07springboot接收日期字符串參數(shù)與返回日期字符串類型格式化
這篇文章主要介紹了springboot接收日期字符串參數(shù)與返回日期字符串類型格式化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Java動(dòng)態(tài)字節(jié)碼注入技術(shù)的實(shí)現(xiàn)
Java動(dòng)態(tài)字節(jié)碼注入技術(shù)是一種在運(yùn)行時(shí)修改Java字節(jié)碼的技術(shù),本文主要介紹了Java動(dòng)態(tài)字節(jié)碼注入技術(shù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08如何通過(guò)Java實(shí)現(xiàn)加密、解密Word文檔
這篇文章主要介紹了如何通過(guò)Java實(shí)現(xiàn)加密、解密Word文檔,對(duì)一些重要文檔,常需要對(duì)文件進(jìn)行加密,查看文件時(shí),需要正確輸入密碼才能打開(kāi)文件。下面介紹了一種比較簡(jiǎn)單的方法給Word文件加密以及如何給已加密的Word文件解除密碼保護(hù),需要的朋友可以參考下2019-07-07@Autowired自動(dòng)裝配,@Bean注入@Primary,@Qualifier優(yōu)先級(jí)講解
這篇文章主要介紹了@Autowired自動(dòng)裝配,@Bean注入@Primary,@Qualifier優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09