大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 2020年企業(yè)常見Java筆試題目

2020年企業(yè)常見Java筆試題目

更新時間:2020-06-20 13:06:38 來源:動力節(jié)點(diǎn) 瀏覽2142次

什么是死鎖(deadlock)?

兩個進(jìn)程都在等待對方執(zhí)行完畢才能繼續(xù)往下執(zhí)行的時候就發(fā)生了死鎖。結(jié)果就是兩個進(jìn)程都陷入了無限的等待中。

代碼表示:

代碼描述:

public class DieLockDemo{
public static void main(String[]args){
DieLock dl1=new DieLock(true);
DieLock dl2=new DieLock(false);
dl1.start();
dl2.start();
}
}

*...理想狀態(tài)下dl1線程為true從if執(zhí)行先打出"if objA"然后再接著打出"if objB"之后釋放A、B的鎖對象,之后dl2線程執(zhí)行else語句打出"else objB","else objA"。

非理想狀態(tài)下dl1先打出"if objA",之后線程dl2執(zhí)行打出"else objB",然后1、2線程的鎖對象A和B都處于被鎖的狀態(tài),兩個線程爭奪鎖對象發(fā)生死鎖現(xiàn)象。..*

public class DieLock extends Thread{
private boolean flag;
public DieLock(boolean flag){
this.flag=flag;
}
?Override
public void run(){
if(flag){
synchronized(MyLock.objA){
System.out.println("if objA");
synchronized(MyLock.objB){
System.out.println("if objB");
}
}
}else{
synchronized(MyLock.objB){
System.out.println("else objB");
synchronized(MyLock.objA){
System.out.println("else objA");
}
}
}
}
}

如何確保N個線程可以訪問N個資源同時又不導(dǎo)致死鎖?

使用多線程的時候,一種非常簡單的避免死鎖的方式就是:指定獲取鎖的順序,并強(qiáng)制線程按照指定的順序獲取鎖。因此,如果所有的線程都是以同樣的順序加鎖和釋放鎖,就不會出現(xiàn)死鎖了。

Java集合類框架的基本接口有哪些?

Java集合類提供了一套設(shè)計(jì)良好的支持對一組對象進(jìn)行操作的接口和類。Java集合類里面最基本的接口有:

•Collection:代表一組對象,每一個對象都是它的子元素。

•Set:不包含重復(fù)元素的Collection。

•List:有順序的collection,并且可以包含重復(fù)元素。

•Map:可以把鍵(key)映射到值(value)的對象,鍵不能重復(fù)。

14.什么是迭代器(Iterator)?

Iterator接口提供了很多對集合元素進(jìn)行迭代的方法。每一個集合類都包含了可以返回迭代器實(shí)例的迭代方法。迭代器可以在迭代的過程中刪除底層集合的元素。

Iterator和ListIterator的區(qū)別是什么?

下面列出了他們的區(qū)別:

•Iterator可用來遍歷Set和List集合,但是ListIterator只能用來遍歷List。

•Iterator對集合只能是前向遍歷,ListIterator既可以前向也可以后向。

•ListIterator實(shí)現(xiàn)了Iterator接口,并包含其他的功能,比如:增加元素,替換元素,獲取前一個和后一個元素的索引,等等。

Java中的HashMap的工作原理是什么?

Java中的HashMap是以鍵值對(key-value)的形式存儲元素的。HashMap需要一個hash函數(shù),它使用hashCode()和equals()方法來向集合/從集合添加和檢索元素。當(dāng)調(diào)用put()方法的時候,HashMap會計(jì)算key的hash值,然后把鍵值對存儲在集合中合適的索引上。如果key已經(jīng)存在了,value會被更新成新值。HashMap的一些重要的特性是它的容量(capacity),負(fù)載因子(load factor)和擴(kuò)容極限(threshold resizing)。

HashMap和Hashtable有什么區(qū)別?

•HashMap和Hashtable都實(shí)現(xiàn)了Map接口,因此很多特性非常相似。但是,他們有以下不同點(diǎn):

•HashMap允許鍵和值是null,而Hashtable不允許鍵或者值是null。

•Hashtable是同步的,而HashMap不是。因此,HashMap更適合于單線程環(huán)境,而Hashtable適合于多線程環(huán)境。

•HashMap提供了可供應(yīng)用迭代的鍵的集合,因此,HashMap是快速失敗的。另一方面,Hashtable提供了對鍵的列舉(Enumeration)。

o一般認(rèn)為Hashtable是一個遺留的類。

18.數(shù)組(Array)和列表(ArrayList)有什么區(qū)別?什么時候應(yīng)該使用Array而不是ArrayList?

下面列出了Array和ArrayList的不同點(diǎn):

•Array可以包含基本類型和對象類型,ArrayList只能包含對象類型。

•Array大小是固定的,ArrayList的大小是動態(tài)變化的。

•ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等。

•對于基本類型數(shù)據(jù),集合使用自動裝箱來減少編碼工作量。但是,當(dāng)處理固定大小的基本數(shù)據(jù)類型的時候,這種方式相對比較慢。

ArrayList和LinkedList有什么區(qū)別?

ArrayList和LinkedList都實(shí)現(xiàn)了List接口,他們有以下的不同點(diǎn):

•ArrayList是基于索引的數(shù)據(jù)接口**,它的底層是數(shù)組**。它可以以O(shè)(1)時間復(fù)雜度對元素進(jìn)行隨機(jī)訪問。與此對應(yīng),LinkedList是以元素鏈表的形式存儲它的數(shù)據(jù),每一個元素都和它的前一個和后一個元素鏈接在一起,在這種情況下,查找某個元素的時間復(fù)雜度是O(n)。

•相對于ArrayList,LinkedList的插入,添加,刪除操作速度更快,因?yàn)楫?dāng)元素被添加到集合任意位置的時候,不需要像數(shù)組那樣重新計(jì)算大小或者是更新索引。

•LinkedList比ArrayList更占內(nèi)存,因?yàn)長inkedList為每一個節(jié)點(diǎn)存儲了兩個引用,一個指向前一個元素,一個指向下一個元素。

也可以參考ArrayList vs.LinkedList。

2020年企業(yè)常見Java筆試題目

以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“2020年企業(yè)常見Java筆試題目”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美专区在线观看 | 亚洲欧美一区在线 | 2021国产成人综合亚洲精品 | 亚洲三及片 | 国产福利视频一区二区微拍 | 女色狠xx网18| 一级一毛片| 九九精品免费 | 黄色免费看网站 | 亚洲综合色吧 | 欧美一级黄色片在线观看 | 色狠狠色综合久久8狠狠色 色狠狠婷婷97 | 97久久精品人人做人人爽 | 欧洲一级做a爱在线观看 | 婷婷亚洲综合一区二区 | 免费香蕉视频 | 一级片短视频 | 亚洲欧洲久久 | 国产在线日韩 | 欧美中文字幕在线视频 | 久久精品视频在线播放 | 免费观看成人毛片 | 欧美性猛交aa一级 | 国产福利在线观看第二区 | 久热首页| 亚洲精彩 | 欧美一级毛片片免费 | 久久手机视频 | 久草最新| 午夜91理论片 | 奇米影视奇米色777欧美 | 国产毛片久久久久久国产毛片 | 日韩精品视频在线观看免费 | 久草在线视频免费播放 | 国产日韩欧美在线观看不卡 | 色天天综合久久久久综合片 | 毛片激情永久免费 | 欧美香蕉爽爽人人爽观看猫咪 | 四虎影视884aa·com | 伊人久久在线 | 色香欲综合成人免费视频 |