标签:com 补全 空值 技术 复杂 操作 序列化 思考 log
之前我写过一篇博客:《朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑》,引起的关注还是挺多的。后来和极客时间的编辑一拍即合决定以这个为题写一个专栏。其实所谓坑就是容易忽略但是不容易发现的问题,大部分生产事故都是发布、运维相关的配置引起,真正代码中的问题上线后产生问题的坑并不多,虽然我接触过很多生产事故,但是能提炼出写代码的坑的点不多。所以在内容整理方面我花了很多时间,最终我总结出100+的点,形成了这样一个30+文章的专栏。
专栏名字叫《Java业务开发常见错误100例》,点击这里可以进入专栏。不仅仅涉及代码,还涉及设计方面的思考以及安全方面的误区。在这个课程中,每节课都是Java业务开发的一个核心关注点,每个知识点对应2~5个案例,并按照“知识介绍->还原业务场景->错误实现->正确实现->原理分析->小总结”来讲解每个案例,不仅帮你避开这个知识点的常见坑,更让你能知道产生坑的根本原因,提升自己的技术能力。这些内容不仅可以帮助你写出更好的代码,同时也有助于你进一步补全你的知识网增加面试的信心。你甚至可以把这些案例当作代码审核的Checklist,帮助别的项目一起避坑,帮助团队一起成长。
开篇词
开篇词 | 业务代码真的会有这么多坑?
代码篇
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框架:帮我们做了很多工作也带来了复杂度
设计篇
21 | 代码重复:搞定代码重复的三个绝招
22 | 接口设计:系统间对话的语言,一定要统一
23 | 缓存设计:缓存可以锦上添花也可以落井下石
24 | 业务代码写完,就意味着生产就绪了?
25 | 异步处理好用,但非常容易用错
26 | 数据存储:NoSQL与RDBMS如何取长补短、相辅相成?
安全篇
27 | 数据源头:任何客户端的东西都不可信任
28 | 安全兜底:涉及钱时,必须考虑防刷、限量和防重
29 | 数据和代码:数据就是数据,代码就是代码
30 | 敏感数据:如何正确保存和传输敏感数据?
不定期加餐
加餐1:带你吃透课程中Java 8的那些重要知识点
加餐2:定位应用问题,排错套路很重要
加餐3:分析定位Java问题,一定要用好这些工具(一)
加餐4:分析定位Java问题,一定要用好这些工具(二)
加餐5:这15年来,我是如何在工作中学习技术和英语的?
结束语
结束语 | 写代码时,如何才能尽量避免踩坑?
赶紧点击这里进入专栏吧
标签:com 补全 空值 技术 复杂 操作 序列化 思考 log
原文地址:https://www.cnblogs.com/lovecindywang/p/12448677.html