A.skip()
B.close()
C.mark()
D.reset()java
答案:
Bgit
解析:
inputstream的close方法用來關閉流
skip()用來跳過一些字節
mark()用來標記流
reset()復位流github
A.x+1=5
B.i++=1
C.a++b=1
D.x+=1面試
答案:
D算法
解析:
選D,+=,-=,*=,/=最多見。
ABC都編譯錯誤。sql
A.在Java中只容許單一繼承
B.在Java中一個類只能實現一個接口
C.在Java中一個類不能同時繼承一個類和實現一個接口
D.Java的單一繼承使代碼不可靠數據庫
答案:
A編程
解析:
略緩存
A.實例方法可直接調用超類的實例方法
B.實例方法可直接調用超類的類方法
C.實例方法可直接調用本類的類方法
D.實例方法可直接調用其餘類的實例方法安全
答案:
C
解析:
a.實例方法能夠調用超類公有實例方法
b.實例方法能夠直接調用超類的公有類方法
d.實例方法能夠經過類名調用其餘類的類方法
1.A a0=new A(); 2.A a1=new B(); 3.A a2=new C();
如下哪一個說法是正確的?
A.第1行,第2行和第3行的聲明都是正確的
B.第1,2,3行都能經過編譯,但第2,3行運行時出錯
C.第1,2行能經過編譯,但第3行編譯出錯
D.只有第1行能經過編譯
答案:
A
解析:
一句話 向上轉型是無條件的
A.地址同樣,在堆棧區。
B.地址不同,在堆棧區。
C.地址同樣,在全局區。
D.地址不同,在全局區。
答案:
C
解析:
static變量存儲在方法區,線程共享,全局區是方法區的一部分,其實用排除法也能夠知道 static變量不可能位於堆棧區
public class ZeroTest { public static void main(String[] args) { try{ int i = 100 / 0; System.out.print(i); }catch(Exception e){ System.out.print(1); throw new RuntimeException(); }finally{ System.out.print(2); } System.out.print(3); } }
A.3
B.123
C.1
D.12
答案:
D
解析:
一、inti = 100/ 0; 會出現異常,會拋出異常,System.out.print(i)不會執行,
二、catch捕捉異常,繼續執行System.out.print(1);
三、當執行 thrownewRuntimeException(); 又會拋出異常,這時,除了會執行finally中的代碼,其餘地方的代碼都不會執行
public static void main(String args[]) { List Listlist1 = new ArrayList(); Listlist1.add(0); List Listlist2 = Listlist1; System.out.println(Listlist1.get(0) instanceof Integer); System.out.println(Listlist2.get(0) instanceof Integer); }
A.編譯錯誤
B.true true
C.true false
D.false false
答案:
B
解析:
collection類型的集合(ArrayList,LinkedList)只能裝入對象類型的數據,該題中裝入了0,是一個基本類型,可是JDK5之後提供了自動裝箱與自動拆箱,因此int類型自動裝箱變爲了Integer類型。編譯可以正常經過。
將list1的引用賦值給了list2,那麼list1和list2都將指向同一個堆內存空間。instanceof是Java中關鍵字,用於判斷一個對象是否屬於某個特定類的實例,而且返回boolean類型的返回值。顯然,list1.get(0)和list2.get(0)都屬於Integer的實例
A.java.lang
B.java.system
C.java.io
D.java.util
答案:
A
解析:
ava.lang包是java語言包,是自動導入的。
java.util包是java的工具包,須要手動導入。
java.sql包,JDBC接口類,須要手動導入。
java.io;各類輸入輸入流,須要手動導入。
System.out.println(「is 」+ 100 + 5); System.out.println(100 + 5 +「 is」); System.out.println(「is 」+ (100 + 5));
的輸出結果分別是? ( )
A.is 1005, 1005 is, is 1005
B.is 105, 105 is, is 105
C.is 1005, 1005 is, is 105
D.is 1005, 105 is, is 105
答案:
D
解析:
1."is"說明後面的內容都會被強制轉換爲string,因此是最後結果是拼接起來的
2.100+5先獲得105,而後與is拼接
3.先算括號內的
public class IfTest{ public static void main(string[]args){ int x=3; int y=1; if(x=y) System.out.println(「Not equal」); else System.out.println(「Equal」); } }
What is the result?
A.The output is 「Equal」
B.The output in 「Not Equal」
C.An error at line 5 causes compilation to fall.
D.The program executes but does not print a message.
答案:
C
解析:
這個題考查兩個知識點。
一、Java中,賦值是有返回值的 ,賦什麼值,就返回什麼值。好比這題,x=y,返回y的值,因此括號裏的值是1。
二、Java跟C的區別,C中賦值後會與0進行比較,若是大於0,就認爲是true;而Java不會與0比較,而是直接把賦值後的結果放入括號。
A.管道
B.消息隊列
C.高速緩存數據庫
D.套接字
答案:
A
解析:
管道( pipe ):管道是一種半雙工的通訊方式,數據只能單向流動,並且只能在具備親緣關係的進程間使用。進程的親緣關係一般是指父子進程關係。
public void getCustomerInfo() { try { // do something that may cause an Exception } catch (java.io.FileNotFoundException ex) { System.out.print("FileNotFoundException!"); } catch (java.io.IOException ex) { System.out.print("IOException!"); } catch (java.lang.Exception ex) { System.out.print("Exception!"); } }
A.IOException!
B.IOException!Exception!
C.FileNotFoundException!IOException!
D.FileNotFoundException!IOException!Exception!
答案:
A
解析:
題目說拋出一個異常,可是沒說具體是什麼異常,那麼就要分狀況了:
1.若是拋出一個FileNotFoundException(或其子類),那麼最終結果就打印FileNotFoundException
2.若是拋出一個IOException,或者IOException的子類(不包含FileNotFoundException及其子類),那麼最終結果就打印IOException
3.若是拋出一個Exception(不包含IOException及其子類),那麼最終結果就打印Exception.
以上,因此3個皆有可能.可是,不論是哪種狀況,只會輸出其中之一。
從答案上來看,B,C,D的輸出狀況是不存在的。所以選A
public class Test { public int aMethod(){ static int i = 0; i++; return i; } public static void main(String args[]){ Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } }
A.0
B.1
C.2
D.編譯失敗
答案:
D
解析:
靜態變量只能在類主體中定義,不能在方法中定義
A.servlet處於服務器進程中,它經過多線程方式運行其service方法
B.CGI對每一個請求都產生新的進程,服務完成後就銷燬
C.servlet在易用性上強於cgi,它提供了大量的實用工具例程,例如自動地解析和解碼HTML表單數據、讀取和設置HTTP頭、處理Cookie、跟蹤會話狀態等
D.cgi在移植性上高於servlet,幾乎全部的主流服務器都直接或經過插件支持cgi
答案:
D
解析:
選擇D,servlet處於服務器進程中,它經過多線程方式運行其service方法,一個實例能夠服務於多個請求,而且其實例通常不會銷燬,而CGI對每一個請求都產生新的進程,服務完成後就銷燬,因此效率上低於servlet。
A.java語言規定構造方法名與類名必須相同
B.java語言規定構造方法沒有返回值,但不一樣void聲明
C.java語言規定構造方法不能夠重載
D.java語言規定構造方法只能經過new自動調用
答案:
CD
解析:
關於答案d,經過this也能夠調用
A.It is a method which belongs to the class and not to the object(instance)
B.A static method can access only static data. It can not access non-static data (instance variables)
C.A static method can call only other static methods and can not call a non-static method from it.
D.A static method can not be accessed directly by the class name and doesn’t need any object
答案:
ABC
解析:
A:靜態方法是一個屬於類而不屬於對象(實例)的方法。(√)
B:靜態方法只能訪問靜態數據。沒法訪問非靜態數據(實例變量)。(√)
C:靜態方法只能調用其餘靜態方法,不能從中調用非靜態方法。(√)
D:靜態方法不能經過類名直接訪問,也不須要任何對象。(×) 靜態方法能夠直接用類名訪問。
A.用派生類的對象去初始化基類對象時
B.將類的一個對象賦值給該類的另外一個對象時
C.函數的形參是類的對象,調用函數進行形參和實參結合時
D.函數的返回值是類的對象,函數執行返回調用時
答案:
A C D
解析:
複製構造函數被調用的三種狀況
1.定義一個對象時,以本類另外一個對象做爲初始值,發生複製構造;
2.若是函數的形參是類的對象,調用函數時,將使用實參對象初始化形參對象,發生複製構造;
3.若是函數的返回值是類的對象,函數執行完成返回主調函數時,將使用return語句中的對象初始化一個臨時無名對象,傳遞給主調函數,此時發生複製構造。
A.初始化塊
B.構造器
C.定義變量時指定初始化值
D.其它各項都不對
答案:
A B C
解析:
對象的初始化方式:
1.new時初始化 ;
2.靜態工廠 newInstance;
3.反射Class.forName();
4.clone方式;
5.反序列化;
A.讀寫鎖
B.自旋鎖
C.X鎖
D.樂觀鎖
E.排他鎖
答案:
A B D
解析:
一、自旋鎖 ,自旋,jvm默認是10次吧,有jvm本身控制。for去爭取鎖
二、阻塞鎖 被阻塞的線程,不會爭奪鎖。
三、可重入鎖 屢次進入改鎖的域
四、讀寫鎖
五、互斥鎖 鎖自己就是互斥的
六、悲觀鎖 不相信,這裏會是安全的,必須所有上鎖
七、樂觀鎖 相信,這裏是安全的。
八、公平鎖 有優先級的鎖
九、非公平鎖 無優先級的鎖
十、偏向鎖 無競爭不鎖,有競爭掛起,轉爲輕量鎖
十一、對象鎖 鎖住對象
十二、線程鎖
1三、鎖粗化 多鎖變成一個,本身處理
1四、輕量級鎖 CAS 實現
1五、鎖消除 偏向鎖就是鎖消除的一種
1六、鎖膨脹 jvm實現,鎖粗化
1七、信號量 使用阻塞鎖 實現的一種策略
1八、排它鎖:X鎖,若事務T對數據對象A加上X鎖,則只容許T讀取和修改A,其餘任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。這就保證了其餘事務在T釋放A上的鎖以前不能再讀取和修改A。
注:以上筆試題均來自網絡,由筆者整理得出
大廠筆試內容集合(內有詳細解析) 持續更新中....
歡迎關注我的微信公衆號:Coder編程
歡迎關注Coder編程公衆號,主要分享數據結構與算法、Java相關知識體系、框架知識及原理、Spring全家桶、微服務項目實戰、DevOps實踐之路、每日一篇互聯網大廠面試或筆試題以及PMP項目管理知識等。更多精彩內容正在路上~
新建了一個qq羣:315211365,歡迎你們進羣交流一塊兒學習。謝謝了!也能夠介紹給身邊有須要的朋友。
文章收錄至
Github: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
歡迎關注並star~