为了账号安全,请及时绑定邮箱和手机立即绑定
编程百科手册

扫一扫 手机阅读

课程目录已更新34节
全部 试读

课程亮点

  • 深入源码,理解《Effective Java》核心知识点
  • 结合实际经验,灵活应用书中的解决方案
  • 掌握代码调试、反编译、反汇编等技术手段
  • 结合 JDK 源码及 Spring 、Netty 等开源项目进行学习
  • 培养 Java 学习和进阶的经典思维方式

课程介绍

《Effective Java》是 Java 领域的经典著作,其影响力不亚于《Java 编程思想》,它几乎是每个 Java 从业人员的必读图书,值得反复阅读思考并付诸实践。书中介绍了在 Java 编程中极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对 Java 平台设计专家所使用技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮的高效的代码。

但是很多同学在学习过程中存在学习不得法、没有深入研究问题的习惯,普遍存在缺乏思考、依赖性强等问题。很多读者没有找到靠谱的方法来学习研究《Effective Java》涉及的知识点;没有真正理解《Effective Java》给出的建议条目背后的根本原因;没有能够将《Effective Java》给出的建议进行泛化;没有把《Effective Java》传达的思想精髓灵活运用。

对于一个 Java 工程师而言,在新技术不断涌现和迭代的情况下,学习如何学习的能力以及如何快速学习的能力是成长的关键。学习的方法、思维和能力给一个人成长的助推是巨大的。本专栏绝不只是对《Effective Java》规则的简单解读,而是选取《Effective Java》的核心知识点作为素材,尽可能从问题的本质出发,紧扣计算机专业基础,并利用 JDK 源码以及 Spring 、Netty、Commons-lang、Jupiter 等开源项目,通过源码和代码调试、反编译、反汇编等手段使理解更加深刻,再结合实际开发经验对这些重要知识点进行深度剖析。

相信大家通过本专栏的学习,不仅对《Effective Java》所讲述的知识点有更深入的理解,而且能够掌握学习进阶的经典方法,提高学习的能力,并将其灵活运用到未来的学习和工作中。

讲师介绍:

讲师明明如月,现任知名电商高级 Java 工程师,CSDN 博客专家,前网易 Java 高级开发工程师,博客阅读量过百万,有数篇博客被知名技术类公众号转载。慕课专栏【解锁大厂思维:剖析《阿里巴巴 Java 开发手册》】的作者。喜欢写技术博客,喜欢总结、分享学习方法。

课程模块

本专栏章节划分和《Effective Java》基本保持一致,专栏共 32 节,分为 13 大模块:

一、 准备篇

主要向大家介绍为什么要学习本专栏。学习本专栏需要提前掌握的知识点比如如何更好地学习 Java 源码,Java 反编译和反汇编优势、工具和方法。最后给出一个案例,带领大家动手去实践本节所讲到的源码和反汇编方法。

二、对象的创建和销毁

本章讲述构建器模式和单例模式的精髓,讲解内存溢出和内存泄漏的本质,并带领大家解密 try-with-resources 。

三、对所有对象通用的方法

本章将理论和实际相结合,利用 OpenJDK 提供的 JOL 来学习对象的布局。本章还介绍了书中 Object 相关的规则,带领大家思考如何脱离图书也可以自主总结出这些规则,如何举一反三。

四、类和接口

本章结合软件工程的核心理论,介绍书中关于类的建议背后的本质,揭露接口目的和本质。

五、泛型

本章结合一个典型的示例,描述泛型的目的。为了帮助大家体会泛型的好处,给出了泛型的几种应用案例。

六、枚举和注解

本章综合运用源码、反汇编等手段全面分析枚举类型,还讲述了注解的含义和优势,分析了注解的本质,并给出了自定义注解的案例。

七、Lambda 和 Stream

本章结合读源码、反汇编等手段,深入剖析 Lambda 表达式的本质。本章还介绍了 Stream 的常见方法和使用误区。

