為什么我們調用start() 方法時會執行run() 方法? 2022-09-20
為什么我們調用 start() 方法時會執行 run() 方法,為什么我們不能直接調用 run() 方法?這是另一個非常經典的 Java 多線程面試問題,而且在面...詳情>
線程的run()和start()有什么區別? 2022-09-20
start() 方法用于啟動線程,run() 方法用于執行線程的運行時代碼。run() 可以重復調用,而 start() 只能調用一次。 start()方法來啟動一個線程...詳情>
請談談ReadWriteLock和StampedLock 2022-09-20
1. ReadWriteLock ReadWriteLock 可以實現多個讀鎖同時進行,但是讀與寫和寫于寫互斥,只能有一個寫鎖線程在進行。 2. StampedLock StampedLo...詳情>
synchronized和Lock有什么區別? 2022-09-20
而 lock 需要自己加鎖和釋放鎖,如果使用不當沒有 unLock()去釋放鎖就會造成死鎖。4、 通過 Lock 可以知道有沒有成功獲取鎖,而 synchronized ...詳情>
在Java程序中怎么保證多線程的運行安全? 2022-09-20
2、 緩存導致的可見性問題。解決辦法:synchronized、volatile、LOCK,可以解決可見性問題 3、 編譯優化帶來的有序性問題 解決辦法:Happens...詳情>
wait和sleep的區別有哪些? 2022-09-20
wait()方法會導致線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象調用notify()方法后本線程才進入對象鎖定池準備獲取對象鎖進入...詳情>
volatile修飾符的有過什么實踐? 2022-09-20
double 和 long 都是64位寬,因此對這兩種類型的讀是分為兩部分的,次讀取個 32 位,然后再讀剩下的 32 位,這個過程不是原子的,但 Java 中 v...詳情>
float和double的區別是什么? 2022-09-20
40E+38 雙精度浮點數的表示范圍:-1.4 在程序中處理速度不同 一般來說,CPU處理單精度浮點數的速度比雙精度浮點數的速度快;4是雙精度浮點數,...詳情>
舉例說明什么情況下會更傾向于使用抽象類而不是接口? 2022-09-20
接口和抽象類都遵循”面向接口而不是實現編碼”設計原則,它可以增加代碼的靈活性,可以適應不斷變化的需求。 下面有幾個點可以幫助你回答這...詳情>
什么是鎖消除和鎖粗化? 2022-09-20
很多不是程序員自己加入的。鎖粗化:原則上,同步塊的作用范圍要盡量小。但是如果一系列的連續操作都對同一個對象反復加鎖和解鎖,甚至加鎖操...詳情>
在線提問
專業導師線上坐鎮,解答個性化學習難題
提交問題