如果最近您收到了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。第一時間瞭解前沿行業訊息、分享深度技術乾貨、獲取優質學習資源