八、方法

本章带领大家从根本上理解方法的重载和可变参数相关知识,通过方法参数和返回值的建议透视其背后的原理,给出建议的解析,并进行了必要的补充。

九、通用编程

带领大家通过反汇编来手撕 Java 语法糖。本章还深度解读了 Java 字符串,包括字符串相关的概念,不可变性和不可修改对象的概念,并分析了字符串拼接的性能问题等。

十、异常

本章主要对异常进行深度解读,包括异常的概念、分类,异常信息的打印,异常运行时处理流程,以及 Java 是如何保证 finally 代码块的执行的。结合异常和多线程相关知识点分析一个非常经典的面试题:“一个线程 OOM 后还能继续运行吗?”。

十一、并发

本章解密线程池模式的本质,讲述了线程安全问题的原因,并结合一道线程安全的面试题帮助大家理解并发问题。

十二、序列化

本章讲述序列化的概念,常见的序列化方式和优劣,并对性能进行了对比。还讲述和深拷贝和序列化的关系等知识。

十三、总结

重点讲述《Effective Java》给大家学习进阶带来的核心启示并对整个专栏进行总结。

课程目录已更新34节
精选留言
  • Johnson85

    挖掘事物本质,理解起来非常自然。 学习了

    讲师回答 / 明明如月

    是的,其实掌握了读源码、反编译和反汇编并且能够融会贯通,学习Java 会容易很多,有自己的章法。

  • 暖暖123

    一时间接收的学习工具太多,需要慢慢消化。作为小白,感觉将来读源码之路将会少走很多弯路。学长写的真好

    讲师回答 / 明明如月

    这些工具方法需要自己实际去实践才能有效果,希望对你有帮助,加油! 另外欢迎你推荐给身边的朋友一起学习。

  • 所相虚妄

    谢谢老师,这里这个用法的确在非常多的jdk源码中都有出现过,但是对于原理一直是一知半解,甚至在爆栈我还问过类似的问题,今天终于得到了全面的回答了,谢谢了

    讲师回答 / 明明如月

    嗯,善于发现问题就容易学好,剩下就是需要扎实的专业基础,其次是高效的方法,希望本专栏对你有帮助,加油。

更多精选留言

适合人群
  • 有 1-3 年开发经验的 Java 开发工程师
  • 初入职场对深层原理有些困惑,想快速进阶的 Java 程序员
  • 想从事 Java 岗位、有技术追求的在校生(需要具备计算机基础知识)
购买须知
  1. 本专栏为图文形式内容服务,共计 35 小节,上线时间为 2020 年 6 月 2 日,预计 2020 年 7 月 20 日更新完成;
  2. 本专栏更新时间为周一至周五每日更新 1 篇(法定节假日顺延),形式为图文;
  3. 订阅成功后,用户即可通过慕课网 PC 端、App 端、WAP 端享有永久阅读的权限;
  4. 慕课专栏为虚拟内容服务,订阅成功后概不退款;
  5. 在专栏阅读过程中,如有任何问题,请邮件联系 kf@imooc.com;
  6. 慕课专栏版权归本平台所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布 / 发表,违者将依法追究责任。
造烛求明,读书求理
扫码关注慕课网服务号
干货分享
定期活动
课程优惠
专栏福利
官方优惠福利活动一手掌握,关注慕课网(ID:imooc-com),和30万+程序员一起成长!

本专栏知识点梳理

1.剖析顶尖团队方法,解决实际开发问题,Java 工程师人人必读的编码规范

2.13个主题全面梳理Java技术栈,开启Java工程师的高薪之路

3.你的第一本图文并茂 Java 并发编程学习指南,先源码后并发,双管齐下学Java

下载慕课网APP

更好的体验,让阅读随处可得

扫描二维码,下载慕课网APP
意见反馈 帮助中心 APP下载
官方微信