java牛客錯題 2020年9月16日
阿新 • • 發佈:2020-09-16
java牛客錯題 2020年9月16日
-
下面有關java classloader說法錯誤的是?
正確答案: C 你的答案: C (正確)
Java預設提供的三個ClassLoader是BootStrap ClassLoader,Extension ClassLoader,App ClassLoader ClassLoader使用的是雙親委託模型來搜尋類的 JVM在判定兩個class是否相同時,只用判斷類名相同即可,和類載入器無關 ClassLoader就是用來動態載入class檔案到記憶體當中用的 解釋: JVM在判定兩個class是否相同時,不僅要判斷兩個類名是否相同,而且要判斷是否由同一個類載入器例項載入的。 一個jvm中預設的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分別各司其職: Bootstrap ClassLoader 負責載入java基礎類,主要是 %JRE_HOME/lib/ 目錄下的rt.jar、resources.jar、charsets.jar和class等 Extension ClassLoader 負責載入java擴充套件類,主要是 %JRE_HOME/lib/ext 目錄下的jar和class App ClassLoader 負責載入當前java應用的classpath中的所有類。 classloader 載入類用的是全盤負責委託機制。 所謂全盤負責,即是當一個classloader載入一個Class的時候,這個Class所依賴的和引用的所有 Class也由這個classloader負責載入,除非是顯式的使用另外一個classloader載入。 所以,當我們自定義的classlo ader載入成功了 com.company.MyClass以後,MyClass裡所有依賴的class都由這個classLoader來載入完成。
-
下面有關java例項變數,區域性變數,類變數和final變數的說法,錯誤的是?
正確答案: B 你的答案: C (錯誤)
例項變數指的是類中定義的變數,即成員變數,如果沒有初始化,會有預設值。 區域性變數指的是在方法中定義的變數,如果沒有初始化,會有預設值 類變數指的是用static修飾的屬性 final變數指的是用final 修飾的變數 類變數不就是ClassName.variableName嗎。 解釋: 區域性變數必須有初始值。
-
以下多執行緒對int型變數x的操作,哪個不需要進行同步()
正確答案: D 你的答案: D (正確)
++x x=y x++ x=1 自我感覺是賦值的話,不涉及到執行緒問題,而X++,或者變數之間的賦值問題都涉及到先後順序。肯定會導致髒資料等問題。 同步是害怕在操作過程的時候被其他執行緒也進行讀取操作,一旦是原子性的操作就不會發生這種情況。 因為一步到位的操作,其他執行緒不可能在中間干涉。另外三項都有讀取、操作兩個步驟,而X=1則是原子性操作。
-
順序執行下列程式語句後,則b的值是()
String a="Hello";
String b=a.substring(0,2);
正確答案: C 你的答案: B (錯誤)
Hello Hel He null 解釋: 不用看答案了,直接自己寫吧。 substring擷取字串前閉後開,也就是[0,2),按理說是從0,1,2但是2不包括所以就是C
-
@SuppressWarnings(“deprecation”)的功能是什麼?
正確答案: A 你的答案: B (錯誤)
遮蔽不贊同使用的類和方法的警告 遮蔽在強制型別轉換的時候編譯器給出的警告 關閉所有警告資訊 當在可序列化的類上缺少serialVersionUID定義的警告 考註解: 本題考查註解程式設計,對java三大註解是否瞭解: @SuppressWarnings這是java三大註解之一,主要功能是遮蔽相應的警告。 裡面的deprecation修飾符則是對java中已經過時或者廢棄方法的警告。 @SuppressWarnings(“deprecation”)的功能是遮蔽不贊同(就是過時廢棄的意思)使用的類和方法的警告
-
以下哪些方法是Object類中的方法
正確答案: A B C D 你的答案: B C (錯誤)
clone() toString() wait() finalize() 都是
-
下述有關c++的虛類和java介面的描述,說法錯誤的是?
正確答案: C D 你的答案: A C (錯誤)
c++虛類相當與java裡面的抽象類 c++中沒有介面的概念,與之對應的是純虛類,對應的是java的介面 純虛擬函式和虛擬函式的區別在於前者只包含定義,而後者還可以包含函式體。 一個抽象類和介面中的方法必須是抽象方法 解釋: 1、一個子類只能繼承一個抽象類(虛類),但能實現多個介面; 2、一個抽象類可以有構造方法,介面沒有構造方法; 3、一個抽象類中的方法不一定是抽象方法,即其中的方法可以有實現(有方法體),介面中的方法都是抽象方法,不能有方法體,只有宣告; 4、一個抽象類可以是public、private、protected、default, 介面只有public; 5、一個抽象類中的方法可以是public、private、protected、default, 介面中的方法只能是public和default