同样是5年的开发经验,差距在哪里了?

我现在就职于一家中型的互联网企业,去年年底入职的薪资和待遇都很不错,但是总结起来说的好听就是全村人的希望,说的不好听就是一个人几乎干了一个项目组的事。

下面是我的一次项目救火经历(背锅经历)。

就是年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统。我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登录,对方技术人员一头雾水不知道什么原因,后台日志没有任何错误信息。

我临危受命,赶往该项目进行扑火工作,其实本来2天都可以解决的问题,让我花了5天解决。具体原因待我一一解释。

1,局部变量提升为静态变量

这个是文章开头提的问题的原因,因为登录要向单点系统验证用户的身份,所以它采用httpclient框架来发送http请求,它在这里把httpclient的变量作为一个静态变量,然后在方法里面复用该对象,然后方法里面调用完该对象又没有释放资源合理的close,这个框架默认会维护一个连接池,如果你申请一个资源使用后不释放,那么该资源将不被下一个请求使用,新的请求必须在等待队列中等待,然后当用户登录20次后,把资源池中的请求都耗尽了,新的请求拿不到资源位于等待队列中不断等待,导致服务器超时,登录失败504错误。

当时我看到这个类的静态变量时httpclient的时候,我心中就飘起不好的预感,此处是一个容易出错的地方,如果是我,对这个框架,这个类没有十足的把握,我会它把整成局部变量,这样在低并发下,就让GC去帮我回收吧。

改造后:

2,乱用try catch

这个也很恶心,它的代码突然try catch包装一下,咦,这个家伙得不错,还对某些异常进行特殊打标记录,我仔细看了一下代码,这是什么鬼啊,catch中怎么把异常信息吃了,吃了就吃了,你为啥也不打印异常信息,也不throws异常,就这样凶猛的将异常吃了,明明有问题,它不报,通过它来引发一个新的异常来雪藏真正的问题。

最后我想说,程序员何苦难为程序员,代码留一线, 日后好相见啥。你也不想自己给自己挖坑后,解决不了,然后来一句"大哥,你忙吗,我这有个小问题,帮忙看下呗(嗑瓜子)"。

同样是工作了五年的java开发人员,别人已经考虑面试架构师了,你却还在增删改查原地踏步,好不容易写个东西出来BUG看的人头皮发麻,帮你改的时间够别人做一个新的出来。

原文发布于微信公众号 - Java技术栈(javastack)

原文发表时间:2018-06-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

CTF实战21 CTF题目练习和讲解三(讲解部分)

该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关

10620
来自专栏Data Analysis & Viz

手把手教你完成一个数据科学小项目(1):数据爬取

请先阅读“中国年轻人正带领国家走向危机”,这锅背是不背? 一文,以对“手把手教你完成一个数据科学小项目”系列有个全局性的了解。

18420
来自专栏Timhbw博客

小白搭建博客教程-购买域名(1)

2016-06-0923:38:55 发表评论 438℃热度 上一回说道:小白搭建博客教程之流程,这次趁着端午节写完它,也算是一个了结。 ? 教程有4篇: 购...

1.2K80
来自专栏施炯的IoT开发专栏

Windows 10 IoT Serials 2 - Windows 10 IoT RTM 升级教程

    7月29日,微软推出了Windows 10 for PC的正式版,其版本号是Build 10240。近两天官方说已经有4700万的下载安装量,同时这个数...

28070
来自专栏FreeBuf

加油站也会被黑?来看看这个攻击案例

这篇文章涉及的问题主要与加油管理设备公司Veeder Root相关的油品液位仪TLS-300/350 UST和TLS-350R相关,原因在于可以通过其错误配置的...

26360
来自专栏编程一生

架构师之路--搜索业务和技术介绍及容错机制

13920
来自专栏量化投资与机器学习

战斗民族开源神器ClickHouse:一款适合于构建量化回测研究系统的高性能列式数据库(一)

编辑部原创 编译:wally21st、 西西 未经允许,不得转载 对于一些私募、投资机构和个人来说,量化投资研究、回测离不开数据的支持。当数据量达到一定数量,如...

73780
来自专栏.NET技术

.net core实践系列之短信服务-架构优化

通过前面的几篇文章,讲解了一个短信服务的架构设计与实现。然而初始方案并非100%完美的,我们仍可以对该架构做一些优化与调整。

10620
来自专栏魏艾斯博客www.vpsss.net

iq block country 插件屏蔽中国 IP 防止 wordpress 外贸网站被抄袭

1.1K50
来自专栏Debian社区

谷歌Fuchsia OS开始基于Intel笔记本的测试

据Android Police报道,谷歌的全新操作系统Fuchsia正在Pixelbook平台上进行测试。测试的项目是打开开发者模式和实现USB启动。Pixel...

13030

扫码关注云+社区

领取腾讯云代金券