当前位置: 首页 > news >正文

Spring 面试题

@Autowired和@Resource两个注解的区别
@Autowired:
是Spring框架的注解,用于依赖注入。
默认按照类型(byType)注入,如果存在多个相同类型的Bean,则会报错。
可以通过@Qualifier指定具体的Bean名称。
如果没有匹配的Bean,会抛出BeanCreationException。
@Resource:
是Java标准注解(JSR-250),也用于依赖注入。
默认按照名称(byName)注入,如果没有指定名称,则按照类型注入。
如果没有匹配的Bean,不会报错,而是注入null。
总结:
@Autowired更灵活,支持按类型和按名称注入。
@Resource更符合Java标准,但功能相对简单。


2. Spring中是如何解决循环依赖问题的
Spring通过三级缓存机制解决循环依赖问题:
一级缓存(singletonObjects):存储完全初始化完成的Bean。
二级缓存(earlySingletonObjects):存储正在初始化的Bean的原始代理对象。
三级缓存(singletonFactories):存储Bean的ObjectFactory,用于延迟初始化。
当检测到循环依赖时,Spring会将尚未完全初始化的Bean放入二级缓存中,从而避免直接引用未初始化的Bean。

3. Spring中是如何解决构造注入的循环依赖问题的
Spring默认不支持构造注入的循环依赖。构造注入的循环依赖会导致无法解决的依赖问题,因为构造器注入的Bean必须在构造时完成依赖注入。Spring会在检测到构造注入的循环依赖时抛出异常,提示用户重新设计Bean的依赖关系。


4. Spring中的循环依赖为什么需要三级缓存
三级缓存的设计是为了在解决循环依赖时,能够灵活地处理Bean的初始化状态:
一级缓存确保完全初始化的Bean可以被安全使用。
二级缓存允许在Bean初始化过程中被其他Bean引用。
三级缓存提供了一种延迟初始化的机制,避免了直接引用未完成初始化的Bean。


5. Spring中Bean对象的生命周期
Spring Bean的生命周期包括以下阶段:
实例化:通过BeanDefinition创建Bean实例。
属性注入:通过Autowired或@Value注入依赖。
初始化:
调用BeanPostProcessor的postProcessBeforeInitialization方法。
调用InitializingBean的afterPropertiesSet方法或@PostConstruct注解的方法。
调用BeanPostProcessor的postProcessAfterInitialization方法。
使用:Bean可以被其他Bean引用。
销毁:
调用DisposableBean的destroy方法或@PreDestroy注解的方法。
调用BeanPostProcessor的postProcessBeforeDestruction方法


6. Spring中支持的作用域有几种
Spring支持以下几种作用域:
singleton:单例作用域,默认值。每个Spring容器中只有一个Bean实例。
prototype:原型作用域。每次请求都会创建一个新的Bean实例。
request:请求作用域。每个HTTP请求都会创建一个新的Bean实例。
session:会话作用域。每个HTTP会话都会创建一个新的Bean实例。
application:全局作用域。每个Servlet上下文创建一个Bean实例。
websocket:WebSocket作用域。每个WebSocket连接创建一个Bean实例。

7. Spring中事务的隔离级别介绍
Spring支持以下事务隔离级别:
READ_UNCOMMITTED:未提交读(最低隔离级别,允许脏读)。
READ_COMMITTED:提交读(不允许脏读,但允许不可重复读)。
REPEATABLE_READ:可重复读(默认隔离级别,允许幻读)。
SERIALIZABLE:串行化(最高隔离级别,避免所有并发问题,但性能最低)。


8. Spring中事务的隔离级别
Spring事务的隔离级别默认为REPEATABLE_READ,但可以通过@Transactional注解的isolation属性指定不同的隔离级别:
java
复制
@Transactional(isolation = Isolation.READ_COMMITTED)
public void someMethod() {
    // ...
}

9. Spring中事务的实现方式
Spring事务的实现方式包括:
声明式事务:通过@Transactional注解或XML配置声明事务规则。
编程式事务:通过TransactionTemplate或PlatformTransactionManager手动管理事务。

