奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

Java設計常見問題

時間:2025-03-22 15:35:49 java語言 我要投稿
  • 相關推薦

Java設計常見問題

  導語:Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。下面是Java設計的常見問題,歡迎參考!

  1、什么時候拋出InvalidMonitorStateException異常?為什么?

  調用 wait ()/notify ()/notifyAll ()中的任何一個方法時,如果當前線程沒有獲得該對象的鎖,

  那么就會拋出 IllegalMonitorStateException 的異常

  也就是說程序在沒有執行對象的任何同步塊或者同步方法時,

  仍然嘗試調用 wait ()/notify ()/notifyAll ()時。由于該異常是 RuntimeExcpetion 的子類,

  所以該異常不一定要捕獲(盡管你可以捕獲只要你愿意

  作為 RuntimeException,此類異常不會在 wait (),notify (),notifyAll ()的方法簽名提及。

  2、在靜態方法上使用同步時會發生什么事?

  同步靜態方法時會獲取該類的“Class”對象,所以當一個線程進入同步的靜態方法中時,

  線程監視器獲取類本身的對象鎖,其它線程不能進入這個類的任何靜態同步方法。

  它不像實例方法,因為多個線程可以同時訪問不同實例同步實例方法。

  3、當一個同步方法已經執行,線程能夠調用對象上的非同步實例方法嗎?

  可以,一個非同步方法總是可以被調用而不會有任何問題。

  實際上,Java 沒有為非同步方法做任何檢查,鎖對象僅僅在同步方法或者同步代碼塊中檢查。

  如果一個方法沒有聲明為同步,即使你在使用共享數據Java照樣會調用,而不會做檢查是否安全,

  所以在這種情況下要特別小心。一個方法是否聲明為同步取決于臨界區訪問(critial section access),

  如果方法不訪問臨界區(共享資源或者數據結構)就沒必要聲明為同步的。

  4、在一個對象上兩個線程可以調用兩個不同的同步實例方法嗎?

  不能,因為一個對象已經同步了實例方法,線程獲取了對象的對象鎖。

  所以只有執行完該方法釋放對象鎖后才能執行其它同步方法。

  5、什么是線程餓死,什么是活鎖?

  線程餓死和活鎖雖然不像死鎖一樣是常見的問題,但是對于并發編程的設計者來說就像一次邂逅一樣。

  當所有線程阻塞,或者由于需要的資源無效而不能處理,不存在非阻塞線程使資源可用。

  JavaAPI 中線程活鎖可能發生在以下情形:

  當所有線程在程序中執行 Object.wait (0),參數為 0 的 wait 方法。

  程序將發生活鎖直到在相應的對象上有線程調用 Object.notify ()或者 Object.notifyAll ()。

  當所有線程卡在無限循環中。


【Java設計常見問題】相關文章:

Java常見問題集錦04-13

Java編程常見問題07-19

Java編程的常見問題05-15

Java編程常見問題匯總06-12

Java工程師面試的常見問題02-10

Java中關于String類型的常見問題03-10

Java初學者的30個常見問題07-30

JAVA的數據權限設計05-28

Java單例設計模式04-25

主站蜘蛛池模板: 石林| 赤水市| 花垣县| 博乐市| 金湖县| 斗六市| 柳州市| 芮城县| 马山县| SHOW| 泰安市| 渭南市| 新民市| 扶沟县| 萨嘎县| 昌黎县| 如东县| 漯河市| 砚山县| 手游| 英吉沙县| 沛县| 罗田县| 金昌市| 宁化县| 华容县| 镇远县| 和田县| 温泉县| 凯里市| 全南县| 蓝山县| 巴林右旗| 金堂县| 聂荣县| 新密市| 封开县| 汤原县| 交城县| 博野县| 城市|