# Java业务开发常见错误100例 ## 你将获得 * 130 个代码坑点及其解决方案 * 100 个场景化案例解读 * 25 次源码深度解析 * 使用 10 个工具定位问题根因 ## 讲师介绍 朱晔,贝壳金服资深架构师,获得三次微软MVP,曾任职于育碧软件、英孚教育、空中网、饿了么等公司,两次创业公司CTO经历。工作十五年来,他一直没有脱离编码工作,参与过在线教育、电商、游戏、O2O、互金、物流等领域400+应用的架构设计和开发工作,熟悉微服务架构,擅长高并发、高可用架构。 工作中,朱晔经常作为救火队员在一线分析和复盘问题,见过摸过大量生产事件和事故,积累了丰富的问题排查经验,同时对于如何设计健壮和安全的业务系统也有较深刻的理解。 ## 课程介绍 业务开发中的细节问题非常多,每个开发者都或多或少踩过坑。 有些细节问题,可能只会在某些特定情况下(比如高并发、多线程)出现,一经出现便会成为重大的生产事故;有些细节问题,可能暂时只会影响程序运行的性能,在量变到质变的瞬间爆发;还有些细节问题,比如所谓的服务器不稳定问题,或许运维同学改改配置、时不时重启下系统也能解决,但没从代码层面解决,就意味着程序里始终有一颗定时炸弹。 其实,**我们不是不重视这些细节,更不是不想从根儿上解决问题,只是不知道问题到底出在了哪里。而要做好这些细节、避开这些坑,第一步就得知道它们是什么、在哪里、为什么会出现。** 因此,我们邀请了朱晔老师,开设了“Java业务开发常见错误100例”这个课程。他从200多个真实的生产事件和事故中,整理提炼了100个Demo(以Java代码演示),涉及130多个坑点、50多条最佳实践,去讲述业务开发中的常见错误。 这些内容不仅可以帮助你写出更好的代码,同时也有助于你进一步补全自己的知识网增加面试的信心。你甚至可以把这些案例当作代码审核的Checklist,帮助别的项目一起避坑,帮助团队一起成长。 在这个课程中,每节课都是Java业务开发的一个核心关注点,每个知识点对应2~5个案例,并按照“**知识介绍->还原业务场景->错误实现->正确实现->原理分析->小总结**”来讲解每个案例,不仅帮你避开这个知识点的常见坑,更让你能知道产生坑的根本原因,提升自己的技术能力。 在此,也特别感谢王少泽老师,承担了整个课程的技术审核和录音工作。 # 常见问题 **问:非Java开发者是否可以从本课程受益?** 答:编程语言是相通的,Java语言的许多坑点,其他语言也有。本课程不会专注于讲解语言本身的坑点,且涉及的案例贴近业务开发的各方各面,更侧重开发方面的误区和最佳实践。因此,即便你的开发语言不是Java,学习这个课程也能有所收获。 **问:《Effective Java》《码出高效:Java 开发手册》和本课程的区别是什么?** 答:《Effective Java》注重Java语言、《码出高效:Java 开发手册》注重规范,而本课程覆盖使用Java进行业务开发涉及的各种常用框架和技术,不会局限于Java或者JDK本身,且设计篇、安全篇会从更高的视角去看开发时遇到的各种误区。因此,这个课程的讲授思路和内容,和这两本书有较大区别。 # 课程模块设计 本课程包括三大模块,分别是代码篇、设计篇、安全篇。 * 代码篇:包含开发层面近20个方面的坑,涉及多线程、数据访问、池技术、日志异常、日期时间、IO和序列化、Spring框架等。这个模块,不仅会分析一些代码的错误写法,还会涉及对基础知识理解不透导致的踩坑。 * 设计篇:讨论项目技术设计时的一些坑点或误区,涉及接口、缓存、异步、生产就绪、代码重复、数据存储等六个方面的设计。通过场景化的案例、针对可能实际遇到的问题,给出设计思路和最佳实践。 * 安全篇:介绍后端开发最容易忽略、却又是从开发层面来防控效果最好的四个安全问题。包括客户端数据可信问题、数据和代码的隔离问题、资源防刷兜底问题,以及敏感数据的处理。 ## 课程目录 ![](https://static001.geekbang.org/resource/image/3a/a7/3a5e823b1f6d8454dff1c31e652bbca7.jpeg) ## 适合人群 1. 适宜人群:1~5年经验的Java开发者,尤其是偏业务型项目的开发人员。 2. 不适宜人群:零编程基础的开发者。 ## 特别放送 #### 免费领取福利 [![](https://static001.geekbang.org/resource/image/69/dc/69c52d08278a2164dc5b061ba342a5dc.jpg?wh=960x301)](https://time.geekbang.org/article/427012) #### 限时活动推荐 [![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001) ## 订阅须知 1. 订阅成功后,推荐通过“极客时间”App端、Web端学习。 2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。 3. 订阅后分享海报,每邀一位好友订阅有现金返现。 4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。 5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。 6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1),订阅课程享受原价5折优惠。 7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。