10. Spring中事务的本质
Spring事务的本质是通过AOP(面向切面编程)动态代理实现的。Spring通过代理对象拦截方法调用,并在方法执行前后添加事务管理逻辑。事务的底层实现依赖于数据库的事务机制(如JDBC事务或JTA事务)。


11. BeanFactory和ApplicationContext的理解
BeanFactory:
是Spring的核心接口,用于管理Bean的生命周期和依赖注入。
是一个轻量级的容器,提供了基本的Bean管理功能。
按需加载Bean,性能较高,但功能相对简单。
ApplicationContext:
是BeanFactory的扩展,提供了更丰富的功能。
支持事件发布、国际化、资源访问等功能。
在启动时加载所有单例Bean,适合大型应用,但启动速度较慢。

12. BeanFactoryPostProcessor的理解
BeanFactoryPostProcessor是一个接口,用于在Spring容器加载Bean定义后、实例化Bean之前进行自定义处理。它允许修改BeanDefinition的属性或添加新的Bean定义。常见的实现包括PropertySourcesPlaceholderConfigurer(用于解析占位符)。

13. BeanPostProcessor的理解
BeanPostProcessor是一个接口,用于在Bean初始化前后进行自定义处理:
postProcessBeforeInitialization:在Bean初始化之前调用。
postProcessAfterInitialization:在Bean初始化之后调用。
它常用于AOP、事务代理等场景。


15. Spring和SpringMVC的关系
Spring是SpringMVC的基础,提供了依赖注入、事务管理等功能。SpringMVC是Spring在Web层的扩展,专注于Web请求处理。SpringMVC依赖于Spring的核心功能,同时提供了Web开发的便利性。


16. DelegatingFilterProxy的理解
DelegatingFilterProxy是一个Servlet过滤器,用于将Servlet的过滤器功能委托给Spring管理的Bean。它允许Spring管理的Bean实现Filter接口,并通过Spring的依赖注入功能增强过滤器的功能。


17. SpringBoot自动装配原理的理解
SpringBoot通过@SpringBootApplication注解启动自动装配:
@ComponentScan:扫描组件。
@EnableAutoConfiguration:启用自动配置。
@Conditional注解:根据条件加载特定的Bean。
@Configuration类:定义自动配置的规则。
@Bean方法:提供Bean的定义。
SpringBoot通过这些机制,结合META-INF/spring.factories文件,自动加载和配置所需的Bean,从而实现“零配置”的开发体验。

18.Spring Boot 能处理的最大请求数量
Spring Boot 的最大并发处理能力由 Tomcat 的线程池和连接池配置决定。默认情况下,Spring Boot 使用的 Tomcat 配置如下:
最大工作线程数 (server.tomcat.threads.max): 200
最小空闲线程数 (server.tomcat.threads.min-spare): 10
最大连接数 (server.tomcat.max-connections): 8192
最大等待队列长度 (server.tomcat.accept-count): 100
因此,默认情况下,Spring Boot 能同时处理的请求数量为 max-connections + accept-count = 8192 + 100 = 8292。
如何配置 Spring Boot 的并发处理能力
如果需要调整 Spring Boot 的并发处理能力,可以通过修改 application.yml 或 application.properties 文件中的相关配置来实现。例如:
server:
  tomcat:
    threads:
      max: 300  # 最大工作线程数
      min-spare: 20  # 最小空闲线程数
    max-connections: 10000  # 最大连接数
    accept-count: 200  # 最大等待队列长度
配置后的处理能力计算
根据上述配置,Spring Boot 能同时处理的请求数量为:
max-connections + accept-count = 10000 + 200 = 10200。

19.spring 事务失效原因

1. 方法调用方式问题
同一类中的方法调用:如果在同一个类中,通过 this 调用被 @Transactional 注解的方法,事务会失效。因为 Spring 的事务是通过动态代理实现的,直接调用 this 方法会绕过代理逻辑。

