如果最近您收到了MacOS 14.4的升級提醒,那麼建議你暫時先不要升級! 在x上,Java開發領域的一些大v們,也發現了這個問題,並提醒大家不要升級。 根據Java官方發佈的文章瞭解到,該問題主要是由於macOS上運行的進程可能會訪問受保護記憶體區域中的記憶體。在 macOS 14.4 更新之前,在某 ...
如果最近您收到了MacOS 14.4的升級提醒,那麼建議你暫時先不要升級!
在x上,Java開發領域的一些大v們,也發現了這個問題,並提醒大家不要升級。
根據Java官方發佈的文章瞭解到,該問題主要是由於macOS上運行的進程可能會訪問受保護記憶體區域中的記憶體。在 macOS 14.4 更新之前,在某些情況下,macOS 內核會通過向進程發送信號 SIGBUS 或 SIGSEGV 來響應這些受保護的記憶體訪問。然後該進程可以選擇處理該信號並繼續執行。而在最新 macOS 14.4 中,當線程在寫入模式下運行時,如果嘗試對受保護的記憶體區域進行記憶體訪問,macOS 將發送信號SIGKILL。該進程無法處理該信號,並且該進程將無條件終止。
更多關於該問題的Java官方文章可見: https://blogs.oracle.com/java/post/java-on-macos-14-4
歡迎關註博客連載的Java新特性專欄:https://www.didispace.com/java-features/
目前該問題主要受影響的Mac機型和Java版本包括:
- Mac機型:M1、M2、M3(Apple Silicon m* 晶元)
- Java版本:Java 8 - Java 22 所有版本
M系列的晶元已經發佈挺久了,很多開發者都已經開始使用,同時Java版本的影響範圍幾乎是全部,所以這個問題的影響範圍還是非常大的。當然,如果還在使用Intel晶元的話,這次不受影響。
歡迎關註我的公眾號:程式猿DD。第一時間瞭解前沿行業消息、分享深度技術乾貨、獲取優質學習資源