首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
phpunit
cookies
ffmpeg
frontend
缓存
node.js
cSharp
h2
gcc
pipe
varnish
pip
ssl
phpmyadmin
session
router
webserver
sms
python
gzip
cPlusPlus
localhost
django
cookie
golang
rust
syslog
ftp
java
openssl
多线程
php框架
okhttp
port
织梦cms
crash
api
service
压力测试
package
并发
base64
nginx
lavarel
iis
log4j
curl
php水印
pymongo
yaf
tengine
php5
c语言
storage
static
mqtt
上传
x86
timeout
mvc
makefile
upload
webhooks
interface
lua
stdout
lvs
thinkphp
队列
注入
timezone
jvm
nodejs
touch
pipeline
sftp
nlp
php
cache
当前位置:
开发笔记
>
后端
> 正文
一行代码引发的“血案”
作者: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
搜索
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
java
最强阿里及大厂350道面试大全:框架+数据库+并发+开源+微服务
前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ...
[详细]
蜡笔小新 2024-12-18 15:33:00
java
技术变现之道:从日常工作中挖掘潜力
本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ...
[详细]
蜡笔小新 2024-12-24 15:21:23
java
MicroATX与MATX:主板规格详解
本文详细介绍了MicroATX(也称Mini ATX)和MATX主板规格,探讨了它们的结构特点、应用场景及对电脑系统成本和性能的影响。同时,文章还涵盖了相关操作系统的实用技巧,如蓝牙设备图标删除、磁盘管理等。 ...
[详细]
蜡笔小新 2024-12-25 18:53:29
java
阿里Java面试全解析:从技术面到HR面的详细攻略
本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ...
[详细]
蜡笔小新 2024-12-23 11:32:02
java
全面解析运维监控:白盒与黑盒监控及四大黄金指标
本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ...
[详细]
蜡笔小新 2024-12-22 14:02:29
java
JSON 解析失败问题排查
在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ...
[详细]
蜡笔小新 2024-12-21 18:39:23
python
优化Flask应用的并发处理:解决Mysql连接过多问题
本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ...
[详细]
蜡笔小新 2024-12-21 09:21:49
java
深入剖析JVM垃圾回收机制
本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ...
[详细]
蜡笔小新 2024-12-20 17:24:41
java
垃圾回收机制解析
在程序运行过程中,各种编程语言都会动态创建对象,并为其分配内存。当这些对象不再使用时,释放其所占内存变得至关重要,以确保资源的有效利用。本文深入探讨了垃圾回收(GC)的工作原理,包括如何识别、何时及如何回收不再使用的对象。 ...
[详细]
蜡笔小新 2024-12-18 11:53:47
java
Codeforces Round #566 (Div. 2) A~F个人题解
Dashboard-CodeforcesRound#566(Div.2)-CodeforcesA.FillingShapes题意:给你一个的表格,你 ...
[详细]
蜡笔小新 2024-12-25 18:41:21
java
POJ 1691 矩形涂色问题 (DFS/状态压缩DP)
本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ...
[详细]
蜡笔小新 2024-12-25 18:27:21
python
DLP数据泄露检测原理浅析
最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ...
[详细]
蜡笔小新 2024-12-25 18:19:32
python
PHP Eloquent ORM 中的关联查询扩展
本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ...
[详细]
蜡笔小新 2024-12-25 18:14:14
python
如何在Linux系统中运行PHP脚本
本文将详细介绍如何在Linux操作系统中执行PHP脚本,包括环境配置、命令使用及验证方法。对于需要在Linux环境下开发或部署PHP应用的用户来说,这是一篇非常实用的文章。 ...
[详细]
蜡笔小新 2024-12-25 17:00:00
java
字节跳动夏季招聘面试经验分享
本文详细记录了字节跳动夏季招聘的面试经历,涵盖了一、二、三轮面试的技术问题及项目讨论,旨在为准备类似面试的求职者提供参考。 ...
[详细]
蜡笔小新 2024-12-18 09:31:48
WINNIE双双围脖_370
这个家伙很懒,什么也没留下!
Tags | 热门标签
phpunit
cookies
ffmpeg
frontend
缓存
node.js
cSharp
h2
gcc
pipe
varnish
pip
ssl
phpmyadmin
session
router
webserver
sms
python
gzip
cPlusPlus
localhost
django
cookie
golang
rust
syslog
ftp
java
openssl
RankList | 热门文章
1
time模块中strftime()函数的用法和示例
2
Linux桌面技巧小贴士:制作屏保程序的方法
3
《ASTER: An Attentional Scene Text Recognizer with Flexible Rectification》论文阅读笔记
4
pandas将df赋值到另一个df_为pandas df添加标签,然后将df连接到另一个df 现在标签是一个列表给出了什么?...
5
jQuery中的each方法及其不同用法:$.each、this.each、$.fn.each
6
golang 1.17 于 2021年8月16日正式发布
7
跨批次记忆在度量学习DML中的应用
8
深入了解文件传输协议及其工作原理
9
MySQL 常用SQL技巧和常见问题解答
10
Haskell学习笔记:探索函数式编程之美
11
用Python编写的小数类型判断习题
12
探讨焊接技术的重要性及应用范围
13
wikioi 1683 车厢组合:重构旅行方式
14
RabbitMQ消息中间件快速入门:SpringBoot整合生产者与消费者
15
使用透明背景绘制位图的方法
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有