目录:

  • 🧠 一、Spring 框架概述
    • 1. Spring 的核心功能
    • 2. Spring 模块化结构
  • 🧩 二、IoC(控制反转)核心知识点
    • 1. IoC 的核心思想
    • 2. Bean 的定义与管理
    • 3. IoC 容器的核心接口
    • 4. Spring Bean 的创建方式
  • 🧱 三、AOP(面向切面编程)核心知识点
    • 1. AOP 的核心概念
    • 2. AOP 的通知类型
    • 3. AOP 的实现原理
    • 4. AOP 的使用场景
    • 5. AOP 示例代码
  • 📌 四、Spring Boot 核心知识点
    • 1. Spring Boot 的核心特性
    • 2. Spring Boot 的启动流程
    • 3. Spring Boot 核心注解
    • 4. Spring Boot 自动配置原理
    • 5. Spring Boot 的配置文件
    • 6. Spring Boot Actuator 监控
  • 🧪 四、Spring Boot 核心功能与实践
    • 1. Spring Boot 整合 MyBatis
    • 2. Spring Boot 整合 Spring MVC
    • 3. Spring Boot 整合 Spring Security
  • 🧩 五、Spring Boot 常见面试题及答案
    • 1. Spring 和 Spring Boot 的区别?
    • 2. 什么是 Spring Boot 的 Starter 依赖?
    • 3. Spring Boot 的自动配置原理?
    • 4. Spring Boot 中的 @SpringBootApplication 注解作用?
    • 5. Spring Boot 如何自定义自动配置?
    • 6. Spring Boot 中的 @ConditionalOnXXX 注解有哪些?
    • 7. Spring Boot 如何启用 Actuator 监控?
  • 📋 六、Spring 核心知识点总结
  • 📄 七、完整代码示例(Spring Boot + AOP + IoC)
    • 1. 定义 Bean
    • 2. AOP 日志记录
    • 3. Spring Boot 启动类
  • 📚 八、推荐学习资料
  • ✅ 九、完整总结(Spring 核心功能)
  • 📄 十、完整 Spring Boot 面试高频题
    • 1. Spring Boot 如何实现自动配置?
    • 2. Spring Boot 的 Starter 依赖是什么?
    • 3. Spring Boot 如何启用 Actuator 监控?
    • 4. Spring Boot 如何自定义自动配置?
    • 5. Spring Boot 的启动流程?
    • 6. Spring Boot 如何启用懒加载?
    • 7. Spring Boot 如何集成 MyBatis?
    • 8. Spring Boot 中的 @ConditionalOnXXX 注解有哪些?
  • 📌 十一、Spring Boot 常用配置参数(application.yml)
  • 🧪 十二、Spring Boot 实战建议
  • 📎 十三、完整 Spring Boot 项目结构示例
  • 📄 十四、Spring Boot 常见问题定位工具
  • 📌 十五、Spring Boot 常用命令行参数
  • 📚 十六、推荐学习资料
  • ✅ 十七、总结:Spring 开发必会知识点

🧠 一、Spring 框架概述

1. Spring 的核心功能

  • IoC(控制反转):将对象的创建和依赖管理交给 Spring 容器。
  • AOP(面向切面编程):解耦核心业务逻辑与非业务逻辑(如日志、事务)。
  • Spring Boot:基于 Spring 的快速开发框架,提供自动配置和内嵌服务器。

2. Spring 模块化结构

Spring 框架由多个模块组成,核心模块包括:

  • Spring Core:IoC 和 Bean 管理。
  • Spring Context:上下文支持(如 ApplicationContext)。
  • Spring AOP:AOP 支持。
  • Spring Data Access:JDBC、ORM 框架集成。
  • Spring Web:Web 开发支持(如 Spring MVC)。

🧩 二、IoC(控制反转)核心知识点

1. IoC 的核心思想

  • 传统方式:对象由程序主动创建(如 new User())。
  • IoC 方式:对象由 Spring 容器创建并管理,程序只需声明依赖关系。

2. Bean 的定义与管理

  • Bean 的作用域:
作用域说明
singleton默认作用域,容器中只有一个实例(单例)
prototype每次请求都创建新实例
requestWeb 应用中,每个 HTTP 请求一个实例
sessionWeb 应用中,每个 HTTP 会话一个实例
  • Bean 的生命周期:
