likes
comments
collection
share

MacOS14.4 + Java = 崩溃!!!

作者站长头像
站长
· 阅读数 5

大家好,我是喜欢折腾,热爱分享的“一只韩非子”。 关注微信公众号:会编程的韩非子 添加微信号:Hanfz0712 免费加入问答群/知识交流群,一起交流技术难题与未来,让我们Geek起来!

使用Mac开发Java的好兄弟们,最近你们还好吗,不知道你们对下面这张图熟不熟悉。

MacOS14.4 + Java = 崩溃!!! 我是很熟悉啊,而且今天就遇到了两次0.0,那么到底是怎么回事呢?

1.场景复现

下午起床,洗把脸开始上班。很有感觉哈,思考问题脑子变快了,手上的代码也快了起来。正当我洋洋得意感觉就要大功告成的时候,突然,很快啊,我他喵的IDEA没了。突然返回到了桌面,我甚至都没反应过来发生了什么事,然后就弹出了上面那个非常让人想把它枪毙五分钟的弹窗。我IDEA崩溃了!!!不过,还好,IDEA向来智能,还会自动保存。然后我就点击了重新打开,打开后我是真的傻眼了。 我代码呢???啊???IDEA我代码呢???说好的自动保存呢?

MacOS14.4 + Java = 崩溃!!!

然后我又找了下本地历史,发现也没有记录,真的G了,快一个小时的汗水白流了。。。我直接想骂街。那又能怎么办呢,只能在跟同事吐槽几句后,重新来过。 生活就是这样,每时每刻都在发生我们无法控制的事情,尽管你很委屈,尽管那是你努力很久很久的东西,但是我们无能为力。我们只能选择擦干眼泪,重新再来。你要习惯,这就是生活。

2.情景再现

就在我感慨完之后,又是一顿行云流水写完了代码,然后点击小虫子按钮准备DeBug时,好家伙,他又来了。 不过好消息是,这次大部分代码还在,只有一小部分丢失了。

MacOS14.4 + Java = 崩溃!!!

生活,生活,这就是生活,我要坚强┭┮﹏┭┮

3.抓到罪魁祸首

原来是你,我最信赖的MacOS。 原来官方早在3.15就发布了一篇博客,里面讲解了macos14.4中运行java程序会有导致崩溃的情况。大致意思是,在macos14.4之前,系统会向访问受保护区域的进程发送两种信号SIGBUS和SIGSEGV,进程可以选择处理信号并继续运行。但是在macos14.4中,这个信号变了,变成了新的信号SIGKILL,然后我们的java进程没法处理这个信号,所以进程就被无条件的杀死了。 而且影响从 Java 8 到 JDK 22 的早期访问版本的所有 Java 版本。并且目前没有可用的解决方法。

MacOS14.4 + Java = 崩溃!!!

(帮好兄弟们翻译一下)

MacOS14.4 + Java = 崩溃!!! 再看看我的系统版本,好家伙,没谁了,帮苹果测试系统兼容性了。

MacOS14.4 + Java = 崩溃!!!

4.懊悔ing

现在的我已经想象到未来一段时间IDEA接连崩溃的情况了

MacOS14.4 + Java = 崩溃!!!

希望官方大大能够赶快解决这个问题。在此之前,就得看,是它崩溃得快还是我git commit的快了。