第三周总结

Java 学习第三周总结
一、学习概述
本周学习内容涵盖微服务架构进阶技术与 Java 基础强化两大部分。在微服务领域,深入探索了 Spring Cloud Task 的任务调度机制、Spring Cloud Function 的事件驱动编程,以及 Eureka 服务发现的高可用性配置与 Spring Cloud Gateway 的安全增强功能。同时,系统回顾了 Java 基础语法、面向对象核心概念、异常处理及集合框架等内容,夯实编程基础。通过理论与实践结合,进一步提升了微服务架构设计能力与 Java 编程素养。
二、微服务架构进阶技术
(一)Spring Cloud Task 与任务调度

  1. 学习目标
  2. 理解 Spring Cloud Task 的轻量级任务调度机制
  3. 掌握一次性任务的配置与执行流程
  4. 应用于数据迁移、批量处理等场景
  5. 核心内容
    Spring Cloud Task 是基于 Spring Boot 的任务调度框架,支持任务的执行、监控与管理。通过添加spring-cloud-starter-task依赖,配置Task Bean 并实现CommandLineRunner接口,即可定义任务逻辑。实际应用中,通过 Spring Cloud Data Flow 平台启动任务服务,可通过 UI 或命令行提交任务,适用于日志归档、数据同步等一次性操作场景。
  6. 实践案例
  7. 创建任务服务模块,定义数据迁移任务类
  8. 配置任务执行参数与监控规则
  9. 通过 Data Flow 平台触发任务并查看执行结果
  10. 学习心得
    Task 框架简化了微服务中的任务调度开发,尤其适用于非周期性的批量操作。结合 Data Flow 平台,可实现任务的可视化管理,提升运维效率。
    (二)Spring Cloud Function 与事件驱动
  11. 学习目标
  12. 掌握事件驱动架构在微服务中的实现
  13. 理解函数式编程在事件处理中的应用
  14. 集成消息中间件实现事件流转
  15. 核心内容
    Spring Cloud Function 支持构建事件驱动微服务,通过spring-cloud-starter-function-web依赖,可定义函数式接口处理事件。例如,使用Function<String, String>定义字符串转换函数,结合 RabbitMQ 或 Kafka 作为事件源,通过配置spring.cloud.stream.bindings关联消息通道,实现事件的接收与处理。
  16. 实践案例
  17. 构建事件处理服务,定义消息转换函数
  18. 配置 RabbitMQ 作为事件源,绑定输入 / 输出通道
  19. 发送消息验证函数式处理逻辑
  20. 学习心得
    事件驱动架构解耦了服务间的直接调用,通过函数式编程简化了事件处理逻辑。Spring Cloud Function 与 Spring Cloud Stream 的结合,提供了灵活的事件驱动解决方案。
    (三)Eureka 高可用性配置
  21. 学习目标
  22. 掌握 Eureka 服务发现的高级配置
  23. 实现 Eureka 服务器集群化部署
  24. 优化服务注册与发现的性能与可靠性
  25. 核心内容
    Eureka 服务器通过配置eureka.server.enable-self-preservation=false关闭自我保护模式,设置eviction-interval-timer-in-ms=5000缩短失效实例剔除周期。客户端配置prefer-ip-address=true确保使用 IP 地址注册,并通过instance-id自定义实例标识。高可用性实现需部署多个 Eureka 实例,相互注册形成集群,客户端配置多个defaultZone地址。
  26. 实践案例
  27. 启动三个 Eureka 实例,配置相互注册
  28. 微服务客户端注册到 Eureka 集群
  29. 模拟单节点故障,验证服务发现的高可用性
  30. 学习心得
    Eureka 集群化部署显著提升了服务发现的可靠性,通过合理配置参数可优化服务注册与剔除效率,适应高并发微服务场景。
    (四)Spring Cloud Gateway 安全增强
  31. 学习目标
  32. 深化 Gateway 的安全防护配置
  33. 集成 Spring Security 实现认证授权
  34. 结合 OAuth2 保护后端服务
  35. 核心内容
    在 Gateway 中添加spring-boot-starter-security依赖,通过SecurityConfig配置类禁用 CSRF,设置/user/**等路径需认证访问,其他路径放行并启用 OAuth2 登录。同时配置资源服务器,确保只有认证通过的请求可访问后端服务,结合 JWT 令牌实现分布式认证。
  36. 实践案例
  37. 配置 Gateway 安全规则,保护用户服务接口
  38. 集成 OAuth2 认证服务器,生成访问令牌
  39. 测试未授权请求访问受保护接口的拦截效果
  40. 学习心得
    Gateway 与 Spring Security 的深度集成,为微服务架构提供了统一的安全网关层,通过细粒度的路径访问控制,有效保护后端服务安全。
    三、Java 基础强化
    (一)语法与流程控制
  41. 核心内容回顾
  42. 数据类型:基本类型(int/double/char/boolean)与引用类型(String / 数组 / 对象)的定义与使用
  43. 类型转换:自动转换(小类型→大类型)与强制转换(需注意精度丢失)
  44. 运算符:三目运算符(condition ? expr1 : expr2)及==与equals()的区别
  45. 流程控制:switch 穿透性处理、for-each 循环遍历集合,break/continue 的使用场景
  46. 易错点警示
  47. 避免在 for 循环后错误添加分号导致空循环体
  48. 引用类型使用==比较时实际比较内存地址,需用equals()比较内容
    (二)面向对象核心
  49. 类与对象
  50. 封装:通过 private 字段与 public getter/setter 实现数据封装
  51. 构造方法:初始化对象状态,支持重载
  52. 示例代码:

public class Student {
private String name;
public Student(String name) { this.name = name; }
public String getName() { return name; }
}
2. 继承与多态
34. 继承语法:class Child extends Parent
35. 方法重写:使用@Override注解覆盖父类方法
36. 多态应用:父类引用指向子类对象,调用时动态绑定子类方法
(三)接口与抽象类

  1. 接口(Interface)
  2. 定义抽象方法与默认方法(Java 8+),支持静态方法
  3. 实现类需覆盖所有抽象方法
  4. 示例:

interface Flyable {
void fly();
default void land() { System.out.println("着陆中"); }
}
2. 抽象类(Abstract Class)
40. 包含抽象方法与具体方法
41. 子类必须实现所有抽象方法
42. 区别:接口强调 "能做什么",抽象类强调 "是什么类型"
(四)异常处理

  1. 分类与处理
  2. 受检异常(如 IOException)必须捕获或声明抛出
  3. 非受检异常(RuntimeException 子类)无需强制处理
  4. 处理结构:try-catch-finally,finally 块始终执行
  5. 自定义异常

class MyException extends Exception {
public MyException(String message) { super(message); }
}
(五)集合框架

  1. 核心接口
  2. List:有序可重复(ArrayList/LinkedList)
  3. Set:无序唯一(HashSet/TreeSet)
  4. Map:键值对(HashMap/TreeMap)
  5. 操作示例

List list = new ArrayList<>();
list.add("Java");
list.forEach(System.out::println); // Lambda遍历
Map<Integer, String> map = new HashMap<>();
map.put(1, "Apple");
String value = map.get(1); // 获取值
3. 注意事项
49. 未指定泛型时集合类型不安全,可能引发 ClassCastException
50. ArrayList 非线程安全,多线程场景需使用 Collections.synchronizedList ()
四、本周学习总结与反思
(一)学习成果

  1. 掌握 Spring Cloud Task 与 Function,实现任务调度与事件驱动架构
  2. 完成 Eureka 高可用集群配置,提升服务发现可靠性
  3. 深化 Spring Cloud Gateway 安全配置,实现统一认证授权
  4. 系统回顾 Java 基础,强化面向对象、异常处理与集合框架应用能力
    (二)存在问题
  5. 事件驱动架构中消息通道与函数式接口的复杂关联理解不够深入
  6. Eureka 自我保护模式的底层机制与适用场景仍需进一步研究
  7. Java 基础中泛型编程与反射机制的应用不够熟练
    (三)改进方向
  8. 深入学习 Spring Cloud Stream 与消息中间件的集成细节
  9. 研读 Eureka 源码,理解服务注册与剔除的核心算法
  10. 通过泛型项目实践强化 Java 高级特性的应用能力
    (四)下周计划
  11. 学习 Spring Cloud Alibaba 组件(Nacos/Sentinel)
  12. 探索分布式事务解决方案(Seata)
  13. 开展微服务综合项目实战,整合三周所学技术
  14. 深入研究 Java 并发编程与 JUC 工具包应用
posted @ 2025-06-15 20:40  执笔诉相思  阅读(16)  评论(0)    收藏  举报