牛客刷題2020年9月9日
阿新 • • 發佈:2020-09-09
牛客刷題2020年9月9日
-
下列說法正確的有()
正確答案: A 你的答案: D (錯誤)
陣列是一種物件 陣列屬於一種原生類 int number=[]={31,23,33,43,35,63} 陣列的大小可以任意改變 解釋:原生類是指Java中,資料型別分為基本資料型別(或叫做原生類、內建型別)和引用資料型別。->陣列是一種引用型別。
-
以下哪一項正則能正確的匹配網址: http://www.bilibili.com/video/av21061574 ()
正確答案: B 你的答案: D (錯誤)
/^(https?:\/\/)?([a-zA-Z\d]+).bilibili.com\/?video\/av(\D{1,8})\/?$/ /^(http:\/\/)?(\w+)\.bilibili\.com\/?video\/av(\d{1,8})\/?$/ /^(https?:\/\/)?(\w+)\.bilibili\.com\/?\w*$/ /^(http:\/\/)?([a-zA-Z\d]+).bilibili.com\/?video\/av\w*\/+$/ 解釋: 正則表示式的知識點: 首先,^表示匹配輸入的開始,$表示匹配輸入的結束 每個選項從前向後看,http都能夠嚴格匹配 ?表示匹配某元素0次或1次,這裡四個選項都沒有問題,能夠匹配0次或1次字元s 接下來:嚴格匹配,\/\/嚴格匹配兩個// 接著往下看,[]表示字元集合,它用在正則表示式中表示匹配集合中的任一字元 A D 選項中的 [a-zA-Z\d] 表示匹配一個小寫字母 或者 大寫字母 或者 數字 B C 選項中的 \w 表示匹配字母數字或下劃線(注意這裡比A D中能多匹配下劃線型別) +表示匹配某元素1次或多次,到這裡四個選項都能夠完美匹配字元www .可以匹配除了換行符\n \r外的任何字元 接下來我們看選項A,bilibili com video av都嚴格匹配,而 \D 表示匹配一個非數字字元而非數字字元,av後的數字是無法匹配成功的,A錯誤 B選項,\d匹配數字,{m,n}表示最少匹配m次,最多匹配n次,\/?能匹配末尾的0個或1個/字元,B正確 C選項,*表示匹配某元素0次或多次,但 \w 並不能匹配字元 /,C錯誤 D選項,前面都對,錯在最後的\/+至少要匹配一個/,而原字串最後並沒有/
-
下面關於JAVA的垃圾回收機制,正確的是( )
正確答案: B 你的答案: C (錯誤)
當呼叫“System.gc()”來強制回收時,系統會立即回收垃圾 垃圾回收不能確定具體的回收時間 程式可明確地標識某個區域性變數的引用不再被使用 程式可以顯式地立即釋放物件佔有的記憶體 解釋: java提供了一個系統級的執行緒,即垃圾回收器執行緒。用來對每一個分配出去的記憶體空間進行跟蹤。當JVM空閒時,自動回收每塊可能被回收的記憶體,GC是完全自動的,不能被強制執行。程式設計師最多隻能用System.gc()來建議執行垃圾回收器回收記憶體,但是具體的回收時間,是不可知的。當物件的引用變數被賦值為null,可能被當成垃圾。
-
String s = new String("xyz");建立了幾個StringObject?
正確答案: A 你的答案: C (錯誤)
兩個或一個都有可能 兩個 一個 三個 解釋: 著重解釋:這種型別的題很容易考,考察的就是java的基礎牢固不牢固。具體可以看下解釋內容 1.String物件的兩種建立方式: 第一種方式: String str1 = "aaa"; 是在常量池中獲取物件("aaa" 屬於字串字面量,因此編譯時期會在常量池中建立一個字串物件), 第二種方式: String str2 = new String("aaa") ; 一共會建立兩個字串物件一個在堆中,一個在常量池中(前提是常量池中還沒有 "aaa" 字串物件)。 System.out.println(str1==str2);//false 2.String型別的常量池比較特殊。它的主要使用方法有兩種: 直接使用雙引號宣告出來的String物件會直接儲存在常量池中。 如果不是用雙引號宣告的String物件,可以使用 String 提供的 intern 方法。 String.intern() 是一個 Native 方法,它的作用是: 如果執行時常量池中已經包含一個等於此 String 物件內容的字串,則返回常量池中該字串的引用; 如果沒有,則在常量池中建立與此 String 內容相同的字串,並返回常量池中建立的字串的引用。 String s1 = new String("AAA"); String s2 = s1.intern(); String s3 = "AAA"; System.out.println(s2);//AAA System.out.println(s1 == s2);//false,因為一個是堆記憶體中的String物件一個是常量池中的String物件, System.out.println(s2 == s3);//true, s2,s3指向常量池中的”AAA“
-
在Web應用程式中,( )負責將HTTP請求轉換為HttpServletRequest物件
正確答案: C 你的答案: A (錯誤)
Servlet物件 HTTP伺服器 Web容器 JSP網頁 解釋: servlet是執行在伺服器端的小應用程式,是接收網路服務的請求和產生響應的一種方式。 servlet的功能:接受http請求,產生動態http響應。
-
對於檔案的描述正確的是( )
正確答案: D 你的答案: B (錯誤)
A 文字檔案是以“.txt”為字尾名的檔案,其他字尾名的檔案是二進位制檔案。 B File類是Java中對檔案進行讀寫操作的基本類。 C 無論文字檔案還是二進位制檔案,讀到檔案末尾都會丟擲EOFException異常。 D Java中對於文字檔案和二進位制檔案,都可以當作二進位制檔案進行操作。 解釋: A.檔案分為文字檔案和二進位制檔案,計算機只認識二進位制,所以實際上都是二進位制的不同解釋方式。文字檔案是以不同編碼格式顯示的字元,例如Ascii、Unicode等,window中文字檔案的字尾名有".txt",".log",各種程式語言的原始碼檔案等;二進位制檔案就是用文字文件開啟是看不懂亂碼,只要能用文字開啟的檔案都可以算是文字檔案,只是顯示的結果不是你想要的,二進位制檔案只有用特殊的應用才能讀懂的檔案,例如".png",".bmp"等,計算機中大部分的檔案還是二進位制檔案。 B.File類是對檔案整體或者檔案屬性操作的類,例如建立檔案、刪除檔案、檢視檔案是否存在等功能,不能操作檔案內容;檔案內容是用IO流操作的。 C.當輸入過程中意外到達檔案或流的末尾時,丟擲EOFException異常,正常情況下讀取到檔案末尾時,返回一個特殊值表示檔案讀取完成,例如read()返回-1表示檔案讀取完成。 D.上面A選項已經說了,不論是文字檔案還是二進位制檔案,在計算機中都是以二進位制形式儲存的,所以都當做二進位制檔案讀取。
最後說一下final關鍵字吧:
1.final修飾變數,則等同於常量
2.final修飾方法中的引數,稱為最終引數。
3.final修飾類,則類不能被繼承
4.final修飾方法,則方法不能被重寫。
5.final 不能修飾抽象類
6.final修飾的方法可以被過載 但不能被重寫