创建 Bean → 依赖注入 → 初始化(@PostConstruct / init-method) → 使用 Bean → 销毁(@PreDestroy / destroy-method)
  • Bean 的注入方式
- 构造器注入:
@Service
public class UserService {private final UserRepository userRepo;public UserService(UserRepository userRepo) {this.userRepo = userRepo;}
}
- Setter 注入:
@Service
public class UserService {private UserRepository userRepo;@Autowiredpublic void setUserRepository(UserRepository userRepo) {this.userRepo = userRepo;}
}
- 字段注入(不推荐):
@Service
public class UserService {@Autowiredprivate UserRepository userRepo;
}

3. IoC 容器的核心接口

  • BeanFactory:基础容器接口,支持懒加载。
  • ApplicationContext:扩展 BeanFactory,提供更多企业级功能(如 AOP、国际化、事件机制)。

4. Spring Bean 的创建方式

  • XML 配置:
<bean id="userService" class="com.example.UserService"><property name="userRepo" ref="userRepository"/>
</bean>
  • 注解方式:
@Component // 组件扫描
public class UserService { ... }@Service // 业务层注解
public class UserService { ... }@Repository // 数据层注解
public class UserRepository { ... }
  • Java 配置类:
@Configuration
public class AppConfig {@Beanpublic UserService userService() {return new UserService(userRepository());}@Beanpublic UserRepository userRepository() {return new UserRepository();}
}

🧱 三、AOP(面向切面编程)核心知识点

1. AOP 的核心概念

  • 切面(Aspect):横切关注点的模块化(如日志、权限)。
  • 切点(Pointcut):定义哪些方法需要增强(如所有 @GetMapping 方法)。
  • 通知(Advice):在切点前后执行的逻辑(如方法执行前后记录日志)。
  • 连接点(Join Point):程序执行过程中的某个点(如方法调用)。
  • 织入(Weaving):将切面逻辑插入到目标对象的过程。

2. AOP 的通知类型

通知类型注解说明
前置通知(Before)@Before方法执行前执行
后置通知(After)@After方法执行后执行(无论是否异常)
返回通知(AfterReturning)@AfterReturning方法正常返回后执行
异常通知(AfterThrowing)@AfterThrowing方法抛出异常时执行
后置通知(After)@Around方法执行前后都可以执行(最灵活)

3. AOP 的实现原理

  • JDK 动态代理:基于接口的代理(java.lang.reflect.Proxy)。
  • CGLIB 代理:基于子类继承的代理(适用于无接口的类)。

4. AOP 的使用场景

日志记录:记录方法调用日志。
权限控制:验证用户是否有权限执行某个操作。
事务管理:在方法执行前后开启/提交事务。
缓存处理:缓存方法结果,避免重复计算。

5. AOP 示例代码

@Aspect
@Component
public class LoggingAspect {// 定义切点:所有 controller 包下的方法@Pointcut("execution(* com.example.controller.*.*(..))")public void controllerMethods() { }// 前置通知@Before("controllerMethods()")public void logBefore(JoinPoint joinPoint) {System.out.println("方法执行前: " + joinPoint.getSignature().getName());}// 环绕通知@Around("controllerMethods()")public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable {long start = System.currentTimeMillis();Object result = joinPoint.proceed(); // 执行目标方法long duration = System.currentTimeMillis() - start;System.out.println("方法执行耗时: " + duration + "ms");return result;}
}

📌 四、Spring Boot 核心知识点

1. Spring Boot 的核心特性

特性说明
自动配置根据类路径自动配置 Bean(如 DataSource、WebMvcConfigurer)
Starter 依赖提供开箱即用的依赖组合(如 spring-boot-starter-web)
内嵌服务器默认内嵌 Tomcat、Jetty 等服务器,无需外部部署
Actuator 监控提供健康检查、指标监控等端点(如 /actuator/health)
配置集中管理使用 application.properties 或 application.yml 统一管理配置

2. Spring Boot 的启动流程

  1. 启动类:使用 @SpringBootApplication 注解。
@SpringBootApplication
public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}
  1. 自动配置:Spring Boot 根据类路径自动加载配置(如 DataSourceAutoConfiguration)。
  2. 内嵌服务器启动:默认启动内嵌 Tomcat(可替换为 Jetty 或 Undertow)。

3. Spring Boot 核心注解

