在日常學(xué)習(xí)、工作或生活中,大家總少不了接觸作文或者范文吧,通過(guò)文章可以把我們那些零零散散的思想,聚集在一塊。相信許多人會(huì)覺(jué)得范文很難寫(xiě)?以下是我為大家搜集的優(yōu)質(zhì)范文,僅供參考,一起來(lái)看看吧
java的常見(jiàn)問(wèn)題 java的設(shè)計(jì)篇一
導(dǎo)語(yǔ):java可以編寫(xiě)桌面應(yīng)用程序、web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。下面是java設(shè)計(jì)的常見(jiàn)問(wèn)題,歡迎參考!
調(diào)用 wait ()/notify ()/notifyall ()中的任何一個(gè)方法時(shí),如果當(dāng)前線程沒(méi)有獲得該對(duì)象的鎖,
那么就會(huì)拋出 illegalmonitorstateexception 的異常
也就是說(shuō)程序在沒(méi)有執(zhí)行對(duì)象的任何同步塊或者同步方法時(shí),
仍然嘗試調(diào)用 wait ()/notify ()/notifyall ()時(shí)。由于該異常是 runtimeexcpetion 的子類(lèi),
所以該異常不一定要捕獲(盡管你可以捕獲只要你愿意
作為 runtimeexception,此類(lèi)異常不會(huì)在 wait (),notify (),notifyall ()的方法簽名提及。
同步靜態(tài)方法時(shí)會(huì)獲取該類(lèi)的“class”對(duì)象,所以當(dāng)一個(gè)線程進(jìn)入同步的靜態(tài)方法中時(shí),
線程監(jiān)視器獲取類(lèi)本身的對(duì)象鎖,其它線程不能進(jìn)入這個(gè)類(lèi)的`任何靜態(tài)同步方法。
它不像實(shí)例方法,因?yàn)槎鄠€(gè)線程可以同時(shí)訪問(wèn)不同實(shí)例同步實(shí)例方法。
可以,一個(gè)非同步方法總是可以被調(diào)用而不會(huì)有任何問(wèn)題。
實(shí)際上,java 沒(méi)有為非同步方法做任何檢查,鎖對(duì)象僅僅在同步方法或者同步代碼塊中檢查。
如果一個(gè)方法沒(méi)有聲明為同步,即使你在使用共享數(shù)據(jù)java照樣會(huì)調(diào)用,而不會(huì)做檢查是否安全,
所以在這種情況下要特別小心。一個(gè)方法是否聲明為同步取決于臨界區(qū)訪問(wèn)(critial section access),
如果方法不訪問(wèn)臨界區(qū)(共享資源或者數(shù)據(jù)結(jié)構(gòu))就沒(méi)必要聲明為同步的。
不能,因?yàn)橐粋€(gè)對(duì)象已經(jīng)同步了實(shí)例方法,線程獲取了對(duì)象的對(duì)象鎖。
所以只有執(zhí)行完該方法釋放對(duì)象鎖后才能執(zhí)行其它同步方法。
線程餓死和活鎖雖然不像死鎖一樣是常見(jiàn)的問(wèn)題,但是對(duì)于并發(fā)編程的設(shè)計(jì)者來(lái)說(shuō)就像一次邂逅一樣。
當(dāng)所有線程阻塞,或者由于需要的資源無(wú)效而不能處理,不存在非阻塞線程使資源可用。
javaapi 中線程活鎖可能發(fā)生在以下情形:
當(dāng)所有線程在程序中執(zhí)行 (0),參數(shù)為 0 的 wait 方法。
程序?qū)l(fā)生活鎖直到在相應(yīng)的對(duì)象上有線程調(diào)用 ()或者 all ()。
當(dāng)所有線程卡在無(wú)限循環(huán)中。
s("content_relate");
【java設(shè)計(jì)常見(jiàn)問(wèn)題】相關(guān)文章:
java常見(jiàn)問(wèn)題集錦
09-25
java工程師面試的常見(jiàn)問(wèn)題11-22
java程序設(shè)計(jì)示例教程11-21
java的動(dòng)態(tài)考試系統(tǒng)的設(shè)計(jì)12-03
java設(shè)計(jì)模式之單例模式11-23
java程序設(shè)計(jì)里的線程11-22
java網(wǎng)上考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)12-04
java語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告11-13
java教程之java編程基礎(chǔ)10-02
java面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念10-04