2. 方法修饰符问题
方法非 public:@Transactional 注解只能作用于 public 方法。如果方法是 private、protected 或默认访问级别,事务将失效。

3. 类未被 Spring 管理
如果类没有被 Spring 托管(例如缺少 @Service 或 @Component 注解),事务注解将不会生效。
解决方案:确保类被 Spring 管理,例如添加 @Service 或 @Component 注解。

4. 异常被捕获
如果在事务方法中捕获了异常,但没有重新抛出,Spring 事务管理器无法感知异常,从而不会触发事务回滚。
解决方案:在捕获异常后,重新抛出异常,或者在 @Transactional 注解中明确指定 rollbackFor 属性。

5. 事务传播机制问题
如果事务方法的传播机制设置不当(如 REQUIRES_NEW),可能会导致事务失效。
解决方案:根据业务需求合理选择事务传播机制,例如使用默认的 REQUIRED。

6. 多线程调用
如果事务方法在多线程环境中被调用,每个线程会获取独立的事务上下文,导致事务不生效。
解决方案:尽量避免在事务方法中使用多线程,或者使用分布式事务解决方案。

相关文章:

Spring 面试题

Autowired和Resource两个注解的区别 Autowired: 是Spring框架的注解,用于依赖注入。 默认按照类型(byType)注入,如果存在多个相同类型的Bean,则会报错。 可以通过Qualifier指定具体的Bean名称。 如果没有匹…...

Linux设备驱动开发-SPI驱动开发详解(包含设备树处理详细过程)

基础知识及 SPI 相关结构体介绍 引脚:MISO(master 输入,slave 输出),MOSI(master 输出,slave 输入),片选引脚,SCK(时钟) 控制寄存器&…...

物联网平台建设方案一

系统概述 构建物联网全域支撑服务能力,为实现学院涵盖物联网设备的全面感知、全域互联、全程智控、全域数字基底、全过程统筹管理奠定基础,为打造智能化提供坚实后台基石。 物联网平台向下接入各种传感器、终端和网关,向上通过开放的实施分…...

java23种设计模式-桥接模式

桥接模式(Bridge Pattern)学习笔记 🌟 定义 桥接模式属于结构型设计模式,将抽象部分与实现部分分离,使它们可以独立变化。通过组合代替继承的方式,解决多维度的扩展问题,防止类爆炸。 &#x…...

springboot实现文件上传到华为云的obs

一、前言 有时在项目中需要使用一些存储系统来存储文件&#xff0c;那么当项目要接入obs作为存储系统时&#xff0c;就会利用obs来进行文件的上传下载&#xff0c;具体实现如下。 二、如何通过obs实现文件的上传下载&#xff1f; 1.添加相关的obs的maven依赖。 <dependency…...

【红队利器】单文件一键结束火绒6.0

关于我们 4SecNet 团队专注于网络安全攻防研究&#xff0c;目前团队成员分布在国内多家顶级安全厂商的核心部门&#xff0c;包括安全研究领域、攻防实验室等&#xff0c;汇聚了行业内的顶尖技术力量。团队在病毒木马逆向分析、APT 追踪、破解技术、漏洞分析、红队工具开发等多个…...

DeepSeek 助力 Vue 开发:打造丝滑的滚动动画(Scroll Animations)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

Compose 动画,让页面动起来

Compose 动画&#xff0c;让页面动起来 概述高级别动画APIAnimatedVisibilityMutableTransitionStateModifier.animateEnterExit自定义Enter/Exit动画 AnimatedContentContentTransform自定义动画SizeTranstion定义大小动画定义子元素动画自定义Enter/Exit动画 CrossfadeModifi…...

Windows CMD 命令大全(Complete List of Windows CMD Commands)

Windows CMD 命令大全&#xff1a; Windows CMD 是 Windows 系统内置的命令行工具&#xff0c;用于执行各种命令和管理任务。 称为Command Prompt。它提供了一个通过键入命令来与计算机系统进行交互的方式&#xff0c;类似于早期的DOS操作系统。以下是 CMD 的基础知识和常用命…...

