我的日常

登录/注册
您现在的位置:论坛 资料库 JAVA开发 > Java开发者们,那些年我们一起踩过的坑
总共48087条微博

动态微博

查看: 1492|回复: 0

Java开发者们,那些年我们一起踩过的坑

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2017-02-22 10:51:43 |只看该作者 |倒序浏览


    阿里大法 《阿里巴巴java开发手册(正式版)》发布! 当然好的规范在一定程度上可以避免一些坑。


    然而在实际开发中,由于开发者水平不同,写出的代码质量也有所迥异。


    我们每天都在写Java程序,可能我们更多的是为了结果,但是在写代码的过程中还是有许多需要注意的地方。

    一些初级开发者甚至老手为了方便可能会在spring中的Service中添加成员变量,由于Spring的bean默认是单例模式,对于单例模式来说,不仅方便多线程调用该实例,更主要是减小了频繁创建带来的系统消耗。然而在多线程下并发会导致数据混乱。

    最容易被忽视的Integer数据类型比较,使用==比较 而得到与期望相反的结果。


    Integer a = 128;
    Integer b = 128;
    System.out.println(a==b);



    HashMap size陷阱,本意是希望给HashMap设置初始值, 避免扩容(resize)的开销,但没有考虑当添加的元素数量达到HashMap容量的75%时将出现resize。


    Map map = new HashMap(collection.size());  
    for (Object o : collection) {  
          map.put(o.key, o.value);  
    }

    不使用finally块释放资源,导致一直占用内存。


    多年的开发后,多多少少大家都会有经历过各式各样的暗坑,只有这样才会促使开发者成长。大家又有踩过那些"暗"坑呢?筒子们都来聊聊,彼此长长经验。



    https://yq.aliyun.com/roundtable/48549



    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表