java客觀題

5、關於Java的運行環境說法正確的有:
a. Java虛擬機 分析 並 解釋執行 字節碼程序。

【Java程序從源文件創建到程序運行要經過兩大步驟:
1、源文件由編譯器編譯成字節碼(ByteCode)  
2、字節碼由java虛擬機解釋運行。
因爲java程序既要編譯同時也要經過JVM的解釋運行,
所以說Java被稱爲半解釋語言。
  第一步(編譯): 創建完源文件之後,程序會先被編譯爲.class文件。
Java編譯一個類時,如果這個類所依賴的類還沒有被編譯,編譯器就會先編譯這個
被依賴的類,然後引用,否則直接引用。
第二步(運行):java類運行的過程大概可分爲兩個過程:1、類的加載  
2、類的執行。
需要說明的是:JVM主要在程序第一次主動使用類的時候,纔會去加載該類。
也就是說,JVM並不是在一開始就把一個程序就所有的類都加載到內存中,
而是到不得不用的時候才把它加載進來,而且只加載一次
[引用自](https://www.cnblogs.com/qiumingcheng/p/5398610.html)】

c. Java是一種平臺無關語言
d. Java保留了大部分與C++相似 的語法。
說法錯誤的是:
b. Java原程序通過集成開發環境(IDE) 翻譯爲字節碼程序.*

【JAVA是一種跨平臺語言,最大的優勢就是它實現了,一次編譯,到處運行的機制。
1、編寫階段——程序設計語言:寫java代碼
2、編譯階段——程序處理語言:把程序設計語言翻譯成目標語言-->.class文件
3、運行,調試階段——集成開發環境(IDE,如Eclipse):由這個平臺來執行編譯生成的程序
[到處運行的隱含條件——這裏的“到處”的前提是“裝有JVM”。 ]
[推薦](https://blog.csdn.net/wangyongxia921/article/details/28117155)】

9、Java虛擬機中,哪個數據區存儲的是所有線程共享的數據:
b. Java堆*

【Java虛擬機規範定義了字節碼執行期間使用的各種運行時數據區,
即JVM在執行Java程序的過程中,會把它管理的內存劃分爲若干個不同的數據區域,包括:程序計數器、java虛擬機棧、本地方法棧、java堆、方法區、運行時常量池;
   從線程共享角度來說,可以分爲兩類:
1、所有線程共享的數據區
   方法區、運行時常量池、java堆;
   這些數據區域是在Java虛擬機啓動時創建的,只有當Java虛擬機退出時纔會被銷燬;

2、線程間隔離的數據區
   程序計數器、java虛擬機棧、本地方法棧、
   這些數據區域是每個線程的"私有"數據區,每個線程都有自己的,不與其他線程共享;
   每個線程的數據區在創建線程時創建,並在線程退出時被銷燬;

3、另外,還一種特殊的數據區
  直接內存--使用Native函數庫直接分配的堆外內存;
   即Java內存區域 = JVM運行時數據區 +直接內存。
   推薦(https://www.cnblogs.com/alsf/p/9484807.html)】

10、關於Java關鍵字的說法正確的:
c. import表明要訪問指定的類或者包
說法錯誤的是:
b. extends只能作用於類,不能作用於接口。

   【 --->interface可以使用extends繼承且只能繼承另一個interface。
         	如:interface a{}
				interface c{}
				interface b extends a,c{}  是正確的。】

18、關於異常捕捉機制的描述,正確的是:
d. 如果任何封閉 try 塊都未捕獲到異常,Java解釋器將退出。
a. 注意–>try塊後必須跟不少於一個catch子句或一個finally子句,

【不一定必須跟的是一個catch子句。】

29多選, char(2字節) 轉 int(4字節) 可以自動轉,也可以強制轉換(int)

【多選推薦】(https://wenku.baidu.com/view/88e1ce13770bf78a642954a8.html)
https://wenku.baidu.com/view/ed61d5eeaeaad1f346933fb7.html】

31多選,少選
關於佈局管理器說法正確的是:
a、 佈局管理器用來管理組件放置在容器中的位置和大小
b、 每個容器都有一個佈局管理器
c、 使用佈局管理器可以使JAVA生成的圖形用戶界面具有平臺無關性*
d、 佈局管理器LayoutManager本身是一個接口,通常能夠使用的是實現了該接口的類

【Swing在不同平臺上運行的界面是一樣的。
關於Java佈局管理器的詳講:java的GUI設計(https://wenku.baidu.com/view/a762b019ff4733687e21af45b307e87101f6f882.html)】

32多選,少選
說法錯誤的有:
b、判斷一個對象是否可以被垃圾回收的條件爲是否還有對該對象的引用*

【片面,使用的是 引用計數算法(已被淘汰),現在多用的是 可達性		
分析算法(存在緩刑),且GC的不定時的特性無法明確回收的時機。 
推薦:(https://blog.csdn.net/canot/article/details/51037938)】

33多選,少選
說法正確的有:
a、 java中的集合類(如Vector)可以用來存儲任何類型的對象,且大小可以自動調整。
但需要事先知道所存儲對象的類型,才能正常使用。
b、在java中,可以用異常(Exception)來拋出一些並非錯誤的的信息,但這樣比直接從函數返回一個結果要花費更大的系統開銷。
c、java接口包含函數聲明和常量聲明。*
[例: interface a{
int a = 9;
void hasH();;
}
class b implements a{
public void hasH(){
System.out.println(a);
}
} ]

35多選,少選
java中,關於報的陳述正確的是:
d、可以將多個源文件中的類放在同一個包中。*

【此處的源文件指 編寫的java代碼】

記錄正確的說法:
Java中的輸入/輸出流的相關說法:
a、FileInputStream與FileOutputStream類用於讀、寫字節流
b、Reader 與 Writer類用來讀、寫字符流
c、RandomAccessFile既可以用來讀文件,也可以用來寫文件
c、File類用來處理與文件相關的操作

48、判斷
Java源程序可以在各類平臺上運行。
—>錯誤*

【源文件不可以,編譯後的字節碼文件(.class文件)
可以在(裝有JVM的)各類平臺運行】

49、判斷
Byte是帶符號的8位整型數。
—>正確*

【Byte佔一個字節(八位),且有符號,所以是帶符號的8位整型數】

50、Long是帶符號的32位整型數
—>錯誤*

【Long佔8個字節(8*8 = 64位),且有符號,所以是帶符號的 64 位整型數】
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章