zoukankan      html  css  js  c++  java
  • Java避坑宝典《Java业务开发常见错误100例》上线了

    写这个专栏的缘起

    之前我写过一篇博客:《朱晔的互联网架构实践心得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年来,我是如何在工作中学习技术和英语的?
    结束语
    结束语 | 写代码时,如何才能尽量避免踩坑?

    知识点脑图

    你将获得

    • 130 个代码坑点及其解决方案
    • 100 个场景化案例解读
    • 25 次源码深度解析
    • 使用 10 个工具定位问题根因

    专栏有下面的六个特点

    • 全面性:我们经常可以在一些公众号中看到有关Java代码踩坑的一些文章,这些内容比较零散,看过之后不会留下深刻印象,本专栏中的100个案例可谓是Java代码避坑的大全,内容完整且连续,并且有因有果,这些内容不仅仅可以帮助你写出更好的代码,同时也有助于你进一步补全你的知识网增加面试的信心。你甚至还可以把二级目录当作代码审核的Checklist,帮助别的项目一起成长和避坑。
    • 不仅仅是代码层面的坑:《Effective Java》和《码出高效:Java 开发手册》是两本非常不错的主要介绍Java代码坑的书。但前者注重Java语言、后者更注重规范,而本课程覆盖使用Java进行业务开发涉及的各种常用框架和技术,不会局限于Java或者JDK本身,且设计篇、安全篇会从更高的视角去看开发时遇到的各种误区。因此,这个课程的讲授思路和内容,和这两本书有较大区别。
    • 深入浅出:专栏中有一部分案例涉及到一些比较复杂的场景,或是一些高级Java特性,对于这些案例,我会尝试使用通俗的语言配合一些示意图帮助你理解。
    • 知所以然也知其所以然:对于代码中的坑,我不仅仅会给出一个甚至多个解决方案,并且我还会分析其根本原因,只要篇幅允许大部分案例我都会进行相关源码剖析,让你不仅仅知道怎么避坑,更知道其中的原理。
    • 授人以鱼也授人以渔:有许多坑来自实际生产案例的总结,在遇到问题的时候,我们一定是先通过经验加上使用工具来定位分析问题,然后才定位到坑,并不是一开始就知道为什么的。在专栏中,我会尽可能把分析问题的过程完整呈现给你,而不是直接告诉你为什么,这样以后遇到问题你也有解决问题的思路。专栏中,我们会涉及到jclasslib、jvisuamlvm、jconsole、MAT、阿里Arthas、wireshark等工具。
    • 贴近实际有场景:不同于一般教科书式的编程书籍,只是在讲述语法。专栏的大多数案例来自实际真实的案例,并且在专栏中我还会经常分享一些最佳实践,体现的是我多年工作经验的总结和思考。

    赶紧点击这里进入专栏吧

  • 相关阅读:
    Linux系统的关机、重启、睡眠
    Java 读写Properties配置文件
    Java识别操作系统
    Java DES 加解密("DES/CBC/PKCS5Padding")
    Java获取本机IP
    编写SHELL脚本--编写简单脚本
    配置yum软件仓库(redhat 7.0)
    简单的redis测试
    Seaslog安装和参数配置
    mac使用phpize进行安装的时候碰到的问题
  • 原文地址:https://www.cnblogs.com/lovecindywang/p/12448677.html
Copyright © 2011-2022 走看看