![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java常见业务开发错误案例
文章平均质量分 62
冷锋-
只要现在努力一切都来得及,最近暂停更
展开
-
Java数值计算精度、舍入和溢出问题
1. “危险”的 Double 先从简单的反直觉的四则运算看起。对几个简单的浮点数进行加减乘除运算System.out.println(0.1+0.2);System.out.println(1.0-0.8);System.out.println(4.015*100);System.out.println(123.3/100);double amount1 = 2.15;double amount2 = 1.10;if (amount1 - amount2 == 1.05) ..原创 2021-03-28 15:49:51 · 982 阅读 · 0 评论 -
线程重用导致用户信息错乱--Threadlocal
线程重用导致用户信息错乱1.业务案例 ThreadLocal 适用于变量在线程间隔离,而在方法或类间共享的场景。如果用户信息的获取比较昂贵(比如从数据库查询用户信息),那么在 ThreadLocal 中缓存数据是比较合适的做法。但为什么会出现用户信息错乱的Bug呢? // imitate saveUserInfo private static final ThreadLocal<Integer> currentUser = ThreadLocal.withInitial.原创 2021-03-24 21:15:20 · 1338 阅读 · 0 评论