本课程主要讲授Java核心技术高阶部分,以Java深层次原理和高级特性为主,并结合主流框架展示它们的具体应用。本课程一共包含15章,每章3-7个视频不等。课程主要内容包括:Java语法糖、泛型、反射、代理、嵌套类、Lambda表达式、Stream流、Java字节码、类加载器等。本课程注重Java深层次的原理和高级特性的讲解,结合主流框架的源码,介绍高级原理和特性在框架中的应用。学生学习本课程后,可以了解Java的深层次原理,能够有能力阅读主流框架源码,更好地理解和使用主流框架,并编写属于自己的框架软件。
熟悉Java语法,希望进一步了解Java高级特性的学习者
导学章
导学
第一章 Java语法糖
第一节 语法糖和环境设置
第二节 语法糖(1) for-each和枚举
第三节 语法糖(2) 不定项参数和静态导入
第四节 语法糖(3) 自动拆箱和装箱、多异常并列、数值类型赋值优化
第五节 语法糖(4) 接口方法
第六节 语法糖(5) try-with-resource和Resource Bundle文件加载
第七节 语法糖(6) var类型和switch
第二章 Java泛型
第一节 泛型入门
第二节 自定义泛型设计
第三节 泛型类型限定
第四节 泛型实现的本质和约束
第五节 Java类型协变和逆变
第二章 Java泛型 测验
第三章 Java反射
第一节 反射入门
第二节 反射关键类
第三节 反射应用
第四节 编译器API
第三章 Java反射 作业
第四章 Java代理
第一节 代理模式和静态代理
第二节 动态代理
第三节 AOP编程
第四章 Java代理 作业
第五章 Java注解
第三节 自定义注解
第四节 Java预定义的元注解
第五节 注解的解析
第六节 RUNTIME注解的实现本质
第七节 注解的应用
第一节 注解入门
第二节 Java预定义的普通注解
第五章 Java注解 单元作业
第六章 嵌套类
第一节 嵌套类入门
第二节 匿名内部类和局部内部类
第三节 普通内部类和静态嵌套类
第四节 嵌套类对比
第五节 嵌套类应用
第六章 嵌套类 单元测验
第七章 Lambda表达式
第一节 Lambda表达式入门
第二节 函数式接口
第三节 方法引用
第四节 Lambda表达式应用
第七章 Lambda表达式 单元作业
第八章 Java Stream 流
第一节 流的概述
第二节 流的创建
第三节 流的转换
第四节 Optional类型
第五节 流的计算结果
第六节 流的应用
第八章 Java Stream流 单元测验
第九章 Java模块化
第一节 Java模块化概述
第二节 模块创建和运行
第三节 模块信息文件
第四节 服务
第五节 Java模块化应用
第九章 Java模块化 单元测验
第十章 Java字节码
第一节 Java字节码概述
第二节 Java字节码文件构成
第三节 Java字节码指令分类
第四节 Java字节码操作
第五节 Java字节码增强
第六节 Java字节码混淆
第七节 Java字节码总结和展望
第十章 Java字节码 单元作业
第十一章 Java类加载器
第一节 Java 类加载机制
第二节 Java 类双亲委托加载扩展
第三节 自定义类加载路径
第四节 自定义类加载器
第五节 Java类加载器总结和展望
第十一章 Java类加载器 作业
第十二章 JVM内存管理
第一节 JVM概述
第二节 JVM内存分类
第三节 JVM内存参数
第四节 Java对象引用
第五节 垃圾收集算法
第六节 JVM堆内存参数设置和GC跟踪
第七节 JVM内存管理总结和展望
第十三章 Java运行管理
第一节 Java运行管理概述
第二节 OS层管理
第三节 JDK管理工具
第四节 可视化管理工具
第五节 堆文件分析
第六节 JMX
第七节 Java运行安全
第八节 总结和展望
第十四章 案例实践和总结
第一节 案例实践
第二节 课程总结和展望
建议先修读爱课程网上的《Java核心技术》课程,和《Java核心技术(进阶)》课程。或者已经掌握Java的基础语法和知识。
1.Java核心技术 卷I:基础知识(第十版),Cay S Horstmann 著,周立新等译,机械工业出版社,北京,2016.
2.Java核心技术 卷II:高级特性(第十版),Cay S Horstmann 著,陈昊鹏译,机械工业出版社,北京,2017.
Q : 学习本课程后,我能做什么?
A : 第一,您能学到最新的Java特性,可以进一步提高程序效率和扩大程序功能范围。第二,您能更深入理解框架软件,并有能力阅读其源码,提高自己的代码水平。第三,您有能力来定义/设计/编写一个框架软件。
Q : 我是小白,可以学习这门课吗?这门课的前序课程是什么?
A : 建议先修读Java的基础部分,如《Java核心技术》和《Java核心技术(进阶)》。
Q : 我是一个普通程序员,又不需要编写框架软件,有必要学习这些高级原理和特性吗?
A : 建议了解这些内容。这将有助于您的技术能力提高。就算只使用不编写框架软件,那么这些原理和特性也有助于您较快理解和使用框架软件。