首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
port
interface
stdout
sms
base64
python
crash
go
sockets
jvm
spring
redis
cpython
grpc
asp.net
router
service
php
thinkphp
爬虫
laravel
cache
phpmyadmin
timeout
上传
gzip
cPlusPlus
token
package
swoole
php5
syslog
漏洞
nlp
cookie
ssl
webhooks
lvs
压力测试
golang
http
mqtt
web3
sftp
织梦cms
pipeline
mq
hashmap
api
ruby
缓存
yaf
curl
并发
pymongo
phpunit
upload
队列
vb
struct
nodejs
caching
php绘图
smtp
cookies
mvc
static
dns
php水印
openssl
gcc
frontend
okhttp
ffmpeg
iis
多线程
crontab
rabbitmq
timezone
当前位置:
开发笔记
>
后端
> 正文
一行代码引发的“血案”
作者:WINNIE双双围脖_370 | 来源:互联网 | 2023-07-04 19:19
今天想起来一件好玩的事,给大家分享下。事情发生在几年前,那时候大家忙活完一个新需求,终于上线了,都想松一口气。可是很快就发生了一件令人抓狂的事情,刚上线的系统总是莫名其妙的崩溃,每次都
今天想起来一件好玩的事, 给大家分享下。
事情发生在几年前, 那时候大家忙活完一个新需求, 终于上线了, 都想松一口气。
可是很快就发生了一件令人抓狂的事情, 刚上线的系统总是莫名其妙的崩溃, 每次都得重启才能解决。
更要命的是完全摸不到规律, 系统运行着运行着就down了, 毫不留情面。
赶紧组织人员检查, 开发人员拍着胸脯, 信心满满: 肯定不是我们的问题! 先查查是不是环境的问题!
内存使用, 正常 。
硬盘空间,正常。
检查日志, 正常, 更找不到什么OutofMemory。
难道是黑客入侵,工程师仔细检查系统日志,也没有什么蛛丝马迹。 我们的系统也不涉及到钱, 根本不值得入侵。
可是系统总是那么静悄悄的,冷酷的down机, 快把大家都逼疯了。
如果是你该怎么办?
怀疑了一圈别人的问题以后,最好也怀疑一下自己。
我们就开始严格的审查这个新需求新加的,和改动的代码,10几双眼睛不知道看了多少遍, 还是一无所获。
后来不知道是谁,偶然看到了程序中有这么一行可怕的代码: System.exit(1) , 然后赶紧检查它和这个改动的关系。
果然, 在改动之前,这行代码永远都不会被执行到, 相当于死代码, 它就像个定时炸弹躺着那里, 一动不动至少有5年了!
现在终于等来了被触发的一刻:虽然我们的这次改动离这个炸弹极其遥远, 但的确会导致程序会在某种情况下进入这一分支, 于是System.exit(1); 被执行,炸弹爆炸。 JVM悄无声息的退出了 !
重启系统, 还会进入这一分支,System.exit, 系统再次退出 :-)
就这么周而复始, 把我们这帮码农戏耍了好几天 :-(
所以各位同学,以后不要轻易使用System.exit了, 建议你也马上搜索一下你的项目, 看看有没有这个炸弹吧。
扫描二维码, 关注 coderising
加入码农翻身群135769418:和更多热爱编程的朋友交流
日志
jvm
搜索
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
php
最强阿里及大厂350道面试大全:框架+数据库+并发+开源+微服务
前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ...
[详细]
蜡笔小新 2024-12-18 15:33:00
package
Python 的 10 个开发技巧!太实用了
1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ...
[详细]
蜡笔小新 2024-12-27 18:36:54
timeout
Java面试题解析
本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ...
[详细]
蜡笔小新 2024-12-27 13:55:14
go
Hadoop入门与核心组件详解
本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ...
[详细]
蜡笔小新 2024-12-26 13:12:48
php
MicroATX与MATX:主板规格详解
本文详细介绍了MicroATX(也称Mini ATX)和MATX主板规格,探讨了它们的结构特点、应用场景及对电脑系统成本和性能的影响。同时,文章还涵盖了相关操作系统的实用技巧,如蓝牙设备图标删除、磁盘管理等。 ...
[详细]
蜡笔小新 2024-12-25 18:53:29
php
技术变现之道:从日常工作中挖掘潜力
本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ...
[详细]
蜡笔小新 2024-12-24 15:21:23
spring
阿里Java面试全解析:从技术面到HR面的详细攻略
本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ...
[详细]
蜡笔小新 2024-12-23 11:32:02
token
JSON 解析失败问题排查
在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ...
[详细]
蜡笔小新 2024-12-21 18:39:23
cache
深入剖析JVM垃圾回收机制
本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ...
[详细]
蜡笔小新 2024-12-20 17:24:41
jvm
垃圾回收机制解析
在程序运行过程中,各种编程语言都会动态创建对象,并为其分配内存。当这些对象不再使用时,释放其所占内存变得至关重要,以确保资源的有效利用。本文深入探讨了垃圾回收(GC)的工作原理,包括如何识别、何时及如何回收不再使用的对象。 ...
[详细]
蜡笔小新 2024-12-18 11:53:47
jvm
深入解析HTML中的
标签及其应用场景
本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ...
[详细]
蜡笔小新 2024-12-27 17:05:37
jvm
如何在Visual Studio Code中配置中文语言环境
本文介绍了如何在最新版本的Visual Studio Code中配置中文语言包,使用户能够更便捷地使用中文界面。文章详细描述了安装和配置步骤,并提供了相关补充说明。 ...
[详细]
蜡笔小新 2024-12-27 17:00:20
php
开源软件:新时代的商业机遇与挑战
在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ...
[详细]
蜡笔小新 2024-12-27 14:49:56
php
疫情下的银行数字化转型:民生场景服务的全面升级
新冠肺炎疫情期间,各大银行积极利用手机银行平台,满足客户在金融与生活多方面的需求。线上服务不仅激活了防疫相关的民生场景,还推动了银行通过互联网思维进行获客、引流与经营。本文探讨了银行在找房、买菜、打卡、教育等领域的创新举措。 ...
[详细]
蜡笔小新 2024-12-27 14:15:52
php
MacOS上高效的SVN管理工具Cornerstone安装指南
本文详细介绍如何在MacOS上安装和配置高效SVN管理工具Cornerstone,涵盖其主要功能和优化后的性能提升。 ...
[详细]
蜡笔小新 2024-12-26 14:26:19
WINNIE双双围脖_370
这个家伙很懒,什么也没留下!
Tags | 热门标签
port
interface
stdout
sms
base64
python
crash
go
sockets
jvm
spring
redis
cpython
grpc
asp.net
router
service
php
thinkphp
爬虫
laravel
cache
phpmyadmin
timeout
上传
gzip
cPlusPlus
token
package
swoole
RankList | 热门文章
1
JavaHashMap原理解析
2
[二分图]JZOJ 4612 游戏
3
Vue开发实例目录总索引
4
ASP.NET Core WebAPI 开发新建WebAPI项目 转
5
gis平移至所选要素_详解:ArcGIS中如何实现矢量数据平移
6
PyQt 如何创建自定义QWidget
7
开发笔记:深度探索!Android之OkHttp网络架构源码解析
8
EasyGBS无法播放WebRTC格式的视频流,是什么原因?
9
好看的综艺节目具备什么特点?:节目情节设置
10
【中国大陆手机号码决收不到验证码的问题】
11
阿里云大数据计算服务MaxCompute (原名 ODPS)
12
体验分析(收藏)
13
鄖字意思 在新华字典的读音解释笔画常用组词起名
14
Spring Boot 整合Mybatis时,mapper一直无法注入
15
WIN10 64位系统 如何安装.NET Framwork3.5
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有