日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 同步块 抛出异常_java问题合集(一)

發(fā)布時(shí)間:2024/10/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 同步块 抛出异常_java问题合集(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

垃圾回收算法

引用計(jì)數(shù)法,標(biāo)記清除法,標(biāo)記壓縮清除法(Java中老年代采用),復(fù)制算法(Java中新生代采用),分代法(Java堆采用),分區(qū)算法。

重要的三句話:

垃圾回收器只知道釋放那些經(jīng)由new分配的內(nèi)存。

1.對(duì)象可能不被垃圾回收;

2.垃圾回收并不等于”析構(gòu)”;

3.垃圾回收只能與內(nèi)存有關(guān)。其他補(bǔ)充

棧:后進(jìn)先出

隊(duì)列:先進(jìn)先出

前:中左右? ? ? ? 中:左中右? ? ? 后:左右中

創(chuàng)建執(zhí)行線程的方式:

1.繼承Thread類

2.實(shí)現(xiàn)Runnable接口

3.實(shí)現(xiàn)Callable接口

4.線程池

2/3的區(qū)別:想較于實(shí)現(xiàn)Runnable接口的方式,Callable帶泛型,這個(gè)方法可以有返回值(返回值類型就是泛型指定的),并且可以拋出異常。

執(zhí)行Callable方式,需要FutureTask實(shí)現(xiàn)類的支持,用于接收運(yùn)算結(jié)果,FutureTask是Future接口的實(shí)現(xiàn)類

類和對(duì)象:

類是對(duì)象具有共同特征和行為的對(duì)象的抽象1、String和StringBuffer的區(qū)別?

簡單地說,就是一個(gè)變量和常量的關(guān)系。StringBuffer對(duì)象的內(nèi)容可以修改;而String對(duì)象一旦產(chǎn)生后就不可以被修改,重新賦值其實(shí)是兩個(gè)對(duì)象。

StringBuffer的內(nèi)部實(shí)現(xiàn)方式和String不同,StringBuffer在進(jìn)行字符串處理時(shí),不生成新的對(duì)象,在內(nèi)存使用上要優(yōu)于String類。

StringBuffer是線程安全的,在多線程程序中也可以很方便的進(jìn)行使用,但是程序的執(zhí)行效率相對(duì)來說就要稍微慢一些。

StringBuffer類中的方法要偏重于對(duì)字符串的變化例如追加、插入和刪除等,這個(gè)也是StringBuffer和String類的主要區(qū)別。2、HashMap和Hashtable的區(qū)別?

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

補(bǔ)充:HashMap是線程不安全的,Hashtable是線程安全的;Hashtable效率低,因?yàn)椤狧ashtable和HashMap底層都是Hash表,Hashtable有鎖,并且他的鎖是鎖整個(gè)表,(并行轉(zhuǎn)換成了串行);當(dāng)多個(gè)線程并發(fā)去訪問這個(gè)Hashtable時(shí),一次只有一個(gè)進(jìn)入。當(dāng)一個(gè)結(jié)束了才開啟下一個(gè)。效率低。

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

②、Hashtable是同步(synchronization)的,而HashMap不是(這意味著Hashtable是線程安全的,多個(gè)線程可以共享一個(gè)Hashtable;而如果沒有正確的同步的話,多個(gè)線程是不能共享HashMap的;Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的擴(kuò)展性更好。)。因此,HashMap更適合于單線程環(huán)境,而Hashtable適合于多線程環(huán)境。

③、另一個(gè)區(qū)別是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以當(dāng)有其它線程改變了HashMap的結(jié)構(gòu)(增加或者移除元素),將會(huì)拋出ConcurrentModificationException,但迭代器本身的remove()方法移除元素則不會(huì)拋出ConcurrentModificationException異常。但這并不是一個(gè)一定發(fā)生的行為,要看JVM。這條同樣也是Enumeration和Iterator的區(qū)別。

HashMap可以通過下面的語句進(jìn)行同步:Map m = Collections.synchronizeMap(hashMap);3、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。

Java中交互方式分為同步和異步兩種:

同步交互:指發(fā)送一個(gè)請求,需要等待返回,然后才能夠發(fā)送下一個(gè)請求,有個(gè)等待過程;

異步交互:指發(fā)送一個(gè)請求,不需要等待返回,隨時(shí)可以再發(fā)送下一個(gè)請求,即不需要等待。

區(qū)別:一個(gè)需要等待,一個(gè)不需要等待,在部分情況下,我們的項(xiàng)目開發(fā)中都會(huì)優(yōu)先選擇不需要等待的異步交互方式。

哪些情況建議使用同步交互呢?比如銀行的轉(zhuǎn)賬系統(tǒng),對(duì)數(shù)據(jù)庫的保存操作等等,都會(huì)使用同步交互操作,其余情況都優(yōu)先使用異步交互。

