Java业务开发常见错误100例
朱晔
贝壳金服资深架构师
立即订阅
7096 人已学习
课程目录
已完结 43 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 业务代码真的会有这么多坑?
免费
代码篇 (20讲)
01 | 使用了并发工具类库,线程安全就高枕无忧了吗?
02 | 代码加锁:不要让“锁”事成为烦心事
03 | 线程池:业务代码最常用也最容易犯错的组件
04 | 连接池:别让连接池帮了倒忙
05 | HTTP调用:你考虑到超时、重试、并发了吗?
06 | 20%的业务代码的Spring声明式事务,可能都没处理正确
07 | 数据库索引:索引并不是万能药
08 | 判等问题:程序里如何确定你就是你?
09 | 数值计算:注意精度、舍入和溢出问题
10 | 集合类:坑满地的List列表操作
11 | 空值处理:分不清楚的null和恼人的空指针
12 | 异常处理:别让自己在出问题的时候变为瞎子
13 | 日志:日志记录真没你想象的那么简单
14 | 文件IO:实现高效正确的文件读写并非易事
15 | 序列化:一来一回你还是原来的你吗?
16 | 用好Java 8的日期时间类,少踩一些“老三样”的坑
17 | 别以为“自动挡”就不可能出现OOM
18 | 当反射、注解和泛型遇到OOP时,会有哪些坑?
19 | Spring框架:IoC和AOP是扩展的核心
20 | Spring框架:框架帮我们做了很多工作也带来了复杂度
设计篇 (6讲)
21 | 代码重复:搞定代码重复的三个绝招
22 | 接口设计:系统间对话的语言,一定要统一
23 | 缓存设计:缓存可以锦上添花也可以落井下石
24 | 业务代码写完,就意味着生产就绪了?
25 | 异步处理好用,但非常容易用错
26 | 数据存储:NoSQL与RDBMS如何取长补短、相辅相成?
安全篇 (4讲)
27 | 数据源头:任何客户端的东西都不可信任
28 | 安全兜底:涉及钱时,必须考虑防刷、限量和防重
29 | 数据和代码:数据就是数据,代码就是代码
30 | 如何正确保存和传输敏感数据?
不定期加餐 (6讲)
加餐1 | 带你吃透课程中Java 8的那些重要知识点(一)
加餐2 | 带你吃透课程中Java 8的那些重要知识点(二)
加餐3 | 定位应用问题,排错套路很重要
加餐4 | 分析定位Java问题,一定要用好这些工具(一)
加餐5 | 分析定位Java问题,一定要用好这些工具(二)
加餐6 | 这15年来,我是如何在工作中学习技术和英语的?
结束语 (3讲)
结束语 | 写代码时,如何才能尽量避免踩坑?
结课测试 | 关于Java业务开发的100个常见错误,你都明白其中缘由了吗?
结课问卷获奖用户名单
答疑篇 (3讲)
答疑篇:代码篇思考题集锦(一)
答疑篇:代码篇思考题集锦(二)
答疑篇:代码篇思考题集锦(三)
Java业务开发常见错误100例
15
15
1.0x
00:00/00:00
登录|注册

结束语 | 写代码时,如何才能尽量避免踩坑?

朱晔 2020-05-28
你好,我是朱晔。
这个课程要告一段落了,在这里我要特别感谢你一直以来的认可与陪伴。于我而言,虽然这半年多以来我几乎所有的业余时间都用了在这个课程的创作,以及回答你的问题上,很累很辛苦,但是看到你的认真学习和对课程内容的好评,看到你不仅收获了知识还燃起了钻研源码的热情,我也非常高兴,深觉一切的辛苦付出都是甜蜜的。
相信一路走来,你不仅理解了业务代码开发中常见的 130 多个坑点的解决方式,也知道了其根本原因,以及如何使用一些常用工具来分析问题。这样在以后遇到各种坑的时候,你就更加能有方法、有信心来解决问题。

如何尽量避免踩坑?

