Java实操避坑指南 业务代码-整合框架-存储-缓存常见错误详解
系统讲解各类常见问题,找坑-分析-填坑-总结,助你养成良好编程习惯和解决问题的思维方法
〖课程目录〗:
- 第1章 课程介绍 4 节 | 6分钟
- 介绍制作这门课程的初衷、我对这门课程的定位以及愿景,课程中包含了哪些内容,能够帮助你什么,以及怎样去学习这门课程,才能更好的消化吸收。
-
- 视频:1-1 为什么做这门课 (05:19)
- 图文:1-2 为何我们需要每一个你
- 图文:1-3 感悟之外,你有困扰了还可以这样
- 作业:1-4 面试经历的讨论
- 第2章 Java 空指针和异常 – 常犯指数5星 10 节 | 139分钟
- 空指针问题和各种常见的异常(并发修改、类型转换)几乎是所有 Java 初学者最头疼的问题,本章将会教会你怎么避免这些问题、如何使用 Optional 规避空指针问题,以及正确的使用 try catch 捕获异常
-
- 视频:2-1 如何从根源避免空指针 (18:59)
- 视频:2-2 赋值时自动拆箱出现空指针 (17:43)
- 视频:2-3 字符串、数组、集合在使用时出现空指针怎么办? (13:27)
- 视频:2-4 使用 Optional 需要注意些什么? (18:51)
- 视频:2-5 明明 try catch 了却没有解决好异常? (20:04)
- 视频:2-6 常见异常:并发修改、类型转换、枚举查找 (13:51)
- 视频:2-7 编码中常见异常解决办法 (14:17)
- 视频:2-8 使用 try finally 资源泄露隐患 (20:53)
- 作业:2-9 高效工具的分享
- 作业:2-10 学习Java语言的难点
- 第3章 Java 计算、集合、接口 – 常犯指数4星12 节 | 179分钟
- 无论什么业务开发,都离不开计算和集合数据结构的使用,频繁的使用带来频繁的出错显然是不能接受的,本章会让你看到最常见的错误以及解决办法;初学者常常会混淆接口和抽象类,尤其是 Java8 增加了默认和静态方法以后,这种情况就更加严重了,本章会教你怎样正确的使用和理解它们…
-
- 视频:3-1 BigDecimal出错?都是精度的锅 (17:21)
- 视频:3-2 为啥老用不好日期计算? (10:40)
- 视频:3-3 SimpleDateFormat线程不安全的原因 (08:38)
- 视频:3-4 我只想迭代元素,不需要索引呀 (11:02)
- 视频:3-5 嵌套迭代,小心外面的过早耗尽! (11:30)
- 视频:3-6 如果不好好判等,集合存储就会乱套 (23:59)
- 视频:3-7 使用 lombok 注解,没有达到预期该怎么办? (21:38)
- 视频:3-8 怎么避免抽象类和接口选择失误呢? (18:21)
- 视频:3-9 接口的默认方法和静态方法改写总不合预期? (17:33)
- 视频:3-10 lambda表达式不是什么地方都能写 (18:58)
- 视频:3-11 lambda和Stream真的高效吗? (19:06)
- 作业:3-12 Redis 数据结构
- 第4章 泛型、反射、编译优化 – 常犯指数3星 10 节 | 154分钟
- 泛型和反射都属于 Java 语言的高级特性,初学者容易引发各种异常和问题,本章带你剖析、理解并学会使用这些高级特性;虽然编译器会对我们的代码做优化,但是并不一定每次都是合理的,所以,我们不能依赖编译器的优化,本章也会带你解析这个问题…
-
- 视频:4-1 父类没有实现Serializable,子类就不能实现了吗? (16:06)
- 视频:4-2 实现了 Serializable 接口却报错怎么办? (15:05)
- 视频:4-3 泛型不仅仅是规定集合中的类型那么简单 (11:31)
- 视频:4-4 你必须要知道的泛型特性 (16:05)
- 视频:4-5 使用原始类型可能会出现灾难性后果 (16:27)
- 视频:4-6 反射同样也是有缺陷的 (18:08)
- 视频:4-7 反射获取不到 Method 是为什么呢? (15:30)
- 视频:4-8 并不是所有的字符串拼接都使用 StringBuilder (16:58)
- 视频:4-9 面试时答上来深浅拷贝,实际中会用吗? (13:55)
- 视频:4-10 你的序列化实现的是深拷贝还是浅拷贝? (13:49)
- 第5章 Java 线程安全 – 常犯指数3星9 节 | 170分钟
- 关于线程安全、多线程等等诸如此类的问题,可谓是难倒了一大批 Java 初学者,之所以会这样,是因为没有思路、没有方法去攻破这一类知识点,本章将带着你领略线程安全、多线程的魅力,让你学会正确、合理的使用它们。
-
- 视频:5-1 用不好 Synchronized 关键字 (27:53)
- 视频:5-2 多线程下怎么更新变量值才好 (16:34)
- 视频:5-3 提到阻塞队列,你是不是感觉到很懵 (25:19)
- 视频:5-4 并不是什么时候都适合用 Copy-On-Write (19:17)
- 视频:5-5 使用线程池,你有没有遇到过拒绝执行异常? (20:27)
- 视频:5-6 线程池其实是用来管理线程的工具 (13:42)
- 视频:5-7 如何实现对线程状态监控? (14:02)
- 视频:5-8 ThreadLocal不是用来解决并发或共享问题的 (13:39)
- 视频:5-9 用不好 ThreadLocal,极有可能出现内存泄漏 (18:48)
- 第6章 Spring 中的坑14 节 | 192分钟
- 对于初学 Spring 的同学来说,能够用好 Spring 是一件不容易的事,关于 Bean 的名称、自动注入、容器与上下文的理解、Scope、循环依赖、事务等等问题是层出不穷,本章将会带着你读懂 Spring 的特性,理解并用好 Spring
-
- 视频:6-1 Spring配置文件要小心“一步到位” (10:47)
- 视频:6-2 你知道Spring Bean 的默认名称生成策略吗? (11:45)
- 视频:6-3 使用了 @Autowired 注解,但是仍然出现了空指针 (17:04)
- 视频:6-4 不使用自动注入你还会获取上下文吗?(上) (10:52)
- 视频:6-5 不使用自动注入你还会获取上下文吗?(下) (14:08)
- 视频:6-6 Bean 的数据不符合预期怎么办 (16:19)
- 视频:6-7 你是不是经常报“存在多个可用 Bean ”异常?(上) (18:43)
- 视频:6-8 你是不是经常报“存在多个可用 Bean ”异常?(下) (14:29)
- 视频:6-9 Spring Bean 出现了循环依赖,该怎么办? (17:55)
- 视频:6-10 Bean实例化之前我们还能做点儿什么? (15:06)
- 视频:6-11 学会利用Bean的生命周期,事半功倍 (13:38)
- 视频:6-12 你的@Transactional标对位置了吗? (17:06)
- 视频:6-13 写了@Transactional也不能回滚? (13:30)
- 作业:6-14 Spring的核心特征
- 第7章 SpringMVC 中的坑8 节 | 130分钟
- 相信你一定遇到过响应码、序列化与反序列化方面的问题,且可能还分不清拦截器和过滤器有什么区别、如何去使用,以及流在读取过程中出现的方法互斥问题,本章将带着你理解这些特性,规避常见的错误用法
-
- 视频:7-1 你是不是总看不明白别人的自定义的异常? (12:59)
- 视频:7-2 明明该抛出自定义的异常,怎么还报500? (13:49)
- 视频:7-3 时间格式不能正常转换?检查下POST请求吧 (15:57)
- 视频:7-4 时间格式局部处理真的好吗? (15:29)
- 视频:7-5 调试时进不去断点?可能是多个Fliter卡住了 (15:30)
- 视频:7-6 日志到底该放在拦截器,还是过滤器中 (16:46)
- 视频:7-7 读取了Request输入流,请求数据就不见了 (19:03)
- 视频:7-8 获取不到数据?可能是方法互斥的锅 (20:09)
- 第8章 SpringBoot 中的坑7 节 | 108分钟
- SpringBoot 依赖于配置,但是你搞清楚配置优先级的问题了吗?定时任务和异步任务写起来很简单,但是出现了问题如何去排查解决呢?默认的 Jackson工具你又了解多少呢?本章将带着你正确的使用这些特性和知识点
-
- 视频:8-1 配置总出错?是不是同时用了.properties和.yml? (10:29)
- 视频:8-2 换个位置配置就失效?搞清楚加载顺序吧 (13:00)
- 视频:8-3 定时任务不定时了,这到底是怎么了? (15:51)
- 视频:8-4 线程池出错缺看不出原因?可能是异步任务没处理好 (16:15)
- 视频:8-5 异步任务超时怎么办? (16:37)
- 视频:8-6 速度慢,有没有想过可能是ObjectMapper实例化太多次? (17:38)
- 视频:8-7 Jackson和fastJson到底有啥区别? (17:25)
- 第9章 MySQL 中的坑8 节 | 168分钟
- 初学者一定要能够理解并正确的使用数据类型、索引和事务,这是数据库最基本的特性,之后逐步进阶到慢查询优化、学会分库分表等等,本章跟着我一起学习、理解这些知识点吧
-
- 视频:9-1 表属性设置为 NULL,你可能要面临很多麻烦 (22:06)
- 视频:9-2 不再随意设置数据类型,不给未来留隐患 (26:12)
- 视频:9-3 索引加的不好,效果可能适得其反(上) (14:46)
- 视频:9-4 索引加的不好,效果可能适得其反(下) (13:44)
- 视频:9-5 MySQL 为什么莫名其妙的断开连接 (17:51)
- 视频:9-6 事务处理出错?可能是锁用的不对 (25:55)
- 视频:9-7 你写的 SQL 可能很慢,怎样做优化呢? (24:28)
- 视频:9-8 数据量逐渐增大,才考虑分库分表可行吗? (22:19)
- 第10章 Redis 中的坑9 节 | 137分钟
- 键值对类型的缓存看起来非常简单,但是,如何选择合适的数据结构并不是一件简单的事;在使用的过程中,还要考虑性能、内存优化、数据持久化、缓存的穿透和雪崩等等问题,这听起来就更加不容易了。不过,本章将会带着你逐个理解、攻破这些问题和知识点…
-
- 视频:10-1 怎么正确的选择数据类型,让维护不再是噩梦 (14:23)
- 视频:10-2 使用了事务功能,怎么没回滚呢? (16:09)
- 视频:10-3 Redis 性能上不去,可能是有 big key (14:20)
- 视频:10-4 Redis 怎么出现了内存耗尽 (15:29)
- 视频:10-5 有了过期机制以后内存还不够用怎么办? (11:11)
- 视频:10-6 如何解决频繁的命令往返造成的性能瓶颈? (23:01)
- 视频:10-7 你配置好持久化机制了吗? (21:55)
- 视频:10-8 你的代码是不是有缓存穿透隐患? (10:38)
- 视频:10-9 出现缓存雪崩该怎么办?如何避免? (08:58)
〖视频截图〗:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。