(如果數(shù)據(jù)將在線程間共享。例如正在寫的數(shù)據(jù)以后可能被另一個(gè)線程讀到,或者正在讀的數(shù)據(jù)可能已經(jīng)被另一個(gè)線程寫過了,那么這些數(shù)據(jù)就是共享數(shù)據(jù),必須進(jìn)行同步存取。

當(dāng)應(yīng)用程序在對(duì)象上調(diào)用了一個(gè)需要花費(fèi)很長時(shí)間來執(zhí)行的方法,并且不希望讓程序等待方法的返回時(shí),就應(yīng)該使用異步編程,在很多情況下采用異步途徑往往更有效率。)4、接口是否可繼承接口?抽象類是否可實(shí)現(xiàn)(implements)接口?抽象類是否可繼承實(shí)體類(concrete class)?

接口可以繼承接口。

抽象類可以實(shí)現(xiàn)(implements)接口。

抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。5、abstract class(抽象類)和interface(接口)有什么區(qū)別?詳細(xì)

1.相同點(diǎn)

A. 兩者都是抽象類,都不能實(shí)例化。

B. interface實(shí)現(xiàn)類及abstrct class的子類都必須要實(shí)現(xiàn)已經(jīng)聲明的抽象方法。

2. 不同點(diǎn)

A. interface需要實(shí)現(xiàn),要用implements,而abstract class需要繼承,要用extends。

B. 一個(gè)類可以實(shí)現(xiàn)多個(gè)interface,但一個(gè)類只能繼承一個(gè)abstract class。

C. interface強(qiáng)調(diào)特定功能的實(shí)現(xiàn),而abstract class強(qiáng)調(diào)所屬關(guān)系。

D. 盡管interface實(shí)現(xiàn)類及abstrct class的子類都必須要實(shí)現(xiàn)相應(yīng)的抽象方法,但實(shí)現(xiàn)的形式不同。interface中的每一個(gè)方法都是抽象方法,都只是聲明的(declaration, 沒有方法體),實(shí)現(xiàn)類必須要實(shí)現(xiàn)。而abstract class的子類可以有選擇地實(shí)現(xiàn)。6、構(gòu)造器Constructor是否可被override?

java 重寫/覆蓋(Override)與重載(Overload)

構(gòu)造器不是方法,那么用來修飾方法特性的所有修飾符都不能用來修飾構(gòu)造器(并不等于構(gòu)造器不具備這些特性,雖然不能用static修飾構(gòu)造器,但它卻有靜態(tài)特性)構(gòu)造器只能用public private protected這三個(gè)權(quán)限修飾符,且不能有返回語句。7、編程題: 寫一個(gè)Singleton出來。

單例模式(Singleton):保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。

餓漢式/懶漢式

上面第二種寫法存在的線程安全問題的解決方法8、數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?

1、數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?

數(shù)組沒有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。String有有l(wèi)ength()這個(gè)方法。

2、是否可以繼承String類?

String類是final類故不可以繼承。

sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對(duì)象鎖。

wait是Object類的方法,對(duì)此對(duì)象調(diào)用wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此對(duì)象發(fā)出notify方法(或notifyAll)后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)。10、java語言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?

throws是獲取異常(用于在方法簽名中聲明拋出一個(gè)或多個(gè)異常類,throws關(guān)鍵字后可以緊跟一個(gè)或多個(gè)異常類。)

throw是拋出異常(用于手動(dòng)地拋出異常對(duì)象。throw后面需要一個(gè)異常對(duì)象。)

try是將會(huì)發(fā)生異常的語句括起來,從而進(jìn)行異常的處理,

catch是如果有異常就會(huì)執(zhí)行他里面的語句,(catch塊表示一個(gè)異常捕獲塊。當(dāng)程序執(zhí)行try塊引發(fā)異常時(shí),這個(gè)異常對(duì)象將會(huì)被后面相應(yīng)的catch塊捕獲。)

而finally不論是否有異常都會(huì)進(jìn)行執(zhí)行的語句。

對(duì)于一個(gè)完整的異常處理流程而言,try塊是必須的,try塊后可以緊跟一個(gè)或多個(gè)catch塊,最后還可以帶一個(gè)finally塊。

try塊中可以拋出異常。11、多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?

一、多線程實(shí)現(xiàn)方法有兩種 :

①種是實(shí)現(xiàn)Runnable 接口  ②種是繼承Thread類。

二、實(shí)現(xiàn)同步也有兩種 :

①種是用同步方法,②種是用同步塊。

同步方法就是在方法返回類型后面加上synchronized, 比如:

public void * synchronized add(){...}。

同步塊就是直接寫:synchronized (這里寫需要同步的對(duì)象){...}

三、

wait():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對(duì)象的lock。

sleep():使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài),是一個(gè)靜態(tài)方法, * 調(diào)用此方法要捕捉InterruptedException異常 * 。

notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切的喚醒某一個(gè)等待狀態(tài)的線程 ,而是由JVM確定喚醒哪個(gè)線程,而且不是按優(yōu)先級(jí)? 。

Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個(gè)對(duì)象的鎖,而是讓它們競爭。12、構(gòu)造一個(gè)鏈表類,用堆棧類實(shí)現(xiàn)

