1. 程式人生 > >牛客網第13天

牛客網第13天

1.java中用()字指明繼承關係.用()關鍵字指明對介面的實現。
A.implements extends
B.extends implements
C.extend implement
D.implement extend
正確答案: B 你的答案: B (正確)
解析: extends表繼承父類
implements表是實現介面
2. 下列外部類定義中,不正確的是:( )
A.class x { … }
B.class x extends y { … }
C.static class x implements y1,y2 { … }
D.public class x extends Applet { … }
正確答案: C 你的答案: C (正確)
解析:
內部類可以是靜態static的,也可用public,default,protected和private修飾,
外部類的修飾符只能是public,abstract,final
3.下列語句哪一個是不正確的()
A.Log4j支援按分鐘為間隔生成新的日誌檔案
B.Log4j是一個列印日誌用的元件
C.Log4j支援按年為間隔生成新的日誌檔案
D.Log4j的日誌列印級別可以在執行時重新設定
正確答案: D 你的答案: C (錯誤)
解析:日誌的級別之間的大小關係如右所示:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF Log4j建議只使用四個級別,優先順序從高到低分別是 ERROR > WARN > INFO > DEBUG。 log4j在執行期間是不可以重新設定的
4. 以下java程式程式碼,執行後的結果是()
public class Test {
public static void main(String[] args) {
Object o = new Object() {
public boolean equals(Object obj) {
return true;
}
};
System.out.println(o.equals(“Fred”));
}
}
A.Fred
B.true
C.編譯錯誤
D.執行時丟擲異常
正確答案: B 你的答案: D (錯誤)
解析: 重寫了object 的equals 的方法,使他怎麼輸出都是true
5.多個執行緒可同時操作一個數據,為了保證該資料的準確性,可將操作該資料的部分改為 ()
A.同步
B.非同步
C.只讀
D.只寫
正確答案: A 你的答案: B (錯誤)
解析: 1. 併發:在 作業系統 中,是指一個時間段中有幾個程式都處於已啟動執行到執行完畢之間,且這幾個程式都是在同一個 處理機 上執行。其中兩種併發關係分別是同步和互斥
2. 互斥:程序間相互排斥的使用臨界資源的現象,就叫互斥。
3. 同步: 程序之間的關係不是相互排斥臨界資源的關係,而是相互依賴的關係。進一步的說明:就是前一個程序的輸出作為後一個程序的輸入,當第一個程序沒有輸出時第二個程序必須等待。具有同步關係的一組併發程序相互發送的資訊稱為訊息或事件。
其中併發又有偽併發和真併發,偽併發是指單核處理器的併發,真併發是指多核處理器的併發。
4. 並行:在單處理器中多道程式設計系統中,程序被交替執行,表現出一種併發的外部特種;在多處理器系統中,程序不僅可以交替執行,而且可以重疊執行。在多處理器上的程式才可實現並行處理。從而可知,並行是針對多處理器而言的。並行是同時發生的多個併發事件,具有併發的含義,但併發不一定並行,也亦是說併發事件之間不一定要同一時刻發生。
5. 多執行緒:多執行緒是程式設計的邏輯層概念,它是程序中併發執行的一段程式碼。多執行緒可以實現執行緒間的切換執行。
6. 非同步:非同步和同步是相對的,同步就是順序執行,執行完一個再執行下一個,需要等待、協調執行。非同步就是彼此獨立,在等待某事件的過程中繼續做自己的事,不需要等待這一事件完成後再工作。執行緒就是實現非同步的一個方式。非同步是讓呼叫方法的主執行緒不需要同步等待另一執行緒的完成,從而可以讓主執行緒幹其它的事情。
非同步和多執行緒並不是一個同等關係,非同步是最終目的,多執行緒只是我們實現非同步的一種手段。非同步是當一個呼叫請求傳送給被呼叫者,而呼叫者不用等待其結果的返回而可以做其它的事情。實現非同步可以採用多執行緒技術或則交給另外的程序來處理
6. 根據以下程式碼段,下列說法中正確的是( )。
public class Parent {
private void m1(){}
void m2(){}
protected void m3(){}
public static void m4(){}
}
A.子類中一定能夠繼承和覆蓋Parent類的m1方法
B.子類中一定能夠繼承和覆蓋Parent類的m2方法
C.子類中一定能夠繼承和覆蓋Parent類的m3方法
D.子類中一定能夠繼承和覆蓋Parent類的m4方法
正確答案: C 你的答案: D (錯誤)
解析:通過繼承,子類可以擁有所有父類對其可見的方法和域
A.私有方法只能在本類中可見,故不能繼承,A錯誤
B.預設訪問修飾符只在本包中可見,在外包中不可見,B錯誤
C.保護修飾符凡是繼承自該類的子類都能訪問,當然可被繼承覆蓋;C正確
D.static修飾的成員屬於類成員,父類欄位或方法只能被子類同名欄位或方法遮蔽,不能被繼承覆蓋,D錯誤
7.關於資料庫連線的程式,以下哪個語句的註釋是錯誤的( )
A.Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); //指定MySQL JDBC驅動程式
B.String url=”jdbc:odbc:student_access”; //指定資料來源為student_access
C.Connection con=DriverManager.getConnection(url); //建立連線指定資料庫的物件
D.Statement stmt=con.creatStatement();//建立執行SQL語句的Statement物件
正確答案: A 你的答案: D (錯誤)
解析:為了執行 Statement 物件,被髮送到資料庫的 SQL 語句將被作為引數提供給 Statement 的方法:
8.package Wangyi;
class Base
{
public void method()
{
System.out.println(“Base”);
}
}
class Son extends Base
{
public void method()
{
System.out.println(“Son”);
}
public void methodB()
{
System.out.println(“SonB”);
}
}
public class Test01
{
public static void main(String[] args)
{
Base base = new Son();
base.method();
base.methodB();
}
}
問這個程式的輸出結果。
A.Base SonB
B.Son SonB
C.Base Son SonB
D.編譯不通過
正確答案: D 你的答案: A (錯誤)
解析:
Base base=new Son(); 是多型的表示形式。父類物件呼叫了子類建立了Son物件。
base呼叫的method()方法就是呼叫了子類重寫的method()方法。
而此時base還是屬於Base物件,base呼叫methodB()時Base物件裡沒有這個方法,所以編譯不通過。
要想呼叫的話需要先通過SON son=(SON)base;強制轉換,然後用son.methodB()呼叫就可以了。
9.java中Hashtable, Vector, TreeSet, LinkedList哪些執行緒是安全的?
A.Hashtable
B.Vector
C.TreeSet
D.LinkedList
正確答案: A B 你的答案: A C (錯誤)
解析: HashMap是執行緒安全的HashMap
Vector是執行緒安全的ArrayList
TreeSet和LinkedList都不是執行緒安全的
10.下面有關 java 類載入器,說法正確的是?()
A.引導類載入器(bootstrap class loader):它用來載入 Java 的核心庫,是用原生程式碼來實現的
B.擴充套件類載入器(extensions class loader):它用來載入 Java 的擴充套件庫。
C.系統類載入器(system class loader):它根據 Java 應用的類路徑(CLASSPATH)來載入 Java 類
D.tomcat 為每個 App 建立一個 Loader,裡面儲存著此 WebApp 的 ClassLoader。需要載入 WebApp 下的類時,就取出 ClassLoader 來使用
正確答案: A B C D 你的答案: B C (錯誤)
解析:記住即可