持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情
前言
兄弟们,今天上午翘班回去接了好朋友去家里,吃过饭自己又回公司上班,真是又开心又无奈呀哈哈哈;好羡慕她能有这种停下来可以尽情享受生活寻找自己的勇气呀!但是咱既然现阶段选择了工作,摸鱼的时候也还是要自主学习; 记录一下昨天修改的一个小问题吧!
经过
程序背景仍然是前一段时间,做了一个处理大批量数据的程序;主函数入参是文件的路径;接收到参数之后会去遍历其中的文件,对每一个的文件的每一行数据进行解析封装入库的操作;
年轻的我,拿几个文件进行测试之后,在HBase里能查到数据就认为可以了,然后就把程序打了个jar包,发给了老板;没想到啊,他竟然自己在服务器上跑上了;然后甩给我一张截图,告诉我修改一下程序,让它执行完成后退出程序;(我们老板技术大牛,感觉写代码的年限比我年纪都大)
其实当时在本地测试的时候,也发现了数据处理完后没有与目标虚拟机断开连接;但是当时想着数据都已经入库了,任务就完成了呀,直接手动用命令终止运行就好了,也就没管这些;
现在老板提出来了,那咱得麻溜地改呀,这我以前也没这么处理过,于是开始百度,如何退出程序;网上一堆,咱也看不懂;就从手里的几套项目代码里翻,就发现了这些:
System.exit()
可见这个方法接收一个int参数;
0:正常退出;
非0:非正常退出程序;
也可以理解为:正常退出 是指如果当前程序还有在执行的任务,则等待所有任务执行完成以后再退出;非正常退出 是只要时间到了,立刻停止程序运行,不管是否还有任务在执行。
然后这不就好办了,直接在遍历完成之后,加上 System.exit(0),让其正常退出程序不就好了,也确实是这么干的,简单测试之后就打包发给了老板,到目前我还在安稳的摸鱼,看来应该还好哈哈哈哈哈
System.exit()详解 可以参考这篇好文,我就不搬过来了哈哈哈
总结
翘班没被发现真的很爽哟(不建议模仿哈),从来没见过上午11点自己家里的样子哈哈哈,很明亮很舒适;
还是很感谢老板给我安排这一点点儿小活的,经验能积累一点儿总归没有坏处,现在好想写代码呀