看來我又孤弱寡聞了,今天有客戶反映,我們的系統啓動後系統時間跑快了。我先還覺得好笑。做這多年了第一次碰到。
後來實驗了下,真的有如此現象,問下google。看來我out了。確實在多線程的情況下,休眠時間小於10ms會有次現象發生。這個是jvm的一個bug。
原來客戶的服務器一直是linux的。現在大多是windows的。不知道linux上是不是也會有這個問題。
解決辦法也很簡單,要麼你別小於10ms,當然這個有點不友好
還有一個就是加個jvm參數:-XX:+ForceTimeHighResolution