IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)-2

简介: IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)

搜索引擎靠不住,那就只能靠自己了。于是我写下了这段代码:


public class TestClose {
    public static void main(String[] args) {
        try {
            Thread.sleep(10000000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}


运行结果大吃一惊。我揉了好几次眼睛,甚至上了倍清亮眼药水,结果也是非正常退出,错误代码和之前的 Undertow 一致。


image.png


搞什么嘛,这可是 Thread.sleep(10000000) 休眠大法啊,也能在一秒内结束,那一定不是 Undertow 的代码示例写错了,而是 IDEA 在作妖。


事到如今,我想起了被打入冷宫的 Eclipse。同样的代码,进程没有立即结束掉。


image.png


Undertow 的代码示例也没有问题,程序没有立即结束。



在浏览器中输入 http://localhost:8080 也能正常访问。



对比之后,问题就很确定了,出在 IDEA 身上,一定是它哪根神经错乱了。于是换了一下谷歌搜索的关键词,结果如下所示。


image.png


果然也有同行遇到了类似的问题,但文章中提到的原因竟然是金山词霸的划词翻译,这有点太扯了吧?




虽然有点扯,但的确值得试一试,毕竟山穷水尽了啊,况且我的电脑上真的安装了金山词霸,并且是打开状态。




那就退出试试呗,结果。。。。。。。。。。真的有用啊。




这次,进程没有主动结束,这是什么神奇的操作啊?人生第一次开始怀疑科学了!


既然和金山词霸有关系,那么我就脑洞打开了,是不是因为我装了汉化插件的关系?于是我把 IDEA 的汉化插件禁用,并且在重启之前打开了金山词霸。




结果证明没关系,进程主动结束了。




于是只好再次退出金山词霸。没想到,当我点击 Run 的小图标再次运行程序时,IDEA 竟然闪退了。看来它们之间的确有着不可告人的秘密,具体原因未知。


不管怎么说,这个莫名其妙的 bug 是解决了,有必要总结一波经验心得了,希望能够给小伙伴们在开发中一些启发。因为作为程序员,面对不会说话的计算机,有时候,真的会遇到一些难以名状的错误,把我们折腾得够呛。


经验一:保持冷静,切勿暴躁,心态失衡时容易捶鼠标,捶键盘,捶坏了,还得买新的。


经验二:先从自身代码找原因,复制粘贴有时候也会出现偏差,这时候,最好就和源头对比一下。如果肉眼发现不了,上比较工具,靠谱。


经验三:问谷歌,不要问某度。这年头,经常听到一些小伙伴们抱怨说,公司不允许上网,遇到问题时真的无从下手,我只能说这样的公司真的是闭关锁国啊。


经验四:换个环境试一试。同样的代码,环境不同,运行后的解决真有可能不同。IDEA 中出错,放 Eclipse 中试试;Windows 下出错,放 Linux 下试试;自己的环境有问题,放同事的环境下试试。


经验五:搜索的时候换一下关键词,真的是“柳暗花明又一村”啊。


经验六:重复以上。


感谢阅读


我在上大专的时候就学了 Java,但由于基础差,学历低的原因在工作中吃了不少亏。没办法,只能后天弥补。输出倒逼输入,于是我就开启了自己的逆袭之路,不断地学习 Java 核心知识,并将所有心得都写成了文章,发布在博客平台上,没想到,这种坚持不懈的努力成就了一个更好的自己。


如果你也不甘平庸,不想被学历限制自我,那就请和我一起打怪进阶吧!




我不仅分享有趣的技术,还分享有益的程序人生,这些都将会帮助你从一名“屌丝”程序员进阶成为一名优秀的程序员。


非常期待和你的交流,送上我的微信号吧,qing_geee,有任何问题都欢迎随时和我交流,另外,我还组建了一些高质量的技术交流群,感兴趣的可以说下我邀请你加入。


我所有的文章都会第一时间发布在“沉默王二”公众号和 CSDN 博客,如果你恰好喜欢我的文章的话,请微信搜索“沉默王二”吧。


回复关键字“面试”,可以免费获取一份价值连城的面试攻略,美团大佬整理的。


另外回复“并发”,还可以获取一份阿里大牛整理的 Java 并发编程实战指南,只给首次关注的你哦!

相关文章
|
5月前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
79 3
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
92 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
2月前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
41 6
|
2月前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
487 1
|
2月前
|
Java Linux 开发工具
IDEA中git提交前如何关闭code analysis以及开启格式化代码
【10月更文挑战第12天】本文介绍了在 IntelliJ IDEA 中关闭代码分析和开启代码格式化的步骤。关闭代码分析可通过取消默认启用检查或针对特定规则进行调整实现,同时可通过设置 VCS 静默模式在提交时跳过检查。开启代码格式化则需在 `Settings` 中配置 `Code Style` 规则,并通过创建 Git 钩子实现提交前自动格式化。
745 3
|
3月前
|
Linux Windows
IDEA如何查看每一行代码的提交记录(人员,时间)
【9月更文挑战第24天】在IntelliJ IDEA中,可通过安装GitToolBox插件并利用其功能来便捷地查看每行代码的提交记录,包括提交者、时间和提交信息。具体操作为:首先安装GitToolBox插件,然后在代码编辑区域将鼠标悬停于目标代码行以查看简要信息,或使用快捷键打开“Version Control”窗口查看详细提交历史。
2413 2
|
4月前
|
Java 数据库连接 Spring
如何在IDEA中自定义模板、快速生成完整的代码?
这篇文章介绍了如何在IntelliJ IDEA中使用easycode插件自定义代码生成模板,以快速生成Spring Boot、MyBatis等项目中常见的Controller、Service、Dao、Mapper等组件的代码。
如何在IDEA中自定义模板、快速生成完整的代码?
|
4月前
|
XML 数据格式
IDEA 行注释设置,使其不从顶格开始,让其处于代码前开始
这篇文章提供了IntelliJ IDEA中如何设置行注释不从顶格开始,而是紧接在代码前面的方法,通过访问Settings中的Code Style选项进行调整,以改善代码注释的视觉效果。
|
4月前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
|
4月前
|
开发工具 git
成功解决 IDEA 2020 版本 代码报错不提示的几种方案
这篇文章提供了几种解决IntelliJ IDEA 2020版本中代码报错不提示问题的方案,包括通过修改文件夹权限、暂存本地更改后进行git pull,以及在git pull后应用暂存的更改并提交代码到远程仓库的方法。