DeepSeek在MATLAB上的部署与应用

在科技飞速发展的当下&#xff0c;人工智能与编程语言的融合不断拓展着创新边界。DeepSeek作为一款备受瞩目的大语言模型&#xff0c;其在自然语言处理领域展现出强大的能力。而MATLAB&#xff0c;作为科学计算和工程领域广泛应用的专业软件&#xff0c;拥有丰富的工具包和高效…...

IP代理在网络数据挖掘中的关键作用(AI大模型数据采集版)

在当今人工智能飞速发展的时代&#xff0c;AI大模型的训练需要海量且多样化的数据。然而&#xff0c;在数据采集过程中&#xff0c;常常面临诸多挑战&#xff0c;而IP代理在其中发挥着至关重要的作用。 数据采集的多样性是影响AI大模型性能的关键因素。如果数据来源单一&#x…...

pandas数据的导出

数据导出 将数据导出到CSV文件 数据对象.to_csv(filepath,sep"",indexFalse,encoding)参数1:文件的路径参数2:分隔符&#xff0c;默认是 ,参数3:是否保留索引 默认 Ture参数4:文件编码代码 &#xff1a; # 将数据导出到CSV # 引用 pandas import pandas as pd # 定…...

Claude-3.7-Sonnet:Cursor 的新引擎,解锁编码与推理的未来

引言 claude-3.7-sonnet 是 Anthropic 最新发布的大型语言模型&#xff0c;于 2025 年 2 月 24 日推出&#xff0c;并已集成到 Cursor AI 平台中。Cursor 是一个 AI 驱动的集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在通过 AI 增强开发者的生产力。claude-3.7-so…...

JavaScript函数-函数的两种声明方式

在JavaScript中&#xff0c;函数是构建复杂逻辑和实现代码重用的基本单元。了解如何正确地定义和使用函数对于任何JavaScript开发者来说都是至关重要的。本文将详细介绍JavaScript函数的两种主要声明方式&#xff1a;函数声明&#xff08;Function Declaration&#xff09;和函…...

微服务即时通信系统---(六)语音识别子服务

目录 功能设计 模块划分 业务接口/功能示意图 服务实现流程思想 服务代码实现 编写proto文件 服务端创建子类(SpeechRecognitionServiceImpl)完成RPC服务调用函数重写 SpeechRecognize(语音识别) 服务端完成语音识别子服务类(SpeechRecognitionServer) 注意 …...

【Java 8】Lambda表达式介绍

目录 1、Lambda简介 2、语法介绍 3、Lambda表达式示例 3.1、无参数的 Lambda 表达式 3.2、单个参数的 Lambda 表达式 3.3、多个参数的 Lambda 表达式 3.4、带语句块的 Lambda 表达式 4、Lambda使用场景 4.1、替代匿名内部类 4.2、集合操作 4.3、排序 4.4、函数式接口…...

2011-2019年各省电视节目综合人口覆盖率数据

2011-2019年各省电视节目综合人口覆盖率数据 1、时间&#xff1a;2011-2019年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;行政区划代码、地区、年份、电视节目综合人口覆盖率(%) 4、范围&#xff1a;31省 5、指标解释&#xff1a;电视节目综合人口覆盖…...

便捷高效的免费 PDF 文件处理帮手

​软件介绍 今天要给大家推荐一款超实用的 PDF 工具箱。它的优势十分突出&#xff0c;完全免费且没有任何使用限制。 安装起来毫不费力&#xff0c;下载完成后&#xff0c;直接打开就能使用。软件界面简洁大方&#xff0c;操作便捷顺手。其核心功能涵盖三大板块&#xff1a;一…...

DeepSeek引领目标检测新趋势:如何通过知识蒸馏优化模型性能

目录 一、知识蒸馏是什么&#xff1f; 二、知识蒸馏在目标检测中的重要性 提升实时性 跨任务迁移学习 三、如何使用知识蒸馏优化目标检测&#xff1f; 训练教师模型 生成软标签 训练学生模型 调节温度参数 多教师蒸馏&#xff08;可选&#xff09; 四、案例分享 定…...