不过,学习、分析这些坑点并不是我们的最终目的,在写业务代码时如何尽量避免踩坑才是。所以,接下来,我要重点和你聊聊避免踩坑的一些方法。
所谓坑,往往就是我们意识不到的陷进。虽然这个课程覆盖了 130 多个业务开发时可能会出错的点,但我相信在整个 Java 开发领域还有成千上万个可能会踩的坑。同时,随着 Java 语言以及各种新框架、新技术的产生,我们还会不断遇到各种坑,很难有一种方式确保永远不会遇到新问题。
而我们能做的,就是尽可能少踩坑,或者减少踩坑给我们带来的影响。鉴于此,我还有 10 条建议要分享给你。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Java业务开发常见错误100例》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(33)

  • insight
    非常感谢老师的课,这是我第一门在极客时间听完的课,让我学到了很多东西,解决了很多编程中遇到的问题,流处理的教学也让我打开了新大门,爱上了这种工具,期待老师的新课程!

    作者回复: 大家的留言我就不一一回复了,如果觉得有帮助欢迎大家推荐给身边的朋友,也欢迎提出意见建议,或者是说说你想学的内容,你的困惑,说不定还有第二季,还是这个风格还是这个味道,继续一起学习和进步。有成长学习的问题也可以在这里留言,技术相关问题可以继续在相关主题的文章下留言。

    2020-05-28
    9
  • Darren
    谢谢老师,学到了很多,也收获了很多,期待能出下一个专栏

    作者回复: 课代表来了

    2020-05-28
    1
    7
  • 👽
    我都没发现,居然都半年过去了。

    这应该是我第一个,从第一篇追到结语的专栏了。

    无疑,这个专栏学习的过程,也是自己成长的一个重要过程之一。

    学习专栏,经常要去分析,去思考,去总结。然后留下自己的理解,期待老师的点评与回复。得到回复也是非常及时,应该是全专栏回复速度最快的老师没有之一!

    去期待老师的思考以及认可,是个很奇妙的过程。为了能得到老师的认可与翻牌子,也同样需要大量思考。这就促进了一个被动学习之外,主动思考的习惯。必须承认,在这个过程中受益良多。

    无法说自己有什么翻天覆地的成长,也不敢说自己学到了什么。知识是不断的积累的,形成质变是一个过程。但是,学习到的思维方式以及习惯,却是扎扎实实的。我近两年来的一句口头禅,理论不足,思想先行。有一个成熟的思维方式,我觉得是超脱单纯的知识点的。所以,也是十分幸运,能在这篇专栏中,从老师的思维方式中受益良多!

    期待老师的下一期专栏,同时也期待能让老师看见更好的自己!

    谢谢学习路上的陪伴!

    作者回复: 是的,专栏能带给大家的知识点是有限的,正确的思考思维方式对以后自己解决问题就很有用了,加油

    2020-05-29
    5
  • winner_0715
    意犹未尽,老师有别的课程计划吗
    2020-05-28
    5
  • 黄琼
    一路走来的一门课,基本上都跟上没掉队。最大的感受是,用什么组件或者特性要知其所以然。

    很多问题或者坑的发生,是不能正确评估这段代码下去后,会发生什么样的动作。

    大胆假设,小心验证,再结合实际场景去预判,去预防。
    2020-05-28
    3
  • 张先生丶
    感谢老师的辛苦付出,这个课程真的让我学到了很多,都是和平时开发息息相关的,很实用
    2020-05-28
    3
  • 待时而发
    感谢老师,这么快就结束了。通过这个我也进去了老师的博客 挖了很多老师的博客来看 挺有意思的 把老师博客看完收获也很大 哈哈
    2020-05-28
    2
  • 吴世东
    朱老师的专栏讲到的都是我们实际工作中经常遇到的问题,专栏的每篇文章都认真学习过。计划再二刷一遍,相信会有不一样的思考。
    2020-05-28
    2
  • QQ怪
    这个课程含金量真的很高,受益匪浅,受教了,感谢老师
    2020-05-28
    2
  • 子一
    感谢老师的付出,毫不避讳的说对于一个30个以上专栏的用户来说基本上属于我心中的top3,课的实战性很强,期待老师的下一门课程,提点建议老师能付考虑一下来个测试实战的专栏,测试用例是一个老大难的问题啊

    作者回复: 感谢认可

    2020-05-29
    1
  • 梦倚栏杆
    这一篇看的非常有压力:发现提到的某些坑竟然已经忘记了,我明明也下载了老师的代码,跟着跑了。

    老师这门课程真的非常给力,有一些确实是想当然的再用,也没发现问题就以为没有问题。老师能再加一篇技术设计需要考虑的点吗? 我最近遇到一个问题:明明是一个很小的需求(计算任务->发送消息->执行任务),我们迭代了六七版,里面有一些业务边界问题没考虑到,也有是纯粹技术问题:比如灰度开全量时,计算任务同步改异步;任务之间是有关联性影响的,没有考虑任务积压或者执行过长:导致一个任务积压,后续任务变大,越来越积压的恶性循环。
    感谢老师

    作者回复: 其实你说的问题不是绝对意义上的坑。对于一个高并发的分布式系统,看似运作稳定,其实哪怕有任何一个小改动,都可能影响到平衡引起重大问题。所以一般这样的系统都需要定期全链路压测,每次重大发布都需要独立模块压测,通过压测才能确定系统的整体吞吐是否可以满足要求。我们也遇到过增加一个insert的SQL这样的小需求增加了2ms的时间导致队列堵塞(服务处理能力不够)的问题,所以不能看需求是不是小,关键还是在于知道系统的容量余量。

    2020-05-29
    1
  • kyl
    非常棒的课程 期待朱老师下一个课程
    2020-05-28
    1
  • 海战
    经验丰富,讲解清晰受用
    2020-05-28
    1
  • mgs2002
    有点意犹未尽,很多坑都是日常开发中遇到的
    2020-05-28
    1
  • Jeff.Smile
    今天我还在想读源码的好:第一,熟悉常使用框架的运行核心原理。第二,欣赏高手写的代码。不过我觉得这还不够,归根结底,都是为了让自己的设计和实现能力得到提升,不然好处再多,少了这个都是自娱自乐!
    2020-05-28
    1
  • ACGCoder
    跟着老师的课程,最重要的是思维串起来了,真的是受益匪浅,非常感谢老师!
    2020-05-28
    1
  • Geek_3b1096
    依依不舍期待老师下一讲
    2020-05-28
    1
  • Demon.Lee
    多研究原理、多思考总结问题的习惯,点点滴滴补全自己的知识网络!谢谢老师!
    这么快就结束了?不过瘾啊,真的不过瘾,二刷走起来!
    2020-05-28
    1
  • 终结者999号
    感谢老师的讲解,真的是发人深省,很多地方都讲的很好
    2020-05-28
    1
  • 大胖子呀、
    不知不觉就已经结束了,还有一种意犹未尽的感觉……
    2020-05-28
    1
收起评论
33
返回
顶部