C#综合知识点面试集锦
在.NET Core 框架的面试中,可能会涉及基础概念、核心组件、依赖注入、性能优化等多方面的知识点,以下为你详细介绍:
基础概念
- .NET Core 概述
- 定义与特点:解释 .NET Core 是一个跨平台、开源、模块化且高性能的通用开发框架,能在 Windows、Linux、macOS 等操作系统上运行。比如开发一个跨平台的物联网数据采集应用,就可借助其跨平台特性在不同系统的设备上部署。
- 与 .NET Framework 的区别:说明 .NET Framework 主要用于 Windows 系统,是一个庞大且相对封闭的框架;而 .NET Core 具有跨平台性、开源、模块化等优势,适合构建云原生、微服务等应用。例如在开发面向云服务的应用时,.NET Core 能更好地适应不同的云环境。
- 跨平台原理
- 中间语言(IL)与即时编译(JIT):解释 .NET Core 代码先编译成中间语言(IL),在运行时通过即时编译器(JIT)将 IL 转换为目标平台的机器码。不同平台有对应的运行时环境来支持 JIT 编译,保证了代码的跨平台运行。
- 运行时环境抽象层:阐述 .NET Core 通过运行时环境抽象层(CoreCLR)屏蔽了不同操作系统和硬件的差异,提供统一的编程接口,使开发者无需关注底层细节。
核心组件
- .NET Core 运行时(CoreCLR)
- 功能与作用:强调 CoreCLR 负责管理内存分配与回收、线程调度、异常处理等底层操作,为应用程序提供稳定的运行环境。例如在高并发的 Web 应用中,CoreCLR 能高效地管理线程,确保应用的响应性能。
- 垃圾回收机制:介绍 .NET Core 采用的分代垃圾回收机制,将对象分为不同的代(如第 0 代、第 1 代、第 2 代),根据对象的存活时间和使用频率进行不同策略的回收,以提高回收效率。
- .NET Core SDK
- 组成与用途:说明 SDK 包含编译器(如 Roslyn)、调试器、NuGet 包管理器等工具,用于创建、编译、测试和部署 .NET Core 应用程序。例如使用
dotnet new
命令创建项目,dotnet build
命令编译项目。 - 项目模板:提及 SDK 提供多种项目模板,如控制台应用、Web 应用、类库等,方便开发者快速搭建项目骨架。
- 组成与用途:说明 SDK 包含编译器(如 Roslyn)、调试器、NuGet 包管理器等工具,用于创建、编译、测试和部署 .NET Core 应用程序。例如使用
- ASP.NET Core
- 架构与特性:阐述 ASP.NET Core 是一个模块化、高性能的 Web 开发框架,采用了中间件模式,可灵活组合各种功能组件。其特性包括内置依赖注入、高性能的 Kestrel 服务器、跨平台支持等。例如在开发 RESTful API 时,可利用其内置的路由和模型绑定功能快速实现接口。
- MVC 与 Razor Pages:解释 MVC(Model - View - Controller)模式将应用程序分为模型、视图和控制器三个部分,实现了代码的分离和复用;Razor Pages 是一种基于页面的编程模型,适合快速开发简单的 Web 应用。
- Entity Framework Core
- ORM 原理:说明 Entity Framework Core 是一个对象关系映射(ORM)框架,通过将数据库表映射为实体类,将数据库操作转换为对实体对象的操作,简化了数据库开发。例如定义一个
User
实体类,就可方便地进行用户数据的增删改查。 - 数据库支持与迁移:提及它支持多种数据库,如 SQL Server、MySQL、PostgreSQL 等,并提供数据库迁移功能,可通过代码自动更新数据库结构。
- ORM 原理:说明 Entity Framework Core 是一个对象关系映射(ORM)框架,通过将数据库表映射为实体类,将数据库操作转换为对实体对象的操作,简化了数据库开发。例如定义一个
依赖注入
- 概念与作用
- 定义:解释依赖注入(DI)是一种设计模式,通过将对象的依赖关系从对象内部转移到外部,实现对象之间的解耦。例如一个
UserService
类依赖于UserRepository
接口,通过 DI 可在运行时将具体的UserRepository
实现注入到UserService
中。 - 优点:强调 DI 提高了代码的可测试性、可维护性和可扩展性,方便进行单元测试和代码重构。
- 定义:解释依赖注入(DI)是一种设计模式,通过将对象的依赖关系从对象内部转移到外部,实现对象之间的解耦。例如一个
- .NET Core 中的依赖注入
- 服务注册与生命周期:说明在 .NET Core 中,可通过
IServiceCollection
接口注册服务,服务有三种生命周期:单例(Singleton)、作用域(Scoped)和瞬态(Transient)。例如单例服务在整个应用程序生命周期内只创建一个实例,瞬态服务每次请求都会创建一个新实例。 - 注入方式:介绍构造函数注入、属性注入和方法注入三种方式,其中构造函数注入是最常用的方式。
- 服务注册与生命周期:说明在 .NET Core 中,可通过
异步编程
- 异步编程模型
async
和await
关键字:解释async
用于声明一个异步方法,await
用于等待一个异步操作完成。例如在处理 I/O 密集型任务(如数据库查询、网络请求)时,使用异步方法可避免阻塞线程,提高应用程序的性能。Task
和Task<T>
:说明Task
表示一个异步操作,Task<T>
表示一个有返回值的异步操作。可通过Task.Run
方法创建一个新的异步任务。
- 应用场景与优势
- 提高性能:阐述在高并发的 Web 应用中,异步编程可充分利用服务器资源,提高响应速度和吞吐量。例如在处理大量用户请求时,异步处理数据库查询可减少线程等待时间。
- 避免阻塞:强调在 GUI 应用中,异步编程可避免界面卡顿,保证用户体验。
性能优化
- 内存管理优化
- 减少对象创建:说明频繁创建对象会增加垃圾回收的负担,可通过对象池、缓存等技术减少对象的创建。例如在处理大量字符串拼接时,使用
StringBuilder
可避免频繁创建字符串对象。 - 合理使用数据结构:提及选择合适的数据结构可提高内存使用效率和操作性能。例如在需要快速查找元素时,使用
Dictionary
比List
更高效。
- 减少对象创建:说明频繁创建对象会增加垃圾回收的负担,可通过对象池、缓存等技术减少对象的创建。例如在处理大量字符串拼接时,使用
- 异步与并行编程优化
- 异步 I/O 操作:强调在处理 I/O 密集型任务时,使用异步 I/O 可释放线程资源,提高系统的并发处理能力。例如在进行文件读写、网络通信时,使用异步方法可避免线程阻塞。
- 并行处理:说明在处理 CPU 密集型任务时,可使用并行编程(如
Parallel.For
、Parallel.ForEach
)充分利用多核处理器的性能。
部署与发布
- 部署方式
- 自包含部署(SCD):解释自包含部署会将 .NET Core 运行时和应用程序的所有依赖项打包在一起,部署到目标机器上无需安装 .NET Core 运行时,但包体积较大。适用于对运行环境要求较高、需要独立运行的场景。
- 框架依赖部署(FDD):说明框架依赖部署只包含应用程序的代码和第三方依赖项,需要在目标机器上安装 .NET Core 运行时,包体积较小。适用于多个应用共享运行时的场景。
- 容器化部署
- Docker 与 .NET Core:介绍 Docker 是一种容器化技术,可将 .NET Core 应用程序及其依赖项打包成一个独立的容器,实现快速部署和迁移。例如使用 Dockerfile 定义应用程序的容器化配置。
- Kubernetes 编排:提及 Kubernetes 是一个容器编排平台,可用于管理和调度多个 Docker 容器,实现高可用、可伸缩的应用部署。
测试与调试
- 单元测试
- 测试框架:说明 .NET Core 支持多种单元测试框架,如 NUnit、xUnit 和 MSTest。开发者可根据项目需求选择合适的框架编写单元测试用例。
- 测试策略:强调编写单元测试应遵循独立、可重复、快速执行的原则,对应用程序的各个模块进行全面测试。
- 调试技巧
- 使用调试工具:介绍 Visual Studio 和 Visual Studio Code 提供的调试功能,如设置断点、单步执行代码、查看变量值等,可帮助开发者定位和解决代码中的问题。
- 日志记录:提及在应用程序中添加日志记录功能,可在调试和生产环境中记录重要信息,方便排查问题。例如使用
Microsoft.Extensions.Logging
进行日志记录。
以下从基础语法、面向对象编程、集合与泛型、异步编程、LINQ、设计模式等多个方面为你列举一些常见的 C# 项目面试题及参考答案:
基础语法
1. 请解释值类型和引用类型的区别
- 存储方式:值类型变量直接存储数据的值,而引用类型变量存储的是数据对象的引用(内存地址)。
- 内存位置:值类型通常存储在栈上(局部变量),而引用类型存储在堆上。
- 复制行为:值类型复制时是复制数据本身,而引用类型复制时只是复制引用,两个变量指向同一个对象。
- 示例代码:
csharp
// 值类型
int a = 10;
int b = a;
b = 20;
// a 仍然是 10,因为是值复制
Console.WriteLine(a); // 引用类型
class MyClass
{public int Value { get; set; }
}
MyClass obj1 = new MyClass { Value = 10 };
MyClass obj2 = obj1;
obj2.Value = 20;
// obj1.Value 变为 20,因为指向同一个对象
Console.WriteLine(obj1.Value);
2. const
和 readonly
关键字有什么区别?
const
:是编译时常量,必须在声明时初始化,且其值在编译时就确定,不能在运行时更改。通常用于表示固定不变的值,如数学常数。readonly
:是运行时常量,可以在声明时初始化,也可以在构造函数中初始化,一旦初始化后就不能再更改。适用于在运行时才能确定值的常量。- 示例代码:
csharp
// const 示例
public const int MaxCount = 100;// readonly 示例
public class MyClass
{public readonly int ReadonlyValue;public MyClass(int value){ReadonlyValue = value;}
}
面向对象编程
1. 请解释继承、封装和多态的概念,并举例说明
- 继承:允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。例如,
Employee
类继承自Person
类,Employee
类可以继承Person
类的Name
和Age
属性。
csharp
public class Person
{public string Name { get; set; }public int Age { get; set; }
}
public class Employee : Person
{public string EmployeeId { get; set; }
}
- 封装:将数据和操作数据的方法封装在一起,隐藏对象的内部实现细节,只对外提供必要的接口。例如,一个
BankAccount
类将账户余额封装起来,通过Deposit
和Withdraw
方法来操作余额。
csharp
public class BankAccount
{private decimal balance;public void Deposit(decimal amount){balance += amount;}public void Withdraw(decimal amount){if (amount <= balance){balance -= amount;}}
}
- 多态:允许不同的对象对同一消息做出不同的响应。可以通过继承和接口实现。例如,定义一个
Shape
基类和Circle
、Rectangle
等子类,每个子类可以重写Draw
方法来实现不同的绘制逻辑。</
相关文章:
C#综合知识点面试集锦
在.NET Core 框架的面试中,可能会涉及基础概念、核心组件、依赖注入、性能优化等多方面的知识点,以下为你详细介绍: 基础概念 .NET Core 概述 定义与特点:解释 .NET Core 是一个跨平台、开源、模块化且高性能的通用开发框架,能在 Windows、Linux、macOS 等操作系统上运行…...
宝珀(Blancpain):机械制表的三项重大创新(中英双语)
宝珀(Blancpain):机械制表的创新先驱 本文灵感来源: 瑞士钟表业决定逆流而上,杀出一条生路,宝珀更是坚定地宣称“我们永远只做机械表”,它拒绝了石英技术。制表师们在提高腕表的技艺和品质、实…...
稠密架构和稀疏架构
稠密架构和稀疏架构 flyfish 稠密架构 参数使用方面:稠密架构中的大部分参数在每次计算时都会被使用。也就是说,对于输入的每一个样本,模型的所有或大部分参数都会参与到计算过程中。计算特点:计算密集,需要对大量的…...
SpringCloud - Gateway 网关
前言 该博客为Sentinel学习笔记,主要目的是为了帮助后期快速复习使用 学习视频:7小快速通关SpringCloud 辅助文档:SpringCloud快速通关 源码地址:cloud-demo 一、简介 官网:https://spring.io/projects/spring-clou…...
【如何掌握CSP-J 信奥赛中的排序算法】
要掌握CSP-J信奥赛中的排序算法,需要系统学习基础排序算法的原理、实现和应用场景。以下是分阶段的学习路径和建议: 一、必掌握的排序算法清单 CSP-J阶段需重点掌握以下算法(按考察频率排序): 冒泡排序(B…...
3. CSS中@scope
说说你对 CSS 中scope 的了解 <style>/* scope规则 */scope (#app) {.box {width: 100px;height: 100px;background-color: red;}} </style> <div id"app"><div class"box"></div> </div>CSS 中的scope 是一个相对较新…...
基于雷达和摄像头的无人机轨迹识别与激光照射控制研究
标题:基于雷达和摄像头的无人机轨迹识别与激光照射控制研究 内容:1.摘要 摘要:本文研究了基于雷达和摄像头的无人机轨迹识别与激光照射控制。通过对雷达和摄像头数据的融合处理,实现了对无人机轨迹的精确识别。同时,利用激光照射技术对无人机…...
Response 和 Request 介绍
怀旧网个人博客网站地址:怀旧网,博客详情:Response 和 Request 介绍 1、HttpServletResponse 1、简单分类 2、文件下载 通过Response下载文件数据 放一个文件到resources目录 编写下载文件Servlet文件 public class FileDownServlet exten…...
读 DeepSeek-R1 论文笔记
DeepSeek-R1:通过强化学习激发大语言模型的推理能力 DeepSeek-AI 摘要 我们推出第一代推理模型DeepSeek-R1-Zero和DeepSeek-R1。DeepSeek-R1-Zero作为无需监督微调(SFT)预训练阶段、直接通过大规模强化学习(RL)训练的基础模型,展现出卓越的推理能力。…...
【算法-动态规划】、魔法卷轴: 两次清零机会整个数组最大累加和
【算法-动态规划】、魔法卷轴: 两次清零机会整个数组最大累加和 文章目录 一、dp1.1 题意理解1.2 整体思路1.3 具体思路1.4 代码 二、多语言解法 一、dp 1.1 题意理解 nums 数组, 有正负0, 使用最多两次魔法卷轴, 希望使数组整体的累加和尽可能大. 求尽可能大的累加和 其实就…...
蓝桥杯C语言组:分治问题研究
蓝桥杯C语言组分治问题研究 摘要 本文针对蓝桥杯C语言组中的分治问题展开深入研究,详细介绍了分治算法的原理、实现方法及其在解决复杂问题中的应用。通过对经典例题的分析与代码实现,展示了分治算法在提高编程效率和解决实际问题中的重要作用ÿ…...
npm介绍(Node Package Manager)(JavaScript生态中最流行的包管理工具,主要用于Node.js项目的依赖管理)
文章目录 **核心功能****常用命令****关键文件****npm vs 其他工具****最佳实践**官方资源 npm(Node Package Manager)是 JavaScript 生态中最流行的包管理工具,主要用于 Node.js 项目的依赖管理。以下是核心要点: 核心功能 依赖管…...
小白零基础如何搭建CNN
1.卷积层 在PyTorch中针对卷积操作的对象和使用的场景不同,如有1维卷积、2维卷积、 3维卷积与转置卷积(可以简单理解为卷积操作的逆操作),但它们的使用方法比较相似,都可以从torch.nn模块中调用,需要调用的…...
【分布式架构理论3】分布式调用(1):负载均衡
文章目录 零、三种不同的负载均衡一、常见行业负载均衡方案1. 电商与互联网服务2. 金融与支付系统3. 云计算与分布式存储 二、负载均衡策略概述1. 无状态负载均衡(强调公平性)2. 有状态的负载均衡(强调正确性) 三、 总结 零、三种…...
QT 5.15.2 开发地图ArcGIS 100.15.6(ArcGIS Runtime SDK for Qt)
QT 5.15.2ArcGIS下载 Downloads | ArcGIS Runtime API for Qt | Esri Developer ArcGIS安装(略)参考 Display a map | ArcGIS Maps SDK for Qt | Esri Developer QT新建工程 步骤1 步骤2 步骤3 步骤4(选择Topographic不需要KEY) 步骤5&a…...
细读 React | React Router 路由切换原理
2022 北京冬奥会开幕式 此前一直在疑惑,明明 pushState()、replaceState() 不触发 popstate 事件,可为什么 React Router 还能挂载对应路由的组件呢? 翻了一下 history.js 源码,终于知道原因了。 源码 假设项目路由设计如下&#…...
kubernetes学习-Helm 包管理器(十二)
一、Helm解释 Helm:Kubernetes 的软件包管理器 Helm 被誉为查找、分享及使用 Kubernetes 软件组件的最佳途径。作为 Kubernetes 包的管理工具,Helm 专注于管理名为 chart 的软件包。以下是 Helm 所具备的核心功能: 创建新 chart࿱…...
PbootCMS最新代码注入漏洞(CNVD-2025-01710、CVE-2024-12789)
PbootCMS是一套高效、简洁、 强悍的可免费商用的CMS源码,使用PHPMySQL开发,能够满足各类企业网站开发建设的需要。 国家信息安全漏洞共享平台于2025-01-14公布该程序存在代码注入漏洞。 漏洞编号:CNVD-2025-01710、CVE-2024-12789 影响产品…...
网络安全与AI:数字经济发展双引擎
在2025年年初,一场科技攻防战引发了全球关注。国产人工智能DeepSeek的爆火,伴随着大规模的网络攻击事件,将网络安全的重要性推上了风口浪尖。 在此背景下,我们计划探讨网络安全与人工智能如何为数字经济发展提供强大动力。网络安…...
【DeepSeek × Postman】请求回复
新建一个集合 在 Postman 中创建一个测试集合 DeepSeek API Test,并创建一个关联的测试环境 DeepSeek API Env,同时定义两个变量 base_url 和 api_key 的步骤如下: 1. 创建测试集合 DeepSeek API Test 打开 Postman。点击左侧导航栏中的 Co…...
如何将网站提交百度收录完整SEO教程
百度收录是中文网站获取流量的重要渠道。本文以我的网站,www.mnxz.fun(当然现在没啥流量) 为例,详细讲解从提交收录到自动化维护的全流程。 一、百度收录提交方法 1. 验证网站所有权 1、登录百度搜索资源平台 2、选择「用户中心…...
【unity实战】实现摄像机跟随效果
考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…...
使用Hexo部署NexT主体网站
一.使用git提交文件 参考: 从零开始搭建个人博客(超详细) - 知乎 致谢! 第一种:本地没有 git 仓库 直接将远程仓库 clone 到本地;将文件添加并 commit 到本地仓库;将本地仓库的内容push到远程仓…...
使用 AlexNet 实现图片分类 | PyTorch 深度学习实战
前一篇文章,CNN 卷积神经网络处理图片任务 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于 强化学习必修课:引领人工智能新时代【梗直哥瞿炜】 使用 AlexNet 实现图片分类…...
ES6 Proxy 用法总结以及 Object.defineProperty用法区别
Proxy 是 ES6 引入的一种强大的拦截机制,用于定义对象的基本操作(如读取、赋值、删除等)的自定义行为。相较于 Object.defineProperty,Proxy 提供了更灵活、全面的拦截能力。 1. Proxy 语法 const proxy new Proxy(target, hand…...
初次体验Tauri和Sycamore (2)
原创作者:庄晓立(LIIGO) 原创时间:2025年2月8日(首次发布时间) 原创链接:https://blog.csdn.net/liigo/article/details/145520637 版权所有,转载请注明出处。 关键词:Sy…...
Qt - 地图相关 —— 2、Qt调用百度在线地图功能示例全集,包含线路规划、地铁线路查询等(附源码)
效果:由于录制软件导致exe显示不正常,实际运行没有任何问题。 作者其他相关文章链接: Qt - 地图相关 —— 1、加载百度在线地图(附源码)...
ffmpeg基本用法
一、用法 ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... 说明: global options:全局选项,应用于整个 FFmpeg 进程,它们通常不受输入或输出部分的限制。 infile options:输入选…...
redis底层数据结构——链表
文章目录 定义内部实现总结 定义 链表提供了高效的节点重排能力,以及顺序性的节点访间方式,并且可以通过增删节点来灵活地调整链表的长度。 作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为Redis使用的C语言并没有…...
Repo命令使用
repo 命令与 git 类似,但它主要用于管理多个 Git 仓库的操作。以下是等效的 repo 命令: 1. 获取新仓库代码 克隆仓库 repo init -u <manifest_url> -b <branch_name> repo sync repo init:初始化 repo,指定远程清单…...
React 高级教程
使用 React 高级组件(HOC)实现的完整项目示例,包含权限控制、数据加载状态处理、性能优化等常见高级功能。创建一个简单的博客系统: // 项目结构: src/ |-- components/ | |-- ArticleList.jsx | |-- Article.jsx | |-- Header.jsx | |-- LoginForm.jsx | |-- U…...
Linux: ASoC 声卡硬件参数的设置过程简析
文章目录 1. 前言2. ASoC 声卡设备硬件参数2.1 将 DAI、Machine 平台的硬件参数添加到声卡2.2 打开 PCM 流时将声卡硬件参数配置到 PCM 流2.3 应用程序对 PCM 流参数进行修改调整 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失&am…...
网络基础知识与配置
目录 网络基础知识 (一)网络的概念 (二)网络协议 (三)网络拓扑结构 (四)IP地址和子网掩码 显示和配置网络接口 (一)在Windows系统中 (二&a…...
【STM32】ADC|多通道ADC采集
本次实现的是ADC实现数字信号与模拟信号的转化,数字信号时不连续的,模拟信号是连续的。 1.ADC转化的原理 模拟-数字转换技术使用的是逐次逼近法,使用二分比较的方法来确定电压值 当单片机对应的参考电压为3.3v时,0~ 3.3v(模拟信…...
centos 7 关于引用stdatomic.h的问题
问题:/tmp/tmp4usxmdso/main.c:6:23: fatal error: stdatomic.h: No such file or directory #include <stdatomic.h> 解决步骤: 1.这个错误是因为缺少C编译器的标准原子操作头文件 stdatomic.h。在Linux系统中,我们需要安装开发工具…...
用语言模型探索语音风格空间:无需情感标签的情 感TTS
用语言模型探索语音风格空间:无需情感标签的情感TTS 原文:Exploring speech style spaces with language models: Emotional TTS without emotion labels 今天我们要说的是 一种无需情感标签的情感TTS。提出了一个基于FastSpeech2的E-TTS框架࿰…...
将Excel中的图片保存下载并导出
目录 效果演示 注意事项 核心代码 有需要将excel中的图片解析出来保存到本地的小伙子们看过来!!! 效果演示 注意事项 仅支持xlsx格式:此方法适用于Office 2007及以上版本的.xlsx文件,旧版.xls格式无法使用。 图片名…...
2.11日学习总结
题目一 : AC代码 #include <stdio.h> #include <stdlib.h>// 定义长整型 typedef long long ll;// 定义求最大值和最小值的宏函数 #define MAX(a, b) ((a) > (b) ? (a) : (b)) #define MIN(a, b) ((a) < (b) ? (a) : (b))// 定义数组和变量 ll…...
安川伺服控制器MP系列优势特点及行业应用
在工业自动化领域,运动控制器的性能直接决定了设备的精度、效率和可靠性。作为全球领先的运动控制品牌,安川电机伺服控制器凭借其卓越的技术优势和广泛的应用场景,正在为智能制造注入强劲动力! MP3100:主板型运动控制…...
【腾讯地图】录入经纬度功能 - 支持地图选点
目录 效果展示代码引入地图服务地址弹框中输入框 - 支持手动输入经纬度/地图选点按钮地图选点弹框组件 当前文章 - 地图功能与 https://blog.csdn.net/m0_53562074/article/details/143677335 功能类似 效果展示 代码 引入地图服务地址 public/index.html <!-- 互联网地图…...
Mybatis快速入门与核心知识总结
Mybatis 1. 实体类(Entity Class)1.1 实体类的定义1.2 简化编写1.2.1 Data1.2.2 AllArgsConstructor1.2.3 NoArgsConstructor 2. 创建 Mapper 接口2.1 Param2.2 #{} 占位符2.3 SQL 预编译 3. 配置 MyBatis XML 映射文件(可选)3.1 …...
RK3568平台开发系列讲解(调试篇)网卡队列均衡负载
🚀返回专栏总目录 文章目录 一、RPS 的介绍1. RPS 的工作原理2. RPS 配置3. 启用和调优 RPS4. RPS 优势二、下行测试iperf测试沉淀、分享、成长,让自己和他人都能有所收获!😄 RPS(Receive Packet Steering) 是一种用于提高网络接收性能的技术,通常用于多核处理器系统中…...
Matlab机械手碰撞检测应用
本文包含三个部分: Matlab碰撞检测的实现URDF文件的制作机械手STL文件添加夹爪 一.Matlab碰撞检测的实现 首先上代码 %% 检测在结构环境中机器人是否与物体之间发生碰撞情况,如何避免? % https://www.mathworks.com/help/robotics/ug/che…...
【前端】几种常见的跨域解决方案代理的概念
几种常见的跨域解决方案&代理的概念 一、常见的跨域解决方案1. 服务端配置CORS(Cross-Origin Resource Sharing):2. Nginx代理3. Vue CLI配置代理:4 .uni-app在manifest.json中配置代理来解决:5. 使用WebSocket通讯…...
服务器有多少线程?发起一个请求调用第三方服务,是新增加一个请求吗?如果服务器线程使用完了怎么办?
目录 1. 服务器有多少线程? (1)服务器类型 (2)配置参数 (3)硬件资源 2. 发起一个请求调用第三方服务,是新增加一个线程吗? (1)同步调用 (2)异步调用 (3)HTTP 客户端 3. 如果服务器线程使用完了怎么办? (1)请求被拒绝 (2)性能下降 (3)解决方案…...
【Spring AI】基于SpringAI+Vue3+ElementPlus的QA系统实现一
整理不易,请不要吝啬你的赞和收藏。 1. 前言 这是 SpringAI 系列的第二篇文章,这篇文章将介绍如何基于 RAG 技术,使用 SpringAI Vue3 ElementPlus 实现一个 Q&A 系统。本文使用 deepseek 的 DeepSeek-V3 作为聊天模型,使用…...
前端快速生成接口方法
大家好,我是苏麟,今天聊一下OpenApi。 官网 : umijs/openapi - npm 安装命令 npm i --save-dev umijs/openapi 在根目录(项目目录下)创建文件 openapi.config.js import { generateService } from umijs/openapi// 自…...
【Qt 常用控件】多元素控件(QListWidget、QTabelWidgt、QTreeWidget)
**View和**Widget的区别? **View的实现更底层,**Widget是基于**View封装实现的更易用的类型。 **View使用MVC结构 MVC是软件开发中 经典的 软件结构 组织形式,软件设计模式。 M(model)模型。管理应用程序的核心数据和…...
java 读取sq3所有表数据到objectNode
1.实现效果:将sq3中所有表的所有字段读到objectNode 对象中,兼容后期表字段增删情况,数据组织形式如下图所示: 代码截图: 代码如下: package com.xxx.check.util;import java.sql.*; import java.util.Arr…...
react redux用法学习
参考资料: https://www.bilibili.com/video/BV1ZB4y1Z7o8 https://cn.redux.js.org/tutorials/essentials/part-5-async-logic AI工具:deepseek,通义灵码 第一天 安装相关依赖: 使用redux的中间件: npm i react-redu…...