注解说明
@SpringBootApplication组合注解(@ComponentScan + @EnableAutoConfiguration)
@Component通用组件扫描
@Service业务层注解
@Repository数据层注解
@RestController组合注解(@Controller + @ResponseBody)
@Configuration配置类注解
@Bean在配置类中定义 Bean
@EnableAutoConfiguration启用自动配置

4. Spring Boot 自动配置原理

  • 自动配置类:Spring Boot 提供的 spring-boot-autoconfigure 模块中定义了自动配置类(如 DataSourceAutoConfiguration)。
  • 条件注解:使用 @ConditionalOnClass、@ConditionalOnMissingBean 等条件注解,按需加载 Bean。
  • 配置文件:通过 application.yml 或 application.properties 覆盖默认配置。

5. Spring Boot 的配置文件

  • application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
  • application.yml:
spring:datasource:url: jdbc:mysql://localhost:3306/mydbusername: rootpassword: 123456

6. Spring Boot Actuator 监控

  • 常用端点
端点功能
/actuator/health健康检查
/actuator/metrics系统指标
/actuator/configprops配置属性
/actuator/mappings请求映射信息
/actuator/shutdown关闭应用(需启用 management.endpoint.shutdown.enabled=true)

🧪 四、Spring Boot 核心功能与实践

1. Spring Boot 整合 MyBatis

  • 依赖:
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version>
</dependency>
  • 配置:
mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.example.model
  • 代码示例:
@Repository
public interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User selectById(Long id);
}

2. Spring Boot 整合 Spring MVC

  • 控制器示例:
@RestController
public class UserController {@Autowiredprivate UserService userService;@GetMapping("/users/{id}")public User getUser(@PathVariable Long id) {return userService.getUserById(id);}
}

