友情项目,顾名思义就不是我做的,只是处于友情帮别人改改别人的代码帮别人找找bug。。。之所以要强调这一点是因为里面的低级问题太多,实在是不好意思承认自己和这个项目有关系。。
整个过程还是挺辛苦的,毕竟代码不是自己写的,而且时间比较紧,所以加了几天班,提前体会到了程序员的苦逼。。
好了,废话少说,还是先说说这个项目遇到的几个比较严重并且花了比较多的时间才解决的问题。。
这个项目比较简单,因此当时可能为了锻炼自己对jdbc的熟悉程度,没有用任何框架,jdbcutils负责所有的数据库访问。
被要求返工的首要原因是在访问量加大时获取连接会得到一个空指针错误。其实事后想想当初初学java web时貌似老师是说过纯jdbc访问mysql连接时在大并发的情况下无法获取连接会产生空指针 错误。
因此果断翻了翻以前教程里的源码配了个c3p0上去。空指针是肯定不会报了,不过在学校喊学生到机房进行模拟测试时出现了死锁现象。
当时还都以为是大并发,虽然一两百个学生对于我们这种从来没有考虑过并发问题的非正规军来说也确实是比较大的并发了。。-_-||。
最后在无数次debug之后才发现是连接没有关闭,虽然开始时有人发现了这个问题并且修复了,不过只是修复了查询的,更新的方法还有一些其他的地方也存在这样的问题。。这说明了写代码良好的习惯很重要。