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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java基礎(chǔ)50道經(jīng)典練習(xí)題及答案

Java基礎(chǔ)50道經(jīng)典練習(xí)題及答案

更新時(shí)間:2020-08-27 15:51:13 來源:動(dòng)力節(jié)點(diǎn) 瀏覽5398次

進(jìn)程和線程的區(qū)別是什么?

進(jìn)程是執(zhí)行著的應(yīng)用程序,而線程是進(jìn)程內(nèi)部的一個(gè)執(zhí)行序列。一個(gè)進(jìn)程可以有多個(gè)線程。線程又叫做輕量級進(jìn)程。

線程與進(jìn)程的區(qū)別歸納:

a.地址空間和其它資源:進(jìn)程間相互獨(dú)立,同一進(jìn)程的各線程間共享。某進(jìn)程內(nèi)的線程在其它進(jìn)程不可見。

b.通信:進(jìn)程間通信IPC,線程間可以直接讀寫進(jìn)程數(shù)據(jù)段(如全局變量)來進(jìn)行通信——需要進(jìn)程同步和互斥手段的輔助,以保證數(shù)據(jù)的一致性。

c.調(diào)度和切換:線程上下文切換比進(jìn)程上下文切換要快得多。

d.在多線程OS中,進(jìn)程不是一個(gè)可執(zhí)行的實(shí)體。

創(chuàng)建線程有幾種不同的方式?你喜歡哪一種?為什么?

有4種方式可以用來創(chuàng)建線程:

繼承Thread類

實(shí)現(xiàn)Runnable接口(函數(shù)式接口模式代表)

應(yīng)用程序可以使用Executor框架來創(chuàng)建線程池

實(shí)現(xiàn)Runnable接口這種方式更受歡迎,因?yàn)檫@不需要繼承Thread類。在應(yīng)用設(shè)計(jì)中已經(jīng)繼承了別的對象的情況下,這需要多繼承(而Java不支持多繼承),只能實(shí)現(xiàn)接口。同時(shí),線程池也是非常高效的,很容易實(shí)現(xiàn)和使用。

還有一種方式是實(shí)現(xiàn)Callable接口

概括的解釋下線程的幾種可用狀態(tài)。

1.新建(new):新創(chuàng)建了一個(gè)線程對象。

2.可運(yùn)行(runnable

):線程對象創(chuàng)建后,其他線程(比如main線程)調(diào)用了該對象的start()方法。該狀態(tài)的線程位于可運(yùn)行線程池中,等待被線程調(diào)度選中,獲取cpu的使用權(quán)。

3.運(yùn)行(running):可運(yùn)行狀態(tài)(runnable)的線程獲得了cpu時(shí)間片(timeslice),執(zhí)行程序代碼。

4.阻塞(block):阻塞狀態(tài)是指線程因?yàn)槟撤N原因放棄了cpu使用權(quán),也即讓出了cpu timeslice,暫時(shí)停止運(yùn)行。直到線程進(jìn)入可運(yùn)行(runnable

)狀態(tài),才有機(jī)會再次獲得cpu timeslice轉(zhuǎn)到運(yùn)行(running)狀態(tài)。阻塞的情況分三種:

(一).等待阻塞:運(yùn)行(running)的線程執(zhí)行o.wait()方法,JVM會把該線程放入等待隊(duì)列(waitting queue)中。

(二).同步阻塞:運(yùn)行(running)的線程在獲取對象的同步鎖時(shí),若該同步鎖被別的線程占用,則JVM會把該線程放入鎖池(lock pool)中。

(三).其他阻塞:運(yùn)行(running)的線程執(zhí)行Thread.sleep(long

ms)或t.join

()方法,或者發(fā)出了I/O請求時(shí),JVM會把該線程置為阻塞狀態(tài)。當(dāng)sleep()狀態(tài)超時(shí)、join()等待線程終止或者超時(shí)、或者I/O處理完畢時(shí),線程重新轉(zhuǎn)入可運(yùn)行(runnable

)狀態(tài)。

5.死亡(dead):線程run()、main()方法執(zhí)行結(jié)束,或者因異常退出了run()方法,則該線程結(jié)束生命周期。死亡的線程不可再次復(fù)生。

同步方法和同步代碼塊的區(qū)別是什么?

區(qū)別:

同步方法默認(rèn)用this或者當(dāng)前類class對象作為鎖;