3. Spring Boot 整合 Spring Security

  • 依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>
  • 配置类:
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/public/**").permitAll().anyRequest().authenticated().and().formLogin();}
}

🧩 五、Spring Boot 常见面试题及答案

1. Spring 和 Spring Boot 的区别?

  • Spring
    是基础框架,支持 IoC 和 AOP,需手动配置。
    适用于传统企业级应用(如 XML 配置)。
  • Spring Boot
    基于 Spring 的快速开发框架,提供自动配置和内嵌服务器。
    适用于微服务、快速原型开发。

2. 什么是 Spring Boot 的 Starter 依赖?

  • Starter 依赖:Spring Boot 提供的预配置依赖包,简化依赖管理和配置。
  • 示例
<!-- 整合 Web 开发 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency><!-- 整合 MyBatis -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>

3. Spring Boot 的自动配置原理?

  • 自动配置类:Spring Boot 提供的 spring-boot-autoconfigure 模块中包含自动配置类。
  • 条件注解:通过 @ConditionalOnClass、@ConditionalOnMissingBean 等注解,按需加载 Bean。
  • 配置文件:通过 application.yml 或 application.properties 覆盖默认配置。

4. Spring Boot 中的 @SpringBootApplication 注解作用?

作用:组合注解,包含:
@ComponentScan:自动扫描 Bean。
@EnableAutoConfiguration:启用自动配置。
@Configuration:声明配置类。

5. Spring Boot 如何自定义自动配置?

步骤

  1. 创建自定义配置类。
  2. 使用 @ConditionalOnClass、@ConditionalOnMissingBean 等条件注解。
  3. 将配置类打包为 spring.factories 文件(位于 META-INF 目录)。

示例

@Configuration
@ConditionalOnClass(UserService.class)
public class MyAutoConfiguration {@Beanpublic UserService userService() {return new UserService();}
}
# META-INF/spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.MyAutoConfiguration

6. Spring Boot 中的 @ConditionalOnXXX 注解有哪些?

注解 说明
@ConditionalOnClass 指定类存在时加载配置
@ConditionalOnMissingClass 指定类不存在时加载配置
@ConditionalOnBean 指定 Bean 存在时加载配置
@ConditionalOnMissingBean 指定 Bean 不存在时加载配置
@ConditionalOnProperty 配置文件中指定属性存在时加载配置

7. Spring Boot 如何启用 Actuator 监控?

依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

配置:

management:endpoints:web:exposure:include: "*"

访问端点:
http://localhost:8080/actuator/health
http://localhost:8080/actuator/metrics

📋 六、Spring 核心知识点总结

在这里插入图片描述

📄 七、完整代码示例(Spring Boot + AOP + IoC)

1. 定义 Bean

@Service
public class UserService {public void doSomething() {System.out.println("UserService.doSomething");}
}@Repository
public class UserRepository {public void save() {System.out.println("UserRepository.save");}
}

2. AOP 日志记录

@Aspect
@Component
public class LoggingAspect {@Pointcut("execution(* com.example.service.*.*(..))")public void serviceMethods() { }@Before("serviceMethods()")public void logBefore(JoinPoint joinPoint) {System.out.println("方法执行前: " + joinPoint.getSignature().getName());}@After("serviceMethods()")public void logAfter(JoinPoint joinPoint) {System.out.println("方法执行后: " + joinPoint.getSignature().getName());}
}

3. Spring Boot 启动类

@SpringBootApplication

public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}
}

📚 八、推荐学习资料

  • 《Spring 实战》(Craig Walls)
  • 《Spring Boot 实战》(Mark Heckler)
  • B站、慕课网、CSDN、知乎 等平台的 Spring Boot 视频教程
  • Spring 官方文档:https://docs.spring.io/spring-- framework/docs/current/javadoc-api/
  • Spring Boot 官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/

✅ 九、完整总结(Spring 核心功能)

  • Spring 核心思想
    - IoC:将对象的创建交给容器管理
    - AOP:将非业务逻辑解耦
  • Spring Boot 核心优势
    - 自动配置:减少手动配置
    - 内嵌服务器:无需外部部署
    - Actuator 监控:提供运行时指标

📄 十、完整 Spring Boot 面试高频题

1. Spring Boot 如何实现自动配置?

答案

  • 通过 spring-boot-autoconfigure 模块中的自动配置类。
  • 使用 @ConditionalOnXXX 注解按条件加载 Bean。
  • 通过 application.yml 或 application.properties 覆盖默认配置。

2. Spring Boot 的 Starter 依赖是什么?

答案

  • 提供开箱即用的依赖组合(如 spring-boot-starter-web)。
  • 自动配置 Bean(如 DataSource、Jackson)。

3. Spring Boot 如何启用 Actuator 监控?

答案

  • 添加 spring-boot-starter-actuator 依赖。
  • 配置 management.endpoints.web.exposure.include=*。
  • 访问端点(如 /actuator/health)。

4. Spring Boot 如何自定义自动配置?

答案

  • 创建自定义配置类。
  • 使用 @ConditionalOnXXX 注解按条件加载。
  • 打包为 spring.factories 文件,供 Spring Boot 自动加载。

5. Spring Boot 的启动流程?

答案

  • 执行 SpringApplication.run()。
  • 加载自动配置类(@EnableAutoConfiguration)。
  • 启动内嵌服务器(Tomcat、Jetty)。
  • 执行 @PostConstruct 和 CommandLineRunner。

6. Spring Boot 如何启用懒加载?

答案

  • 配置 spring.main.lazy-initialization=true。
  • 仅在需要时创建 Bean,提升启动速度。

7. Spring Boot 如何集成 MyBatis?

答案

  • 添加 mybatis-spring-boot-starter 依赖。
  • 配置数据源(application.yml)。
  • 定义 Mapper 接口和 XML 映射文件。

8. Spring Boot 中的 @ConditionalOnXXX 注解有哪些?

答案

  • @ConditionalOnClass:类存在时加载。
  • @ConditionalOnMissingBean:Bean 不存在时加载。
  • @ConditionalOnProperty:配置文件中属性存在时加载。
  • @ConditionalOnMissingClass:类不存在时加载。

📌 十一、Spring Boot 常用配置参数(application.yml)

# 配置数据源
spring:datasource:url: jdbc:mysql://localhost:3306/mydbusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver# 配置 MyBatis
mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.example.model# 配置日志
logging:level:com.example: debug# 配置 Actuator
management:endpoints:web:exposure:include: "*"endpoint:health:show-details: always

🧪 十二、Spring Boot 实战建议

在这里插入图片描述

📎 十三、完整 Spring Boot 项目结构示例

src
├── main
│ ├── java
│ │ └── com.example
│ │ ├── MyApplication.java
│ │ ├── controller
│ │ │ └── UserController.java
│ │ ├── service
│ │ │ └── UserService.java
│ │ └── repository
│ │ └── UserRepository.java
│ └── resources
│ ├── application.yml
│ ├── mapper
│ │ └── UserMapper.xml
│ └── data.sql

📄 十四、Spring Boot 常见问题定位工具

在这里插入图片描述

📌 十五、Spring Boot 常用命令行参数

在这里插入图片描述

📚 十六、推荐学习资料

  • 《Spring 实战》(Craig Walls)
  • 《Spring Boot 实战》(Mark Heckler)
  • Spring 官方文档:https://docs.spring.io/spring-- framework/docs/current/javadoc-api/
  • Spring Boot 官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/
  • B站、慕课网、CSDN、知乎 等平台的 Spring Boot 视频教程

✅ 十七、总结:Spring 开发必会知识点

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95740.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95740.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/95740.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单工厂模式(Simple Factory Pattern)​​ 详解

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a; Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 设计模式 ✨特色专栏&#xff1a; 知识分享 &…

新电脑硬盘如何分区?3个必知技巧避免“空间浪费症”!

刚到手的新电脑&#xff0c;硬盘就像一间空荡荡的大仓库&#xff0c;文件扔进去没多久就乱成一锅粥&#xff1f;别急&#xff0c;本文会告诉你新电脑硬盘如何分区&#xff0c;这些方法不仅可以帮你给硬盘分区&#xff0c;还可以调整/合并分区大小等。所以&#xff0c;本文的分区…

【微知】git submodule的一些用法总结(不断更新)

文章目录综述要点细节如何新增一个submodule&#xff1f;如何手动.gitmodules修改首次增加一个submodule&#xff1f;git submodule init&#xff0c;init子命令依据.gitmodules.gitmodules如何命令修改某个成员以及同步&#xff1f;如果submodule需要修改分支怎么办&#xff1…

【Spring Cloud微服务】9.一站式掌握 Seata:架构设计与 AT、TCC、Saga、XA 模式选型指南

文章目录一、Seata 框架概述二、核心功能特性三、整体架构与三大角色1. Transaction Coordinator (TC) - 事务协调器&#xff08;Seata Server&#xff09;2. Transaction Manager (TM) - 事务管理器&#xff08;集成在客户端&#xff09;3. Resource Manager (RM) - 资源管理器…

AI赋能!Playwright带飞UI自动化脚本维护

80%的自动化脚本因一次改版报废&#xff1f; 开发随意改动ID导致脚本集体崩溃&#xff1f;背景UI自动化在敏捷开发席卷行业的今天&#xff0c;UI自动化测试深陷一个尴尬困局&#xff1a;需求迭代速度&#xff08;平均2周1次&#xff09;&#xff1e; 脚本维护速度&#xff08;平…

Redis、Zookeeper 与关系型数据库分布式锁方案对比及性能优化实战指南

Redis、Zookeeper 与关系型数据库分布式锁方案对比及性能优化实战指南 1. 问题背景介绍 在分布式系统中&#xff0c;多节点并发访问共享资源时&#xff0c;如果不加锁或加锁不当&#xff0c;会导致数据不一致、超卖超买、竞态条件等问题。常见的分布式锁方案包括基于Redis、Zoo…

网络安全A模块专项练习任务十一解析

任务十一&#xff1a;IP安全协议配置任务环境说明&#xff1a; (Windows 2008)系统&#xff1a;用户名Administrator&#xff0c;密码Pssw0rd1.指定触发SYN洪水攻击保护所必须超过的TCP连接请求数阈值为5&#xff1b;使用组合键winR&#xff0c;输入regedit打开注册表编辑器&am…

金蝶中间件适配HGDB

文章目录环境文档用途详细信息环境 系统平台&#xff1a;Microsoft Windows (64-bit) 10 版本&#xff1a;5.6.5 文档用途 本文章主要介绍金蝶中间件简单适配HGDB。 详细信息 一、金蝶中间件Apusic安装与配置 1.Apusic安装与配置 Windows和Linux下安装部署过程相同。 &…

使用a标签跳转之后,会刷新一次,这个a标签添加的样式就会消失

<ul class"header-link"><li><a href"storeActive.html">到店活动</a></li><li><a href"fuwu.html">服务</a></li><li><a href"store.html">门店</a></l…

线程池实现及参数详解

线程池概述 Java线程池是一种池化技术&#xff0c;用于管理和复用线程&#xff0c;减少线程创建和销毁的开销&#xff0c;提高系统性能。Java通过java.util.concurrent包提供了强大的线程池支持。 线程池参数详解 1. 核心参数 // 创建线程池的完整构造函数 ThreadPoolExecu…

K8S 部署 NFS Dynamic Provisioning(动态存储供应)

K8S 部署 NFS Dynamic Provisioning&#xff08;动态存储供应&#xff09; 本文档提供完整的 K8s NFS 动态存储部署流程&#xff0c;包含命名空间创建、RBAC 权限配置、Provisioner 部署、StorageClass 创建及验证步骤。 2. 部署步骤 2.1 创建命名空间 首先创建独立的命名空间 …

JavaEE 进阶第二期:开启前端入门之旅(二)

专栏&#xff1a;JavaEE 进阶跃迁营 个人主页&#xff1a;手握风云 目录 一、VS Code开发工具的搭建 1.1. 创建.html文件 1.2. 安装插件 1.3. 快速生成代码 二、HTML常见标签 2.1. 换行标签 2.2. 图片标签: img 2.3. 超链接 三、表格标签 四、表单标签 4.1. input标…

【RNN-LSTM-GRU】第二篇 序列模型原理深度剖析:从RNN到LSTM与GRU

本文将深入探讨循环神经网络&#xff08;RNN&#xff09;的核心原理、其面临的长期依赖问题&#xff0c;以及两大革命性解决方案——LSTM和GRU的门控机制&#xff0c;并通过实例和代码帮助读者彻底理解其工作细节。1. 引言&#xff1a;时序建模的数学本质在上一篇概述中&#x…

Qt---状态机框架QState

QState是Qt状态机框架&#xff08;Qt State Machine Framework&#xff09;的核心类&#xff0c;用于建模离散状态以及状态间的转换逻辑&#xff0c;广泛应用于UI交互流程、设备状态管理、工作流控制等场景。它基于UML状态图规范设计&#xff0c;支持层次化状态、并行状态、历史…

GitHub 热榜项目 - 日榜(2025-09-02)

GitHub 热榜项目 - 日榜(2025-09-02) 生成于&#xff1a;2025-09-02 统计摘要 共发现热门项目&#xff1a;14 个 榜单类型&#xff1a;日榜 本期热点趋势总结 本期GitHub热榜呈现AI Agent生态爆发趋势&#xff0c;Koog、Activepieces等项目推动多平台智能体开发框架成熟。语…

华为卫星对星引导技术深度解析:原理、实现与开源替代方案

利号&#xff1a;CNXXXXXX 涉及多传感器融合/自适应波束成形/轨道预测算法一、技术原理剖析&#xff1a;卫星间高精度指向的核心挑战在低轨卫星&#xff08;LEO&#xff09;星座中&#xff0c;卫星间链路&#xff08;ISL&#xff09;的建立面临三大技术难题&#xff1a;1. 动力…

水下管道巡检机器人结构设cad+三维图+设计说明书

目 录 1 绪论 1 1.1 选题的背景及意义 1 1.2 水下管道巡检机器人的分类 2 1.2.1 管道巡检技术的分类 2 1.2.2管道巡检机器人的分类 2 1.3 研究的现状 3 1.3.1 国内的研究现状 3 1.3.2 国外的研究现状 4 1.4 水下管道巡检机器人的发展趋势 5 1.…

[从零开始面试算法] (11/100) LeetCode 226. 反转二叉树:递归的“镜像”魔法

引言 欢迎来到本系列的第十一篇&#xff01;在我们通过“最大深度”问题初步领略了树的递归之美后&#xff0c;今天我们将面对一个更能体现递归“分治”思想的经典问题——LeetCode 226. 反转二叉树。 这道题在面试界的地位非同凡响&#xff0c;它因 Homebrew 的作者 Max How…

Java设计模式之创建型—建造者模式

Java中最常用的设计模式-CSDN博客 “把对象的构造步骤拆成链式方法&#xff0c;调用者按需填参&#xff0c;最后一次性 build&#xff0c;避免构造函数爆炸。” 经典场景 参数多&#xff08;>4 个&#xff09;且大部分可选 需要不可变对象&#xff08;final 字段&#xf…

网页计时器,支持多计时器管理、数据分享、用户数据同步、全屏展示等功能,可进行倒计时、正计时和显示世界时钟。

一个具有现代化 UI 和交互的计时器网页应用&#xff0c;支持多计时器管理、数据分享、用户数据同步、全屏展示等功能&#xff0c;可进行倒计时、正计时和显示世界时钟。它采用玻璃态设计和流畅动画效果&#xff0c;提供极佳的视觉体验。 特点&#xff1a; 支持多个计时器的创建…