Effective Java - 了解和使用类库

2022-08-14  本文已影响0人  DZQANN

第59条 了解和使用类库

  1. 通过使用标准类库,可以充分利用这些编写标准类库的专家的知识,以及在你之前的其他人的使用经验
  2. 选择的随机数生成器现在是ThreadLocalRandom
  3. 需要主要学习java.lang、java.util和java.io

思考

我们大多数只会关注比较重大的版本升级,比如Java8的LambdaStream等等,从而忽视了小的版本升级。在之前的阅读里我们才看到Java7的try-with-resource,没有人使用ThreadLocalRandomForkJoinPool也很少有人用(这个线程池没有拒绝策略,相比之下更容易发生OOM)。对于每一个版本都应该关注下新的特性。

比如现在Spring Boot、Jenkins等工具的最新版都已经最低支持Java11了,可以开始关注下9~11的新特性

第60条 如果需要精确的答案,请避免使用 float 和 double

  1. floatdouble类型尤其不适合用于货币计算,应当使用BigDecimalint或者long进行货币计算

思考

  1. BigDecimal作为一个类,使用起来肯定比floatdouble要方便很多,除了性能问题
  2. 阿里的开发手册里对于货币计算是这么说的:任何货币金额,均以最小货币单位且整型类型来进行存储。当然没必要规矩的太死,作为涉及很多货币计算的系统,经常有很多需要保留很多位数的需求,其实使用BigDecimal更合理(虽然BigDecimal的底层还是long)
上一篇 下一篇

猜你喜欢

热点阅读