阿里云
云栖社区2017年度颁奖盛典
发表主题 回复主题
  • 461阅读
  • 1回复

[交流乐园]Java开发者们,那些年我们一起踩过的坑

级别: 小白
发帖
41
云币
102
]6Awd A  
1KBGML-K3  
阿里手册《阿里巴巴Java开发手册(正式版)》发布! 当然好的规范在一定程度上可以避免一些坑。 v_WQ<G?  
然而在实际开发中,由于开发者水平不同,写出的代码质量也有所迥异。 MxKTKBxQ  
我们每天都在写Java程序,可能我们更多的是为了结果,但是在写代码的过程中还是有许多需要注意的地方。 CA5`uh  
   N#t`ZC&m'  
一些初级开发者甚至老手为了方便可能会在Spring中的Service中添加成员变量,由于Spring的bean默认是单例模式,对于单例模式来说,不仅方便多线程调用该实例,更主要是减小了频繁创建带来的系统消耗。然而在多线程下并发会导致数据混乱。 L/] (pXEp  
   af9KtX+  
最容易被忽视的Integer数据类型比较,使用==比较 而得到与期望相反的结果。
Integer a = 128;Integer b = 128;System.out.println(a==b); > TBXT+  
HashMap size陷阱,本意是希望给HashMap设置初始值, 避免扩容(resize)的开销,但没有考虑当添加的元素数量达到HashMap容量的75%时将出现resize。Map map = new HashMap(collection.size());for (Object o : collection) {map.put(o.key, o.value);} [;sTl~gC  
   cY kb3(  
不使用finally块释放资源,导致一直占用内存。
yO!M$aOn/  
#Nco|v  
多年的开发后,多多少少大家都会有经历过各式各样的暗坑,只有这样才会促使开发者成长。大家又有踩过那些"暗"坑?筒子们都来聊聊,彼此长长经验。 : T7(sf*!*  
.Y^cs+-o  
=+ >>l0=_v  
今天我们聊一聊Java开发者们,那些年我们一起踩过的坑  [)~1Lu  
以下是网友热议内容: 18Z1F  
云栖网友观点:抠脚大叔 3JBXGT0gJ  
我也来说几个吧,刚出来工作的时候,最常见的就是str.equals("")这种容易空指针的语句了,虽然一直提醒自己别用,但是还是会不经意间用上。 5r~jo7  
还有就是使用float,double进行计算的时候,直接使用+,-这些运算符会出现精度问题,需要使用BigDecimal类运算。 x|G :;{"+6  
在对list进行遍历的时候,如果使用下标遍历,需要在循环中移除元素的时候,不要忘记对下标减1。 ,uPcQ  
还有新手容易犯的问题,部署项目的时候,项目上传的文件不要放在部署目录下,因为这样下次需要升级进行部署的时候,上传的文件就丢了,最好使用nginx进行静态转发,或者tomcat中配置一个虚拟路径。 QHf&Z*Xtl  
JAVA引用类型作为参数传递时,如果对形参进行new操作,实参是不会改变的。 BK6 X)1R  
在jsp中使用注释,<!-- -->注释中的Java代码还是会编译的喔~ y1Z>{SDiq  
暂时就先想到了这么多,有点杂,想到其他的再补充吧 #RaqNu  
[ 此帖被骑猪逛街666在2017-04-21 11:28重新编辑 ]
级别: 论坛版主
发帖
3386
云币
8692

只看该作者 沙发  发表于: 04-23
应该是 Java开发者们,那些年我们一起啊翻 墙上过的网吧
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个