“深入解析 SQL Server 子查询:从基础到应用”

目录 引言什么是子查询&#xff1f; 子查询的定义子查询的类型 子查询的使用 标量子查询多行子查询多列子查询相关子查询 子查询的性能优化子查询的实际案例总结 引言 在 SQL Server 中&#xff0c;子查询是一种强大的工具&#xff0c;允许我们在一个查询中嵌套另一个查询&am…...

375_C++_cloud手机推送,添加人脸告警信息到任务队列中,UploadAlarmPush是典型的工厂模式应用,为什么使用工厂模式完成这部分代码

一:AlarmFaceInfo的应用 让我帮你解析这个lambda表达式的实现: // ...................... .h ...........................// struct RsMsgPushTask_S : public Task{AlarmType_E mainAlarmType;unsigned int subAlarmType;DateTime alarmTime...

Vue进阶之AI智能助手项目(二)——项目评审与架构设计

AI智能助手项目 基于Vue的最佳实践main.tsApp.vue主应用给子应用下发功能语言language,theme设置及appStore状态管理状态管理router路由index.tspermission.ts基于Vue的最佳实践 src目录概览 api 接口,基于接口可以做 状态处理,interceptorassets/public 静态资源component…...

LambdaQueryWrapper在Mybatis-plus中的应用

LambdaQueryWrapper 是 MyBatis-Plus 中非常强大的工具&#xff0c;用于构建类型安全的查询条件。它利用 Java 的 Lambda 表达式&#xff0c;使得查询条件的编写更加简洁和直观。 public R getAppArticleCategoryPage(ParameterObject Page page,ParameterObject AppArticleCa…...

DeepSeek AI人工智能该如何学习?

人工智能&#xff08;Artificial Intelligence, AI&#xff09;是当今科技领域的热门话题&#xff0c;它涵盖了机器学习、深度学习、自然语言处理、计算机视觉等多个子领域。 作为中国科技发展的核心方向之一&#xff0c;AI在国家战略规划中占据了重要地位&#xff0c;特别是在…...

element ui的select选择框

我们首先先试一下&#xff0c;这个东西怎么玩的 <el-select v-model"select" change"changeSelect"><el-option value"香蕉"></el-option><el-option value"菠萝"></el-option><el-option value&quo…...

解决Value of type ‘AVCodecContext‘ has no member ‘channels‘ 的问题

在 FFmpeg 7.1 中,AVCodecContext 的 channels 和 channel_layout 字段已经被移除,取而代之的是 AVChannelLayout 结构。因此,代码需要进行调整以适应新的 API。 以下是如何正确设置 AVCodecContext 和 AVCodecParameters 的方法。 1. 问题分析 在 FFmpeg 7.1 中: AVCode…...

【STM32H743IIT6】STM32H7的ADC时钟频率设置问题 —— 网上大多文章未注意到的要点!

前言 我使用的是定时器触发ADC采样。最近在想达到ADC的最高采样率的时候&#xff0c;发现一直却卡在1Msps上不去&#xff0c;直到在硬汉嵌入式的论坛里才发现了答案&#xff1a;[ADC] STM32H743/H750的Y版和V版芯片ADC的主频区别 这篇文章就详细的讲一下这个问题&#xff0c;这…...

GGUF 文件格式全解析

在机器学习领域&#xff0c;模型的存储和部署一直是关键环节。随着大语言模型 (LLM) 的广泛应用&#xff0c;如何高效地存储和加载这些复杂的模型成为一个亟待解决的问题。GGUF&#xff08;GGML Universal Format&#xff09;作为一种新兴的二进制文件格式&#xff0c;旨在解决…...

剑指offer - 面试题11 旋转数组的最小数字

题目链接&#xff1a;旋转数组的最小数字 第一种&#xff1a;正确写法&#xff08;num[m]和nums[r]比较&#xff09; class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param nums int整型v…...

