牛客java選擇題每日打卡Day15

👩💻部落格首頁:京與舊鋪的部落格首頁
✨歡迎關注🖱點贊🎀收藏⭐留言✒
🔮本文由京與舊鋪原創
😘系列專欄:java學習
👕參考網站:牛客網
💻首發時間:🎞2022年6月20日🎠
🎨你做三四月的事,八九月就會有答案,一起加油吧
🀄如果覺得部落客的文章還不錯的話,請三連支援一下部落客哦
🎧最後的話,作者是一個新人,在很多方面還做的不好,歡迎大佬指正,一起學習哦,沖沖沖
💬推薦一款模拟面試、刷題神器👉點選進入網站
🛒導航小助手🎪
文章目錄
- 牛客java選擇題每日打卡Day15
- 🛒導航小助手🎪
- @[toc]
- 🧵選擇題1
- 🧵選擇題2
- 🧵選擇題3
- 正确答案: A 你的答案: E (錯誤)
- 🧵選擇題4
- 🧵選擇題5
- 正确答案: D 你的答案: B (錯誤)
- 🧵選擇題6
- 🧵選擇題7
🧵選擇題1
public class Demo {
public static String sRet = "";
public static void func(int i)
{
try
{
if (i%2==0)
{
throw new Exception();
}
}
catch (Exception e)
{
sRet += "0";
return;
}
finally
{
sRet += "1";
}
sRet += "2";
}
public static void main(String[] args)
{
func(1);
func(2);
System.out.println(sRet);
}
}
第一步,func(1),if條件不成立,不抛出異常,catch不運作,final運作,拼串得到“1”,程式繼續往下走,拼串得到“12”。 第二步,fun(2),if條件成立,抛出異常,catch捕獲異常,運作catch裡面代碼,拼串得到“120”,雖然有return,但是不管出不出異常,final裡代碼必須執行,執行final,拼串得到“1201”,然後return結束。是以最終結果“1201”。
🧵選擇題2
list是一個ArrayList的對象,哪個選項的代碼填到//todo delete處,可以在Iterator周遊的過程中正确并安全的删除一個list中儲存的對象?()
Iterator it = list.iterator();
int index = 0;
while (it.hasNext())
{
Object obj = it.next();
if (needDelete(obj)) //needDelete傳回boolean,決定是否要删除
{
//todo delete
}
index ++;
}
Iterator 支援從源集合中安全地删除對象,隻需在 Iterator 上調用 remove() 即可。這樣做的好處是可以避免 ConcurrentModifiedException ,當打開 Iterator 疊代集合時,同時又在對集合進行修改。有些集合不允許在疊代時删除或添加元素,但是調用 Iterator 的remove() 方法是個安全的做法。
🧵選擇題3
Which statement is true for the class java.util.ArrayList?
正确答案: A 你的答案: E (錯誤)
The elements in the collection are ordered.
The collection is guaranteed to be immutable.
The elements in the collection are guaranteed to be unique.
The elements in the collection are accessed using a unique key.
The elements in the collections are guaranteed to be synchronized.
Which statement is true for the class java.util.ArrayList?
下面那個選項有關java.util.ArrayList是正确的
A.The elements in the collection are ordered.
集合中的元素是排序的
B.The collection is guaranteed to be immutable.
集合不可改變
C.The elements in the collection are guaranteed to be unique.
集合中的元素必須唯一
D.The elements in the collection are accessed using a unique key.
集合中元素的鍵是唯一的
E.The elements in the collections are guaranteed to be synchronized.
集合中的元素是線程同步的
A
Serializable, Cloneable , Iterable , Collection , List , RandomAccess List接口是有序的,通常允許重複,是以可以确定A對,C錯;ArrayList是實作List 接口的大小可變數組,是以B錯;D是Map的特性,是以D錯;檢視手冊: Note that this implementation is not synchronized. ArrayList的實作是不是線程同步的,是以E錯。
🧵選擇題4
下面有關java hashmap的說法錯誤的是?
HashMap 的執行個體有兩個參數影響其性能:“初始容量” 和 “加載因子”。
HashMap 的實作不是同步的,意味着它不是線程安全的
HashMap通過開放位址法解決哈希沖突
HashMap中的key-value都是存儲在Entry數組中的
在這裡幫大家總結一下hashMap和hashtable方面的知識點吧: 1. 關于HashMap的一些說法: a) HashMap實際上是一個“連結清單散列”的資料結構,即數組和連結清單的結合體。HashMap的底層結構是一個數組,數組中的每一項是一條連結清單。 b) HashMap的執行個體有倆個參數影響其性能: “初始容量” 和 裝填因子。 c) HashMap實作不同步,線程不安全。 HashTable線程安全 d) HashMap中的key-value都是存儲在Entry中的。 e) HashMap可以存null鍵和null值,不保證元素的順序恒久不變,它的底層使用的是數組和連結清單,通過hashCode()方法和equals方法保證鍵的唯一性 f) 解決沖突主要有三種方法:定址法,拉鍊法,再散列法。HashMap是采用拉鍊法解決哈希沖突的。 注: 連結清單法是将相同hash值的對象組成一個連結清單放在hash值對應的槽位; 用開放定址法解決沖突的做法是:當沖突發生時,使用某種探查(亦稱探測)技術在散清單中形成一個探查(測)序列。 沿此序列逐個單元地查找,直到找到給定 的關鍵字,或者碰到一個開放的位址(即該位址單元為空)為止(若要插入,在探查到開放的位址,則可将待插入的新結點存人該位址單元)。 拉鍊法解決沖突的做法是: 将所有關鍵字為同義詞的結點連結在同一個單連結清單中 。若標明的散清單長度為m,則可将散清單定義為一個由m個頭指針組成的指針數 組T[0…m-1]。凡是散列位址為i的結點,均插入到以T[i]為頭指針的單連結清單中。T中各分量的初值均應為空指針。在拉鍊法中,裝填因子α可以大于1,但一般均取α≤1。拉鍊法适合未規定元素的大小。 2. Hashtable和HashMap的差別: a) 繼承不同。 public class Hashtable extends Dictionary implements Map public class HashMap extends AbstractMap implements Map b) Hashtable中的方法是同步的,而HashMap中的方法在預設情況下是非同步的。在多線程并發的環境下,可以直接使用Hashtable,但是要使用HashMap的話就要自己增加同步處理了。 c) Hashtable 中, key 和 value 都不允許出現 null 值。 在 HashMap 中, null 可以作為鍵,這樣的鍵隻有一個;可以有一個或多個鍵所對應的值為 null 。當 get() 方法傳回 null 值時,即可以表示 HashMap 中沒有該鍵,也可以表示該鍵所對應的值為 null 。是以,在 HashMap 中不能由 get() 方法來判斷 HashMap 中是否存在某個鍵, 而應該用 containsKey() 方法來判斷。 d) 兩個周遊方式的内部實作上不同。Hashtable、HashMap都使用了Iterator。而由于曆史原因,Hashtable還使用了Enumeration的方式 。 e) 哈希值的使用不同,HashTable直接使用對象的hashCode。而HashMap重新計算hash值。 f) Hashtable和HashMap它們兩個内部實作方式的數組的初始大小和擴容的方式。HashTable中hash數組預設大小是11,增加的方式是old*2+1。HashMap中hash數組的預設大小是16,而且一定是2的指數。 注: HashSet子類依靠hashCode()和equal()方法來區分重複元素。 HashSet内部使用Map儲存資料,即将HashSet的資料作為Map的key值儲存,這也是HashSet中元素不能重複的原因。而Map中儲存key值的,會去判斷目前Map中是否含有該Key對象,内部是先通過key的hashCode,确定有相同的hashCode之後,再通過equals方法判斷是否相同。
🧵選擇題5
如下代碼的輸出結果是什麼?
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);
}
}
正确答案: D 你的答案: B (錯誤)
0
1
2
編譯失敗
Java中靜态變量隻能在類主體中定義,不能在方法中定義。 靜态變量屬于類所有而不屬于方法。
🧵選擇題6
給定includel.isp檔案代碼片段,如下:
<% pageContext.setAttribute(“User”,”HAHA”);%>
______ // 此處填寫代碼
給定include2.jsp檔案代碼片段如下:
<%=pageContext.getAttribute(“User”)%>
要求運作include1.jsp時,浏覽器上輸出:HAHA
<jsp:include page=”include2.jsp” flash=”true”>
<%@include file=”include2.jsp”%>
<jsp:forward page=”include2.jsp”>
<% response.sendRedirect(“include2.jsp”); %>
答案:B
B選項是靜态包含,相當于不include2.jsp頁面内容拷貝到此處,是以可以輸出User屬性值
D選項是轉發重定向,轉發的時候pageContent内的屬性值不能被傳遞,是以得不到User屬性值
🧵選擇題7
在Web應用程式中,( )負責将HTTP請求轉換為HttpServletRequest對象
Servlet對象
HTTP伺服器
Web容器
JSP網頁
C web容器是一種服務程式,在伺服器一個端口就有一個提供相應服務的程式,而這個程式就是處理從用戶端發出的請求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是這樣的容器。一個伺服器可以多個容器。
結束語🏆🏆🏆
🔥推薦一款模拟面試、刷題神器網站
點選跳轉進入網站點選進入 1、算法篇(398題):面試必刷100題、算法入門、面試高頻榜單
2、SQL篇(82題):快速入門、SQL必知必會、SQL進階挑戰、面試真題
。一個伺服器可以多個容器。