Java语言进阶学习目标
1.掌握Git版本控制工具|
2.深入理解Java面向对象相关知识点|
3.掌握开发中常用类如集合、IO流、时间日期等操作|
4.掌握Java异常处理机制,熟悉Java多线程开发|
5.掌握网络基础知识,了解Socket原理,TCP、UDP协议|
6.熟悉Java11新特性,如Lambda、Stream流等操作|
7.掌握Java基本语法完成单机程序的编写
主讲内容1Git
从实际工作角度出发,建立起版本控制系统的重要性,并熟悉Git版本控制工具的使用,包含了以下技术点:
1. Git概述和特点|
2. Git的下载安装|
3. Git基本概念|
4. Git操作入门|
5. Git历史版本控制|
6. Git分支版本控制|
7. Git远程仓库的操作|
8. Git远程托管平台应用(GitHub,码云)|
9. Git解决冲突|
10.IDEA中集成Git应用|
11.Git常用操作命令
主讲内容2面向对象进阶
主要介绍了面向对象的继承和多态思想,抽象类和接口的使用,static和final关键字,以及内部类,包含了以下技术点:
1. 面向对象特性之继承|
2. 继承的和弊端|
3. super关键字的作用|
4. 继承时子父类的访问特点|
5. 方法的重写(Override)|
6. package关键字的作用|
7. import关键字的作用|
8. final关键字的作用|
9. static关键字的作用|
10. static关键字内存分析|
11. 面向对象特性之多态|
12. 多态的和弊端|
13. 多态中成员访问的特点|
14. 多态中的数据类型转型|
15. instanceof关键字的使用|
16. 抽象类的特点|
17. 抽象类的成员特点|
18. 模板设计模式|
19. 接口的概述|
20. 接口的特点和注意事项|
21. 类、抽象类、接口之间的关系|
22. 内部类的概述|
23. 成员内部类的使用|
24. 局部内部类的使用|
25. 匿名内部类的使用|
26. 匿名内部类在开发中的应用
主讲内容3常用API
主要介绍了Java中API的使用,常见的类,方法以及常见的排序算法,包含了以下技术点:
1. Math类及其常用方法|
2. System类及其常用方法|
3. Object类的toString()和equals()方法|
4. Objects类以及常用方法|
5. BigDecimal类及其常用方法|
6. 二分查找原理以及代码实现|
7. 冒泡排序的原理分析及代码实现|
8. 递归的应用和注意事项|
9. 排序原理以及代码实现|
10. jar包的制作以及使用|
11. Arrays类及其常用方法|
12. 基本类型的包装类|
13. 自动拆箱和自动装箱|
14. Optional类以及使用|
15. ProcessBuilder类以及使用|
16. 日期Date类型及其常用方法|
17. 日期格式化类SimpleDateFormat|
18. 日历Calendar类的使用|
19. Jdk8新增的日期Date API(LocalDateTime,LocalDate,LocalTime,Instant,Period,Duration)|
20. NumberFormat类以及使用
主讲内容4异常
主要介绍了Java中虚拟机如何处理异常,以及我们自己处理异常的两种方式,包含了以下技术点:
1. 异常的概述|
2. JVM默认处理异常的方式|
3. 异常处理方式之try..catch|
4. 异常处理方式之throws|
5. Throwable的常用方法|
6. 异常的分类和区别|
7. 异常的注意事项|
8. 自定义异常的使用
主讲内容5集合
主要介绍了Java中的集合体系,以及数据结构,包含了以下技术点:
1. 集合体系结构|
2. 单列集合体系的详细讲解|
3. 迭代器的使用|
4. 增强for循环的使用|
5. forEach方法遍历|
6. 并发修改异常的产生原因和解决办法|
7. 数据结构之栈和队列|
8. 数据结构之数组和链表|
9. ArrayList集合源码分析|
10. LinkedList集合源码分析|
11. 双列集合体系的详细讲解|
12. Map集合的遍历方式|
13. TreeSet的自然排序和比较器排序|
14. 数据结构之树|
15. 数据结构之二叉树|
16. 数据结构之二叉平衡树|
17. 数据结构之红黑树|
18. TreeSet(TreeMap)底层源码分析|
19. 数据结构之哈希表|
20. Jdk1.7中HashSet(HashMap)源码分析|
21. Jdk1.8中HashSet(HashMap)源码分析|
22. 泛型的使用|
23. 泛型通配符的使用|
24. 可变参数的使用和注意事项
主讲内容6IO
主要介绍了Java中跟文件相关的类File,以及Java中常见的流,包含了以下技术点:
1. File类对文件的操作|
2. IO流的概述和分类
|3. 字节流写数据的方式|
4. FileOutputStream和BufferedOutputStream源码分析|
5. 字节流读数据的方式|
6. FileInputStream和BufferedInputStream源码分析|
7. 字节流完成视频文件的复制|
8. 编码表|
9. 字符流写数据的方法|
10. 字符串读数据的方法|
11. 字符缓冲流的使用|
12. 字符缓冲流的特有方法|
13. 标准输入输出流|
14. 打印流的使用|
15. 对象序列化流|
16. serialVersionUID&transient|
17. Properties的用法|
18. 内存操作流的使用|
19. RandomAccessFile使用|
20. SequenceInputStream的使用|
21. 压缩流/解压缩流
主讲内容7多线程
主要介绍了Java中什么是多线程,以及多线程的带来的问题和解决方案,包含了以下技术点:
1. 进程和线程的区别|
2. Java实现多线程的三种方式
3. 线程API之线程名称
4. 线程API之线程休眠|
5. 线程API之线程礼让|
6. 线程API之线程优先级|
7. 线程API之线程中断|
8. 线程API之后天线程|
9. 线程的安全问题|
10. 同步代码块|
11. 同步方法|
12. Lock锁|
13. 死锁概述以及现象演示|
14. 死锁诊断(jstack工具的使用)|
15. 线程通讯之生产者消费者问题|
16. 线程通讯代码实现之同步代码块|
17. 线程通讯代码实现之Condition实现通信|
18. 线程通讯代码实现之阻塞队列(BlockingQueue)实现|
19. 线程的状态|
20. 线程池概述|
21. 自定义线程池|
22. Executors创建线程池|
23. ThreadPoolExecutor创建线程池|
24. ThreadPoolExecutor原理介绍以及任务拒绝策略介绍|
25. volatile关键字|
26. JMM内存模型|
27. 原子性概述|
28. 原子类AtomicInteger类的使用|
29. CAS算法|
30. 并发容器ConcurrentHashMap原理讲解|
31. 并发工具类(CountDownLatch,Semaphore,CyclicBarrier,Exchanger)的使用
主讲内容8网络编程
主要介绍了网络编程三要素,如何使用UDP和TCP进行通信,http协议。并使用NIO搭建了一个非阻塞的Http服务器,包含了以下技术点:
1. 网络编程的概述|
2. 网络编程的三要素之ip地址(ipv4,ipv6)|
3. InetAddress类的操作|
4. 网络编程的三要素之端口和协议的详细解释|
5. 网络参考模型|
6. UDP协议发送与接收数据|
7. 聊天小程序案例|
8. UDP协议中广播与组播|
9. TCP协议发送与接收数据|
10. 多线程下文件的上传|
11. NIO概述|
12. NIO之Buffer的使用|
13. NIO之Channel的使用|
14. NIO之Selector的使用|
15. 自定义非阻塞式的HTTP静态服务器
主讲内容9Lambda
主要介绍了函数式编程思想和Lambda表达式,并结合Steam流和方法引用来熟悉函数式编程思想,包含了以下技术点:
1. Lambda表达式的标准写法|
2. Lambda的省略规则|
3. Lambda和匿名内部类的区别|
4. JDK8和9对接口组成的更新|
5. 方法引用的介绍|
6. Stream流的中间操作|
7. Stream流的终结操作|
8. Stream流的收集操作
主讲内容10反射
主要介绍了类加载器,以及利用反射技术获取字节码文件中的内容并进行使用,包含了以下技术点:
1. 虚拟机类加载机制(概述,类加载过程,类的初始化时机)|
2. 类加载器(概述,分类,双亲委派机制,ClassLoader类,自定义类加载)|
3. 反射机制的概述|
4. 获取Class类的对象|
5. 反射获取构造方法并使用|6. 反射获取成员方法并使用|
7. 反射获取成员变量并使用|
8. 自定义非阻塞式的HTTP动态服务器
主讲内容11基础加强
主要介绍了xml,枚举,注解,单元测试,日志技术,并使用这些技术改写Http服务器,包含了以下技术点:
1. xml概述|
2. xml语法规则介绍|
3. xml文档解析|
4. xml文档约束(dtd,schema)|
5. 枚举的定义、特点以及常用方法|
6. 注解的概述以及Jdk中常见的注解|
7. 自定义注解|
8. Jdk常见的元注解|
9. 学生管理系统综合案例贯穿阶段课程