JNA基础使用,调用C++返回结构体

C端 test.h文件 #pragma oncestruct RespInfo {char* path;char* content;int statusCode; };extern "C" { DLL_EXPORT void readInfo(char* path, RespInfo* respInfo); }test.cpp文件 #include "test.h"void readInfo(char* path, RespInfo* respInfo…...

Typora的Github主题美化

[!note] Typora的Github主题进行一些自己喜欢的修改&#xff0c;主要包括&#xff1a;字体、代码块、表格样式 美化前&#xff1a; 美化后&#xff1a; 一、字体更换 之前便看上了「中文网字计划」的「朱雀仿宋」字体&#xff0c;于是一直想更换字体&#xff0c;奈何自己拖延症…...

计算机网络模型-TCP/IP协议簇

目录 1. OSI 参考模型 2. TCP/IP 5层协议簇 3. 数据传输过程 4. OSI模型vsTCP/IP模型 5. 工作设备和协议 1. OSI 参考模型 OSI 参考模型 OSI 参考模型 7层参考协议&#xff1a;同层使用相同协议&#xff0c;下层为上层提供服务 再往每一层填网络协议的时候&#xff0c;表…...

ros进阶——强化学习倒立摆的PG算法实现

项目地址&#xff1a;https://github.com/chan-yuu/cartpole_ws git clone https://github.com/chan-yuu/cartpole_ws依赖安装&#xff1a; xterm等 python3.8 torch等上一节中我们定义了很多ros工具&#xff0c;在这里我们将进行验证。 对于launch_robot_test.py来说&#x…...

BUU41 [GYCTF2020]FlaskApp1【SSTI】

题目&#xff1a; 加密处没啥事&#xff0c;但是解密的地方提交{{7*7}}就会返回报错界面&#xff0c;顺便把代码也爆出来了 text_decode base64.b64decode(text.encode()) 先将字符串 text编码为字节对象&#xff0c;然后使用 base64.b64decode 函数对这个字节对象进行 Base…...

pandas读取数据

pandas读取数据 导入需要的包 import pandas as pd import numpy as np import warnings import oswarnings.filterwarnings(ignore)读取纯文本文件 pd.read_csv 使用默认的标题行、逗号分隔符 import pandas as pd fpath "./datas/ml-latest-small/ratings.csv" 使…...

React + TypeScript 全栈开发最佳实践

React TypeScript 全栈开发最佳实践 一、环境搭建与项目初始化 node.js和npm的安装请参考我的文章。 1.1 脚手架选择与工程创建 # 使用Vite 5.x创建ReactTS项目&#xff08;2025年主流方案&#xff09; npx create-vitelatest my-app --template react-ts cd my-app npm in…...

RK3399 Android7双WiFi功能实现

在Android系统里面,WiFi功能STA和AP模式是互斥的,而现在越来越多的WiFi模组或者芯片能支持并发模式,即STA+P2P、STA+STA或者STA+AP模式组合。不管是单WiFi并发,还是双WiFi模组,想让STA和AP两个模式同时运行,对于Android7来说,是需要修改到系统源码,才能让APP层用Androi…...

前端包管理工具进化论:npm vs yarn vs pnpm 深度对比

前端包管理工具进化论&#xff1a;npm vs yarn vs pnpm 深度对比 一、工具定位与核心差异二、功能特性对比三、优缺点深度解析四、性能实测对比&#xff08;示例数据&#xff09;五、选型建议六、未来趋势 一、工具定位与核心差异 npm (Node Package Manager) Node.js 官方捆绑…...

绕过information_schema与order by注入以及seacsmv9注入

一:information_schema绕过 1,、sys数据库包含了许多视图&#xff0c;这些视图整合了来自information_schema和performance_schema的数据&#xff0c;攻击者可以利用这些视图来获取数据库结构信息。 -- 获取所有数据库名 SELECT DISTINCT table_schema FROM sys.schema_table_…...