13、final,finally,finalize的差別

final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。

finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。

finalize是Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。14、Java異常處理機(jī)制

在 Java 應(yīng)用程序中,異常處理機(jī)制為:拋出異常,捕捉異常。

拋出異常:當(dāng)一個(gè)方法出現(xiàn)錯(cuò)誤引發(fā)異常時(shí),方法創(chuàng)建異常對(duì)象并交付運(yùn)行時(shí)系統(tǒng),異常對(duì)象中包含了異常類型和異常出現(xiàn)時(shí)的程序狀態(tài)等異常信息。運(yùn)行時(shí)系統(tǒng)負(fù)責(zé)尋找處置異常的代碼并執(zhí)行。

捕獲異常:在方法拋出異常之后,運(yùn)行時(shí)系統(tǒng)將轉(zhuǎn)為尋找合適的異常處理器(exception handler)。潛在的異常處理器是異常發(fā)生時(shí)依次存留在調(diào)用棧中的方法的集合。當(dāng)異常處理器所能處理的異常類型與方法拋出的異常類型相符時(shí),即為合適 的異常處理器。運(yùn)行時(shí)系統(tǒng)從發(fā)生異常的方法開始,依次回查調(diào)用棧中的方法,直至找到含有合適異常處理器的方法并執(zhí)行。當(dāng)運(yùn)行時(shí)系統(tǒng)遍歷調(diào)用棧而未找到合適 的異常處理器,則運(yùn)行時(shí)系統(tǒng)終止。同時(shí),意味著Java程序的終止。15、給定一個(gè)序列,取出其中第二大的數(shù),要求不對(duì)整個(gè)序列排序

16、字符串壓縮

總結(jié)

以上是生活随笔為你收集整理的java 同步块 抛出异常_java问题合集(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 香蕉久久一区二区三区 | 熟女自拍一区 | 看一级黄色大片 | 免费观看美女裸体网站 | 成人一级影视 | 久久久久久久久久福利 | 国产一区网站 | 国产在线视频在线观看 | 成人免费不卡视频 | 无码人妻丰满熟妇区毛片蜜桃精品 | 香蕉久草 | 2017天天干| 2019亚洲天堂 | 91丝袜呻吟高潮美腿白嫩 | 手机天堂网 | 亚洲男人天堂网 | 男女爽爽| 精品国产一区一区二区三亚瑟 | 欧美日韩国产免费一区二区三区 | 久久人人爽人人爽人人片av免费 | 国产一卡二卡 | 国产精品高清在线观看 | 国产又粗又黄又爽又硬 | 91中文在线 | 91av视频在线播放 | 欧美性福利 | 久久成人在线观看 | 神马久久久久久久久久久 | 国产91精品在线观看 | 香蕉毛片 | www.国产毛片 | 蜜臀av一区二区三区有限公司 | 妺妺窝人体色777777 | 国产精品一区在线看 | 伊人狠狠 | 永久黄网站 | 在线观看香蕉视频 | 亚洲第一成人网站 | 一直草| 尤物在线视频观看 | 成人av资源在线 | 亚洲欧洲国产综合 | av片网址 | 美女被娇喘视频 | 国产精品伊人久久 | www日本在线观看 | 日韩精品午夜 | 国产91丝袜在线观看 | 三级黄色网络 | 日本午夜网站 | 亚洲一区二区综合 | 98在线视频| 男女国产视频 | 爱爱的网站| 午夜电影一区二区三区 | 超碰啪啪| 91在线观看网站 | 国产精品国语对白 | 日韩中文字幕网站 | 国产精品国产精品国产专区 | 久久久精品一区二区三区 | 一久久 | 日日躁夜夜躁狠狠躁 | 福利色导航 | 黄色网战在线观看 | 99国产在线视频 | 国产一区二区视频在线免费观看 | 日批视频在线播放 | 亚洲视频一区二区在线观看 | 日韩毛毛片 | 日韩大片一区 | 波多野结衣在线播放视频 | 国产成人麻豆精品午夜在线 | 激情四射av| 国产人妻精品一区二区三区 | 国产91丝袜在线播放九色 | 天天做天天爱天天爽综合网 | 亚洲六月丁香色婷婷综合久久 | 国产一区二区片 | 日产av在线播放 | www.一区二区三区 | 欧美巨大另类极品videosbest | 精品国产自在精品国产精小说 | 99性视频| 中文字幕69| 国产免费不卡视频 | 欧美久久久久久久久久久 | wwwxxx色| 伊人国产女 | 欧美日韩一区免费 | 久久影音| 日韩性猛交ⅹxxx乱大交 | 欧美黑人啪啪 | 天天搞夜夜爽 | 日韩在线不卡av | 欧美一级二级视频 | 国内自拍在线观看 | 26uuu精品一区二区在线观看 | 丁香激情婷婷 |