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