在LangFlow中集成OpenAI Compatible API类型的大语言模型

一、背景与核心价值 从Dify换到这个langflow真的时各种的不适应啊。 就比如这个OpenAI Compatible API,这不应该是基本操作嘛? 算了,服了,习惯了就好了。咱闲言少叙,正片开始: LangFlow作为LangChain的可视化开发工具,其最大优势在于无需编写代码即可构建复杂的大模型…...

PING命令TTL解析

在 ping 命令中&#xff0c;TTL&#xff08;Time to Live&#xff0c;生存时间&#xff09; 是 IP 数据包的核心字段之一&#xff0c;用于控制数据包在网络中的生命周期。以下是针对 TTL 的简明解析&#xff1a; 1. TTL 的核心作用 防循环机制&#xff1a;TTL 是一个计数器&a…...

Hadoop 基础原理

Hadoop 基础原理 基本介绍Hadoop 的必要性Hadoop 核心组件Hadoop 生态系统中的附加组件 HDFSHDFS 集群架构HDFS 读写流程HDFS 写流程HDFS 读流程 NameNode 持久化机制 MapReduce底层原理示例 Hadoop 是一个由 Apache 基金会开发的分布式系统基础架构&#xff0c;主要解决海量数…...

蓝桥杯单片机基础部分——1.5基础模块代码升级

前言 之前的蓝桥杯单片机基础部分——1、基础模块代码发现有的同学不太会使&#xff0c;这样的话就给他们都封装一下函数&#xff0c;额外封装一下蜂鸣器和继电器&#xff0c;这就全了&#xff0c;到时候的逻辑只要没问题就没啥事了 LED灯模块 现在&#xff0c;给这里封装一个…...

PyTorch常用函数总结(持续更新)

本文主要记录自己在用 PyTorch复现经典模型 过程中遇到的一些函数及用法&#xff0c;以期对 常见PyTorch函数 更加熟练~ 官方Docs&#xff1a;PyTorch documentation — PyTorch 2.6 documentation 目录 数据层面 torch.sign(tensor) torch.tensor(np.eye(3)[y]) torch.on…...

Docker 常用命令大全

一、启动类 1. 启动 docker systemctl start docker 2. 关闭 docker systemctl stop docker 3. 重新启动 docker systemctl restart docker 4. docker 设置自启动 systemctl enable docker 5. 查看 docker 运行状态 systemctl status docker 6. 查看 docker 版本号等信息 docke…...

单片机裸机编程:状态机与其他高效编程框架

在单片机裸机编程中&#xff0c;状态机是一种非常强大的工具&#xff0c;能够有效管理复杂的逻辑和任务切换。除了状态机&#xff0c;还有其他几种编程模式可以在不使用 RTOS 的情况下实现高效的程序设计。以下是一些常见的方法&#xff1a; 1. 状态机编程 状态机通过定义系统…...

TCP,http,WebSocket

TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;和HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;都是网络通信中的重要协议&#xff0c;但它们在网络协议栈的不同层次上工作&#xff0c;各自负责不同…...

gotool在线工具集

1. 包含各种 sql 处理 2. 包含 json 处理 3. 包含 图片处理 4. 跨平台传输 gotool...

HBuilder X中,uni-app、js的延时操作及定时器

完整源码下载 https://download.csdn.net/download/luckyext/90430165 在HBuilder X中&#xff0c;uni-app、js的延时操作及定时器可以用setTimeout和setInterval这两个函数来实现。 1.setTimeout函数用于在指定的毫秒数后执行一次函数。 例如&#xff0c; 2秒后弹出一个提…...

ow rank decomposition如何用于矩阵的分解

1. 什么是矩阵分解和低秩分解 矩阵分解是将一个矩阵表示为若干结构更简单或具有特定性质的矩阵的组合或乘积的过程。低秩分解&#xff08;Low Rank Decomposition&#xff09;是其中一种方法&#xff0c;旨在将原矩阵近似为两个或多个秩较低的矩阵的乘积&#xff0c;从而降低复…...