总结下常见java工程师不懂的几个很重要的问题

通常我在做项目代码复审的时候,经常看到一些代码写法问题,通常在开发测试中测不出问题来的,现特写篇文章总结一下。

1,数据类初始化包装类的大量使用//存储在堆上的定义Integer i = 817598;如果这样写的话:int i = 817598;// 存储在栈上如果这样写会更糟//在堆上生成了三个对象 Integer[] i = { 1337, 424242 };如果这样写的话:// 仅在堆上生成了一个对象int[] i = { 1337, 424242 };在堆上建很多对象这样做的坏处是给GC带来了很大的压力。GC将会为清除包装类生成的对象而忙得不可开交。所以一个有效的优化方法是使用基本数据类型、定长数组,并用一系列分割变量来标识对象在数组中所处的位置

2,数据类判断的时候用包装类判断//Integer i=130;Integer j=130;看似i=j,其中在代码执行过程中i!=j的,如果要相等仅在i<127下二个包装数据类才会相等。

3,数据类为百万级的数据集合时,判断集合是否有数据一般有size方法的值是否大于0通常会卡很久才出来用list.empty()方法就不会卡

4,数据类型计算过程中使用遍历时,通常会出现异常,处理运行时异常在循环体内和循环体外是二种完全不同的效果

5,数据使用过程中使用迭代器,for(String s:str){}这种写法会在堆上创建无数个对象

6,数据在使用过程中使用强制转换,这也是高开销的搞法不建议,而且在高并发内存释放不及时数据会紊乱破坏数据的稳定性

7,数据处理的代码在分布式开发中不跨JVM

8,数据类型定义不合理,其实在写代码过程中不写注释也完全是可以的但命名一定要用业务名取变量及方法。

先写到这儿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值