同步代碼塊可以選擇以什么來加鎖,比同步方法要更細(xì)顆粒度,我們可以選擇只同步會發(fā)生同步問題的部分代碼而不是整個(gè)方法;

同步方法使用關(guān)鍵字

synchronized修飾方法,而同步代碼塊主要是修飾需要進(jìn)行同步的代碼,用synchronized(object){代碼內(nèi)容}進(jìn)行修飾;

在監(jiān)視器(Monitor)內(nèi)部,是如何做線程同步的?程序應(yīng)該做哪種級別的同步?

監(jiān)視器和鎖在Java虛擬機(jī)中是一塊使用的。監(jiān)視器監(jiān)視一塊同步代碼塊,確保一次只有一個(gè)線程執(zhí)行同步代碼塊。每一個(gè)監(jiān)視器都和一個(gè)對象引用相關(guān)聯(lián)。線程在獲取鎖之前不允許執(zhí)行同步代碼。

什么是死鎖(deadlock)?

所謂死鎖是指多個(gè)進(jìn)程因競爭資源而造成的一種僵局(互相等待),若無外力作用,這些進(jìn)程都將無法向前推進(jìn)。死鎖產(chǎn)生的4個(gè)必要條件:

互斥條件:進(jìn)程要求對所分配的資源(如打印機(jī))進(jìn)行排他性控制,即在一段時(shí)間內(nèi)某

資源僅為一個(gè)進(jìn)程所占有。此時(shí)若有其他進(jìn)程請求該資源,則請求進(jìn)程只能等待。

不剝奪條件:進(jìn)程所獲得的資源在未使用完畢之前,不能被其他進(jìn)程強(qiáng)行奪走,即只能

由獲得該資源的進(jìn)程自己來釋放(只能是主動(dòng)釋放)。

請求和保持條件:進(jìn)程已經(jīng)保持了至少一個(gè)資源,但又提出了新的資源請求,而該資源

已被其他進(jìn)程占有,此時(shí)請求進(jìn)程被阻塞,但對自己已獲得的資源保持不放。

循環(huán)等待條件:存在一種進(jìn)程資源的循環(huán)等待鏈,鏈中每一個(gè)進(jìn)程已獲得的資源同時(shí)被

鏈中下一個(gè)進(jìn)程所請求。

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

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

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

集合類接口指定了一組叫做元素的對象。集合類接口的每一種具體的實(shí)現(xiàn)類都可以選擇以它自己的方式對元素進(jìn)行保存和排序。有的集合類允許重復(fù)的鍵,有些不允許。

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

Collection:代表一組對象,每一個(gè)對象都是它的子元素。

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

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

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

為什么集合類沒有實(shí)現(xiàn)Cloneable和Serializable接口?

克隆(cloning)或者是序列化(serialization)的語義和含義是跟具體的實(shí)現(xiàn)相關(guān)的。因此,應(yīng)該由集合類的具體實(shí)現(xiàn)來決定如何被克隆或者是序列化。

Java基礎(chǔ)50道經(jīng)典練習(xí)題及答案

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java基礎(chǔ)50道經(jīng)典練習(xí)題及答案”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

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

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产精品麻豆99久久 | 九九视频这里只有精品99 | 337p粉嫩大胆色噜噜噜 | 亚洲精品亚洲人成人网 | 国产91在线chines看 | 久久99热不卡精品免费观看 | 成人做爰毛片免费视频 | 2021国产精品自产拍在线观看 | 色播性播爱播放影院 | 一区二区三区在线视频播放 | 欧美精品亚洲精品 | 97在线免费观看 | 成人性生交大片免费看午夜a | 成人毛片一区二区三区 | 一级毛片牲交大片 | 奇米888888| 99热99色 | 激情在线日韩视频免费 | 永久黄网站色视频免费观看 | 女人的毛片 | 国产成人精品永久免费视频 | 天天干天天曰天天操 | 国产精品亚洲欧美日韩久久 | 精品国产福利在线 | 日韩在线视频一区二区三区 | 久久99国产这里有精品视 | 操日本妞| 欧美一级在线观看 | 亚洲欧美中文在线观看4 | 久久综合九色综合97欧美 | 国产综合久久久久久 | 天天躁狠狠躁 | 亚洲视频在线看 | 午夜一级片 | 亚洲最大成人在线 | 亚洲综合视频网 | 亚洲一区二区三区免费看 | 干干干操操操 | 天天色天天射天天操 | 欧美精品午夜毛片免费看 | 日本一级特黄aa毛片免费观看 |