10、集合类:坑满地的List列表操作

你好,我是朱晔。今天,我来和你说说List列表操作有哪些坑。 Pascal之父尼克劳斯 · 维尔特(Niklaus Wirth),曾提出一个著名公式“程序=数据结构+算法”。由此可见,数据结构的重要性。常见的数据结构包括List、Set、M...

Java业务开发常见错误100例

9、数值计算:注意精度、舍入和溢出问题

你好,我是朱晔。今天,我要和你说说数值计算的精度、舍入和溢出问题。 之所以要单独分享数值计算,是因为很多时候我们习惯的或者说认为理所当然的计算,在计算器或计算机看来并不是那么回事儿。就比如前段时间爆出的一条新闻,说是手机计算器把10%+10%算成了0...

Java业务开发常见错误100例

8、判等问题:程序里如何确定你就是你

你好,我是朱晔。今天,我来和你聊聊程序里的判等问题。 你可能会说,判等不就是一行代码的事情吗,有什么好说的。但,这一行代码如果处理不当,不仅会出现Bug,还可能会引起内存泄露等问题。涉及判等的Bug,即使是使用==这种错误的判等方...

Java业务开发常见错误100例

7、数据库索引:索引并不是万能药

你好,我是朱晔。今天,我要和你分享的主题是,数据库的索引并不是万能药。 几乎所有的业务项目都会涉及数据存储,虽然当前各种NoSQL和文件系统大行其道,但MySQL等关系型数据库因为满足ACID、可靠性高、对开发友好等特点,仍然最常被用于存储重要数据。...

Java业务开发常见错误100例

6、20%的业务代码的Spring声明式事务,可能都没处理正确

你好,我是朱晔。今天,我来和你聊聊业务代码中与数据库事务相关的坑。 Spring针对Java Transaction API (JTA)、JDBC、Hibernate和Java Persistence API (JPA)等事务API,实现了一致的编程...

Java业务开发常见错误100例

5、HTTP调用:你考虑到超时、重试、并发了吗

你好,我是朱晔。今天,我们一起聊聊进行HTTP调用需要注意的超时、重试、并发等问题。 与执行本地方法不同,进行HTTP调用本质上是通过HTTP协议进行一次网络请求。网络请求必然有超时的可能性,因此我们必须考虑到这三点: 首先,框架设置的默认超时是否...

Java业务开发常见错误100例