Effective Java 之通用程序设计

7 篇文章 0 订阅

本文是《Effective Java》一书的整理笔记


1 优先使用 for-each 代替for循环

  • for-each性能并不比for差,有时稍有性能优势
  • for-each可以减少出Bug的几率
  • for-each比for简洁

2 尽量使用标准库

  • 减少重复造轮的时间
  • 标准库的代码经过严格测试,在性能、稳定性方面有着非常大的优势

3 如果需要精确的答案,避免使用float和double

  • floatdouble没有提供完全精确的结果
  • 使用intlong或者BigDecimal来计算精确结果,尤其是在货币计算中
  • 如果数值范围没有超过9位十进制,可以使用int;小于18位则用long;超过18位则必须使用BigDecimal

4 最小化局部变量作用域

  • 在第一次使用它的地方声明局部变量
  • 使用for循环将循环变量的作用域限制在循环体内
  • 拆分方法,使方法小而集中
  • 最小化局部变量1、有助于读者理解代码;2、减少Bug发生

5 基本类型优先于装箱基本类型

  • 基本类型的性能优于装箱基本类型
  • 装箱基本类型允许出现null值,因此在进行运算符操作时有可能抛出异常。例如Integer i; i < 0 ;
  • 装箱基本类型的比较结果有时与基本类型不一致。

6 避免使用字符串的情况

  • 字符串不适合代替其他类型的值,例如当一串数据从文本、网络等传入程序中后,应当将其转化为适合的类型。
  • 字符串不适合代替枚举类型
  • 字符串不适合代替聚集类型,例如用一个字符串表示多个对象的ID,并用#隔开,最好使用一个简单的类代替,通常是私有的静态类。

7 当心字符串连接符的性能

  • 在大规模的场景中,应该使用StringBuilder代替字符串连接符

8 优先使用接口作为引用对象

  • 使程序更加灵活,当需要做出更改时

9 慎用本地方法

  • JVM越来越快,使用本地方法来提高性能不值得推荐
  • 本地语言是不安全的
  • 本地语言难以调试

10 谨慎优化

  • 不要因为性能而牺牲合理的结构
  • 不要费力去编写快速的程序,应当编写好的程序

欢迎大家访问我的博客,转载请注明出处
http://blog.csdn.net/abyss521

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值