0、开篇词:业务代码真的会有这么多坑你好,我是朱晔,贝壳金服的资深架构师。 我先和你说说我这15年的工作经历吧,以加深彼此的了解。前7年,我专注于.NET领域,负责业务项目的同时,也做了很多社区工作。在CSDN做版主期间,我因为回答了大量有关.NET的问题,并把很多问题的答案总结成了博...2026-01-19Java业务开发常见错误100例
1、使用了并发工具类库,线程安全就高枕无忧了吗你好,我是朱晔。作为课程的第一讲,我今天要和你聊聊使用并发工具类库相关的话题。 在代码审核讨论的时候,我们有时会听到有关线程安全和并发工具的一些片面的观点和结论,比如“把HashMap改为ConcurrentHashMap,就可以解决并发问题了呀”“...2026-01-19Java业务开发常见错误100例
2、代码加锁:不要让“锁”事成为烦心事你好,我是朱晔。 在上一讲中,我与你介绍了使用并发容器等工具解决线程安全的误区。今天,我们来看看解决线程安全问题的另一种重要手段——锁,在使用上比较容易犯哪些错。 我先和你分享一个有趣的案例吧。有一天,一位同学在群里说“见鬼了,疑似遇到了一个JVM的...2026-01-19Java业务开发常见错误100例
3、线程池:业务代码最常用也最容易犯错的组件你好,我是朱晔。今天,我来讲讲使用线程池需要注意的一些问题。 在程序中,我们会用各种池化技术来缓存创建昂贵的对象,比如线程池、连接池、内存池。一般是预先创建一些对象放入池中,使用的时候直接取出使用,用完归还以便复用,还会通过一定的策略调整池中缓存对象...2026-01-19Java业务开发常见错误100例
4、连接池:别让连接池帮了倒忙你好,我是朱晔。今天,我们来聊聊使用连接池需要注意的问题。 在上一讲,我们学习了使用线程池需要注意的问题。今天,我再与你说说另一种很重要的池化技术,即连接池。 我先和你说说连接池的结构。连接池一般对外提供获得连接、归还连接的接口给客户端使用,并暴露最...2026-01-19Java业务开发常见错误100例
5、HTTP调用:你考虑到超时、重试、并发了吗你好,我是朱晔。今天,我们一起聊聊进行HTTP调用需要注意的超时、重试、并发等问题。 与执行本地方法不同,进行HTTP调用本质上是通过HTTP协议进行一次网络请求。网络请求必然有超时的可能性,因此我们必须考虑到这三点: 首先,框架设置的默认超时是否...2026-01-19Java业务开发常见错误100例