Unity基础学习(九)输入系统全解析:鼠标、键盘与轴控制
目录
一、Input类
1. 鼠标输入
2. 键盘输入
3. 默认轴输入
(1) 基础参数
(2)按键绑定参数
(3)输入响应参数
(4)输入类型与设备参数
(5)不同类型轴的参数差异
4. 其他输入设备
二、屏幕相关
Unity Screen 类常用功能总结
一、Input类
1. 鼠标输入
-
位置获取
Input.mousePosition
:返回屏幕坐标(左下角为原点,x向右,y向上,z始终为0)。 -
按键检测
GetMouseButtonDown(0/1/2)
:左键/右键/中键按下瞬间触发。GetMouseButtonUp(0/1/2)
:按键抬起时触发。GetMouseButton(0/1/2)
:按键持续按住时触发。 -
滚轮检测
Input.mouseScrollDelta
:y值为1
(向上滚动)或-1
(向下滚动),用于控制缩放或页面滚动。
2. 键盘输入
-
按键检测
GetKeyDown(KeyCode.W)/GetKeyDown("q")
:按下瞬间触发(字符串需小写)。GetKeyUp(KeyCode.W)
:抬起时触发。GetKey(KeyCode.W)
:持续按住时触发。想什么键就KeyCode.出来使用,这里面是一个枚举类型,枚举了所有的按键。
-
组合键:需自行检测多键状态,如
if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.C))
。
3. 默认轴输入
这个轴在这里看:Edit->Project Setting->Input Manager
这个轴是什么呢?在 Unity 的 Input Manager 中,轴(Axes) 是一组预定义的输入配置,用于抽象化不同的输入设备(如键盘、鼠标、手柄)的操作。
如果你想自己添加额外的轴,你直接将上面的Size进行改动即可
这里是对上面的介绍:
轴名称 | 作用 | 默认输入键 | 代码示例 |
---|---|---|---|
Horizontal | 控制左右方向(如角色移动、菜单选择) | 键盘 A/D 、手柄左摇杆左右 | Input.GetAxis("Horizontal") |
Vertical | 控制上下方向(如角色移动、菜单选择) | 键盘 W/S 、手柄左摇杆上下 | Input.GetAxis("Vertical") |
Fire1 | 触发攻击、交互等动作 | 鼠标左键、键盘 Ctrl 、手柄 X 键 | Input.GetButton("Fire1") |
Fire2 | 次要攻击或特殊技能(如射击游戏中的瞄准) | 鼠标右键、键盘 Alt 、手柄 Y 键 | Input.GetButton("Fire2") |
Fire3 | 备用功能(如手雷或道具使用) | 键盘 Space 、手柄 B 键 | Input.GetButton("Fire3") |
Jump | 跳跃动作 | 键盘 Space 、手柄 A 键 | Input.GetButtonDown("Jump") |
Mouse X | 鼠标横向移动(控制视角左右旋转) | 鼠标左右移动 | Input.GetAxis("Mouse X") |
Mouse Y | 鼠标纵向移动(控制视角上下旋转) | 鼠标上下移动 | Input.GetAxis("Mouse Y") |
Mouse ScrollWheel | 鼠标滚轮滚动(如缩放镜头、切换武器) | 鼠标滚轮 | Input.GetAxis("Mouse ScrollWheel") |
Submit | 确认操作(如菜单按钮点击) | 键盘 Enter 、手柄 Start 键 | Input.GetButtonDown("Submit") |
Cancel | 取消操作(如返回上一级菜单) | 键盘 Esc 、手柄 Back 键 | Input.GetButtonDown("Cancel") |
随便点击一个轴,可以看出里面有很多参数:
所以我们来看看这些参数是什么:
(1) 基础参数
Name:
作用:轴的唯一标识符,代码中通过 Input.GetAxis("轴名") 或 Input.GetButton("轴名") 调用。通用性:所有轴必填,需唯一。例如 Horizontal、Fire1、Mouse X。
Descriptive Name / Negative Descriptive Name
作用:编辑器中的显示名称(仅用于界面提示,不影响功能)。通用性:所有轴可选,通常留空。
(2)按键绑定参数
Negative Button / Positive Button
作用:负方向(减少值)和正方向(增加值)的按键绑定。
适用轴类型:
按键触发轴(如 Fire1
):通常只绑定一个键(如 Ctrl
),负按钮可能留空。
连续轴(如 Horizontal
):绑定 A/D
或 ←/→
。
注意:某些轴(如 Mouse X
)可能不需要手动绑定按键(由输入类型决定)。
Alt Negative Button / Alt Positive Button
作用:备用按键绑定(兼容多设备或键位布局)。
示例:Horizontal
可同时支持方向键 ←/→
和 A/D
。适用性:仅对需要多键位支持的轴有意义(如移动、菜单操作)。
小结:就是说,Unity会识别你上面这两种输入方式,只要满足一种,就都会判定为是轴触发。主按键(Negative/Positive Button)和备用按键(Alt Negative/Alt Positive Button)是并行生效的,没有优先级差异。
(3)输入响应参数
Gravity
作用:松开按键后,轴值归零的速度(单位:单位/秒)。
通用性:
按键触发轴(如
Jump
):通常无效(按键是瞬时触发)。连续轴(如
Horizontal
):模拟惯性停止(如角色滑行)。
默认值:3
(数值越大,归零越快)。
Dead
作用:输入死区范围,忽略微小值(防止摇杆漂移或键盘抖动)。
通用性:键盘/鼠标:通常设为
0.001
(避免误触发)。手柄摇杆:必填(如
0.2
表示摇杆偏移小于 20% 时不响应)。
Sensitivity
作用:输入灵敏度,控制轴值变化速度(单位:单位/秒)。
通用性:
按键触发轴(如
Fire1
):通常无效(按键是开关式输入)。连续轴(如
Mouse X
):数值越大,输入响应越快(如3
表示每秒达到最大值)。
Snap(✓)
作用:同时按下正负方向按键时,轴值立即归零。适用场景:角色移动中按 A+D
时停止。通用性:仅对需要方向冲突处理的轴有意义(如 Horizontal
、Vertical
)。
Invert(✓)
作用:反转输入方向(正负值互换)。示例:默认 Mouse Y
向上移动为正值,勾选后向下移动为正值。通用性:适用于需要反向操作的轴(如视角控制)。
(4)输入类型与设备参数
Type
作用:定义输入源类型。
选项:
Joystick Axis:手柄摇杆或触发器(如
Horizontal
绑定手柄左摇杆)。Mouse Movement:鼠标移动(如
Mouse X
、Mouse Y
)。Key or Mouse Button:键盘或鼠标按键(如
Horizontal
绑定A/D
)。
注意:不同类型会影响其他参数的可用性(如 Mouse Movement
无需绑定按键)。
Axis
作用:指定摇杆的物理轴向(仅当 Type = Joystick Axis
时生效)。
选项:
4th/5th/6th Axis:手柄的额外输入(如油门、方向盘)。
X/Y/Z Axis:摇杆的水平、垂直或其他轴向。
Joy Num
作用:指定手柄编号(支持多手柄设备)。
选项:Joystick 1/2/3...:绑定特定手柄。Get Motion from all Joysticks:所有手柄通用。
(5)不同类型轴的参数差异
轴类型 | 关键参数 | 示例 | 注意事项 |
---|---|---|---|
连续轴 | Gravity, Sensitivity, Dead | Horizontal , Vertical | 用于模拟平滑移动(如角色控制)。 |
按键触发轴 | Negative/Positive Button | Fire1 , Jump | 瞬时触发,无需响应参数(Gravity/Sensitivity)。 |
鼠标移动轴 | Type = Mouse Movement | Mouse X , Mouse Y | 自动读取鼠标位移,无需手动绑定按键。 |
手柄摇杆轴 | Type = Joystick Axis, Axis, Dead | Horizontal (手柄左摇杆) | 需设置死区(Dead)防止漂移。 |
滚轮轴 | Type = Mouse Movement | Mouse ScrollWheel | 输入值为滚轮滚动速度(Input.mouseScrollDelta )。 |
小结:如果你的输入是一定范围的值 就获取轴,如果知识点击,则获取Button
-
常见轴
Horizontal
(AD键):返回-1(左)到1(右),控制左右移动。Vertical
(WS键):返回-1(下)到1(上),控制前后移动。Mouse X/Y
:鼠标移动速度,控制视角旋转。 -
方法区别
GetAxis
:平滑过渡值(如0.3)。GetAxisRaw
:直接返回-1、0、1(无过渡)。演示代码:
void Update(){Debug.Log("Horizontal的值Raw" + Input.GetAxisRaw("Horizontal"));Debug.Log("鼠标的位置的值" + Input.mousePosition);Debug.Log("获取一个开火按键" + Input.GetButton("Fire1"));Debug.Log("获取鼠标滚轮" + Input.GetAxis("Mouse ScrollWheel"));Debug.Log("获取到Mouse X" + Input.GetAxis("Mouse X"));}
4. 其他输入设备
-
任意键检测
Input.anyKey
:任意键长按。Input.anyKeyDown
:任意键按下瞬间。 -
移动设备触摸
Input.touches
:获取所有触点信息(位置、移动偏移)。TouchPhase
:触点状态(Began/Moved/Ended等)。启用多点触控:
Input.multiTouchEnabled = true
。 -
手柄
GetButton("joystick button 0")
:检测特定按钮。 -
陀螺仪
启用:
Input.gyro.enabled = true
。获取重力/旋转数据:
gyro.gravity
、gyro.rotationRate
。 -
加速度计
Input.acceleration
:获取设备加速度(需移动端支持)。
二、屏幕相关
分辨率(Resolution) 指显示设备(如屏幕、图像、摄像头)中 像素(Pixel) 的总数量,通常表示为 横向像素数 × 纵向像素数。示例:1920×1080 表示横向有 1920 个像素,纵向有 1080 个像素,总像素数为 2,073,600(约 200 万像素)。
单位:像素(Pixel),缩写为 px。
类型 | 描述 | 示例 |
---|---|---|
物理分辨率 | 显示设备的实际像素数量(硬件固定值)。 | 手机屏幕的 2560×1440 。 |
逻辑分辨率 | 软件或系统使用的像素数量(可动态调整,如窗口模式下的分辨率)。 | Unity 中 Screen.width 。 |
像素密度(PPI) | 每英寸屏幕包含的像素数量,值越高显示越细腻(如手机屏幕 vs 电视屏幕)。 | 手机屏幕 PPI 通常 > 300。 |
宽高比 | 横向与纵向像素的比例,常见如 16:9(宽屏)、4:3(传统屏)。 | 1920×1080 的宽高比为 16:9。 |
Unity Screen 类常用功能总结
属性/方法 | 作用 | 常用性 | 注意事项 |
---|---|---|---|
Screen.currentResolution | 获取当前屏幕的物理分辨率(设备实际分辨率)。 | 常用 | 返回 Resolution 结构体,包含 width 和 height 。 |
Screen.width | 获取当前游戏窗口的宽度(非设备分辨率)。 | 常用 | 游戏运行时窗口的实际宽度,受全屏/窗口模式影响。 |
Screen.height | 获取当前游戏窗口的高度(非设备分辨率)。 | 常用 | 游戏运行时窗口的实际高度,受全屏/窗口模式影响。 |
Screen.sleepTimeout | 设置屏幕休眠模式。 | 常用 | 设为 SleepTimeout.NeverSleep 可防止屏幕休眠(移动端常用)。 |
Screen.fullScreen | 设置是否全屏运行(布尔值)。 | 不常用 | 仅控制全屏开关,不指定模式(需配合 fullScreenMode 使用)。 |
Screen.fullScreenMode | 设置全屏模式类型。 | 不常用 | 可选值: - ExclusiveFullScreen (独占全屏)- FullScreenWindow (无边框窗口全屏)- MaximizedWindow (最大化窗口)- Windowed (窗口模式)。 |
Screen.autorotateToLandscapeLeft | 允许屏幕自动转向为横屏(Home 键在左侧)。 | 不常用 | 移动端专用,需在 Player Settings 中启用自动旋转。 |
Screen.autorotateToLandscapeRight | 允许屏幕自动转向为横屏(Home 键在右侧)。 | 不常用 | 同上。 |
Screen.autorotateToPortrait | 允许屏幕自动转向为竖屏(正常方向)。 | 不常用 | 同上。 |
Screen.autorotateToPortraitUpsideDown | 允许屏幕自动转向为倒置竖屏(上下颠倒)。 | 不常用 | 同上。 |
Screen.orientation | 强制指定屏幕方向(覆盖自动旋转)。 | 不常用 | 可选值: - Portrait (竖屏)- LandscapeLeft (横屏左)等。 |
Screen.SetResolution() | 设置窗口分辨率和显示模式。 | 不常用 | 示例:SetResolution(1920, 1080, true) 或SetResolution(1920, 1080, FullScreenMode.ExclusiveFullScreen) 。移动端不推荐使用。 |
相关文章:
Unity基础学习(九)输入系统全解析:鼠标、键盘与轴控制
目录 一、Input类 1. 鼠标输入 2. 键盘输入 3. 默认轴输入 (1) 基础参数 (2)按键绑定参数 (3)输入响应参数 (4)输入类型与设备参数 (5)不同类型轴的参…...
如何清除windows 远程桌面连接的IP记录
问题 在远程桌面连接后,会在输入列表留下历史IP记录,无用的IP多了会影响我们查找效率,也不安全。 现介绍如何手动删除这些IP记录。 解决方案 1、打开注册表 按 Win R,输入 regedit,回车定位到远程桌面记录的注册表…...
C#参数数组全解析
在C#编程中,参数数组是一个重要的概念,它为方法调用提供了更大的灵活性。下面我们将详细介绍参数数组的相关内容。 参数数组的基本规则 在本书所述的参数类型里,通常一个形参需严格对应一个实参,但参数数组不同,它允…...
设计模式-策略模式(Strategy Pattern)
设计模式-策略模式(Strategy Pattern) 一、概要 在软件设计中,策略模式(Strategy Pattern)是一种非常重要的行为型设计模式。它的核心思想是将算法或行为封装在不同的策略类中,使得它们可以互换ÿ…...
LeetCode面试题 17.21 直方图的水量
题目 解答 package leetcode.editor.cn;//leetcode submit region begin(Prohibit modification and deletion) class Solution {public int trap(int[] height) {int length height.length;if (length 0) {return 0;}int[] leftMax new int[length];leftMax[0] 0;for (i…...
数据库系统概论(七)初识SQL与SQL基本概念
数据库系统概论(七)初识SQL与SQL基本概念 前言一、什么是SQL语言?1.1 SQL的产生和发展1.2 SQL的特点1.3 SQL的基本概念1.3.1 数据库相关“术语”(类比Excel表格)1.3.2 四大类核心语句(后面会详细讲…...
Jenkins Maven 带权限 搭建方案2025
1、使用docker搭建jenkins version: 3.8services:jenkins:image: jenkins_lzh:1.0container_name: jenkinsports:- "8080:8080" # Jenkins Web UI- "50000:50000" # Jenkins Agent通信端口volumes:- ./jenkins_home:/var/jenkins_home # 持久化Jenkins…...
服务器配置错误导致SSL/TLS出现安全漏洞,如何进行排查?
SSL/TLS 安全漏洞排查与修复指南 一、常见配置错误类型 弱加密算法与密钥问题 使用弱密码套件(如DES、RC4)或密钥长度不足(如RSA密钥长度<2048位),导致加密强度不足。 密钥管理不当(如私钥未加密存…...
【高并发】Celery + Redis异步任务队列方案提高OCR任务时的并发
线程池处理OCR仍然会阻塞请求的原因主要有以下几点,以及为什么CeleryRedis是更好的解决方案: 1. 线程池的阻塞本质 请求-响应周期未分离:即使使用线程池,HTTP请求仍需要等待线程池任务完成才能返回响应。当所有线程都繁忙时&#…...
c/c++的Libevent 和OpenSSL构建HTTPS客户端详解(附带源码)
使用 Libevent 和 OpenSSL 构建 HTTPS 客户端详解 在现代网络应用中,HTTPS 协议的普及使得安全通信成为标配。Libevent 是一个功能强大且广泛应用的事件通知库,能够帮助开发者编写高性能、可移植的网络程序。然而,libevent 本身并不直接处理…...
关于fastjson与fastjson2中toJava操作的区别
关于fastjson与fastjson2中toJava操作的区别 一、场景二、 区别1、前置条件2、对比1. fastjson2. fastjson2 三、解决方案 一、场景 在Java中会有将json转为实体类的需求,其中fastjson是一个常用的选择,今天在升级项目依赖的过程中,将fastjs…...
PX4开始之旅(二)通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信
核心知识点:通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信 1. 通俗易懂的解释 想象一下,MAVLink 就像是无人机(飞控)和地面站(QGroundControl)之间约定好的一种“语言”。这种语言有很多标准的“…...
Docker组件详解:核心技术与架构分析
Docker详解:核心技术与架构分析 Docker作为一种容器化技术,已经彻底改变了软件的开发、交付和部署方式。要充分理解和利用Docker的强大功能,我们需要深入了解其核心组件以及它们如何协同工作。本文将详细介绍Docker的主要组件、架构设计以及…...
uni-app,小程序中的addPhoneContact,保存联系人到手机通讯录
文章目录 方法详解简介 基本语法参数说明基础用法使用示例平台差异说明注意事项最佳实践 方法详解 简介 addPhoneContact是uni-app框架提供的一个实用API,用于向系统通讯录添加联系人信息。这个方法在需要将应用内的联系人信息快速保存到用户设备通讯录的场景下非…...
uniapp小程序轮播图高度自适应优化详解
在微信小程序开发过程中,轮播图组件(swiper)是常用的UI元素,但在实际应用中经常遇到高度不匹配导致的空白问题。本文详细记录了一次轮播图高度优化的完整过程,特别是针对固定宽高比图片的精确适配方案。 问题背景 在开发"零工市场&quo…...
赛季7靶场 - Environment
本系列仅说明靶场的攻击思路,不会给出任何的详细代码执行步骤,因为个人觉得找到合适的工具以实现攻击思路的能力也非常重要。 1.Nmap扫描发现80和22端口 2.访问80端口,使用katana查看js代码,快速发现laravel框架。 【*】希望知道…...
JVM——即时编译
分层编译模式:动态平衡启动速度与执行效率 分层编译是现代JVM(如HotSpot、GraalVM)实现高性能的核心策略之一,其核心思想是根据代码的执行热度动态选择不同的编译层次,实现启动速度与运行效率的最佳平衡。以HotSpot虚…...
武汉火影数字|数字科技馆打造:开启科技探索新大门
足不出户,就能畅游科技的奇幻世界,你相信吗?数字科技馆就能帮你实现!在这个数字化的时代,数字科技馆如同一颗璀璨的新星,照亮了我们探索科学的道路。 那么,数字科技馆究竟是什么呢? …...
升级 Azure Kubernetes 服务群集的关键注意事项
升级 Azure Kubernetes 服务 (AKS) 集群不仅是为了保持最新状态,更是为了保护您的工作负载、提升性能并降低运营风险。但如果操作不当,可能会导致停机、工作负载中断,甚至访问问题。 在本指南中,我们将介绍: 生产环境…...
数据类型详解(布尔值、整型、浮点型、字符串等)-《Go语言实战指南》
Go语言是一门静态强类型语言,所有变量在编译时必须明确其数据类型。本章将详细介绍Go的基础数据类型,帮助你理解并正确使用它们。 一、数据类型分类总览 Go 的基础数据类型可以分为以下几类: 类型分类代表类型示例布尔类型booltrue, false整…...
单片机-STM32部分:9-1、触控检测芯片
飞书文档https://x509p6c8to.feishu.cn/wiki/ILBsw4EaQiWaUukWrxEcO4XZnXc 传统物理按键 原理 玻璃盖板下通过一个触摸PAD连接到触摸芯片中,触摸PAD可以用PCB铜箔、金属片、平顶圆柱弹簧、导电棉、导电油墨、导电橡胶、导电玻璃的ITO层等。 当有人体手指靠近触摸按…...
从 JMS 到 ActiveMQ:API 设计与扩展机制分析(二)
(三)消息结构与 API 操作 JMS 消息结构:JMS 消息主要由消息头(Header)、属性(Properties)和消息体(Body)三部分组成。消息头包含了许多预定义的字段,用于标识…...
CSS display: none
在 CSS 中,display: none; 是一个用于控制元素显示与隐藏的属性值,其核心作用是完全从文档流中移除元素,使元素在页面中不占据任何空间,也不会被渲染。以下是详细解释: 核心作用 隐藏元素:使元素在页面中…...
vison transformer vit 论文阅读
An Image is Worth 16x16 Words 20年的论文看成10年的哈斯我了 [2010.11929] 一张图像胜过 16x16 个单词:用于大规模图像识别的转换器 --- [2010.11929] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 为什么transformer好训练&am…...
dropout层
从你提供的图片来看,里面讨论了 Dropout 层,让我为你解释一下它的工作原理和作用。 Dropout 层是什么? Dropout 是一种常用的正则化技术,用于避免神经网络的 过拟合(overfitting)。过拟合是指模型在训练数…...
openssl中BIO的使用
BIO是OpenSSL的一个重要的结构和概念,是对数据IO与传递处理的一种类型抽象和功能封装,这里所说的数据IO与传递的“介质”包括:内存、文件、日志、标准设备、网络socket等,“处理”包括简单、加/解密、摘要、ssl协议下的读/写等的数…...
电动汽车充电设施可调能力聚合评估与预测
电动汽车充电设施可调能力聚合评估与预测 项目概述 本项目基于论文《大规模电动汽车充换电设施可调能力聚合评估与预测》(鲍志远,胡泽春),实现了电动汽车充电设施可调能力的聚合评估与预测方法。 主要文件 real_data_model.m: 使用真实数据实现LSTM线…...
Git clone时出现SSL certificate problem unable to get local issuer certificate
正确解决方法 git config --global http.sslVerify false错误解决方法:(主要是看错了嘿嘿,但是如果是 OpenSSL SSL_read: Connection was reset, errno 10054 Failed to connect to github.com port 443: Timed out 原…...
requests库
模拟请求获取网页源代码 如下 import requestsr requests.get(https://spa1.scrape.center/page/1) print(r.text) 源码如下 GET请求 示例网站为 https://httpbin.org import requests r requests.get(https://httpbin.org/) print(r.text) 所显示的结果如下 {"a…...
基于springboot的海洋环保知识分享系统的设计与实现
博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言࿰…...
安科瑞ADL3000-E-A/KC三相交流电能表CE认证导轨表
1 概述 ADL3000-E-A 是一款为供电系统、工矿企业以及公用事业单位设计的智能电表,用于计算耗电量并管理用电需求。它具备高精度、体积小以及安装简便的特点。它将所有电气参数的测量与综合电能计量及管理功能集成在一起,可提供过去 12 个月的各类数据&a…...
红黑树算法笔记
文章目录 红黑树 (Red-Black Tree) 学习笔记0. 节点结构与哨兵节点1. 什么是红黑树?2. 红黑树的五个核心性质3. 为什么需要红黑树?4. 红黑树的基本操作a. 查找 (Search)b. 插入 (Insert)c. 删除 (Delete) 5. 维护平衡的关键操作a. 变色 (Recoloring)b. 旋…...
【Axios】解决Axios下载二进制文件返回空对象的问题
【Axios】解决Axios下载二进制文件返回空对象的问题 问题背景 在一个基于Vue 3的项目中,我们使用Axios下载Excel文件,但遇到了一个奇怪的问题:文件能成功下载下来,但打开时显示内容为[object Object]无法使用。 当我们执行下载代码: const response = await downloadT…...
2.MySQL数据库操作
一.MySQL数据库介绍 数据库目前标准指令集是SQL,即结构化查询语言。SQL语言主要由以下几部分组成 DDL(数据定义语言):用来建立数据库、数据库对象和定义字段,如create、alter、drop。 DML(数据操纵语言&…...
01.three官方示例+编辑器+AI快速学习webgl_animation_keyframes
实例:examples/webgl_animation_keyframes.html 在这里插入图片描述 重点关注: AnimationMixer:管理模型的所有动画AnimationClip:表示一个完整的动画ClipAction:控制动画的播放状态(播放、暂停、速度等&am…...
在 Spring Boot 中实现动态线程池的全面指南
动态线程池是一种线程池管理方案,允许在运行时根据业务需求动态调整线程池参数(如核心线程数、最大线程数、队列容量等),以优化资源利用率和系统性能。在 Spring Boot 中,动态线程池可以通过 Java 的 ThreadPoolExecut…...
餐饮行业新风口:上门厨师服务系统的技术实现路径
上门做饭正在成为下一个万亿级风口!当外卖平台被预制菜攻陷,当年轻人对着料理包无可奈何,一个全新的餐饮模式正在悄然崛起。 我们的市场调研显示,83%的消费者无法分辨外卖是否使用预制菜,76%的年轻人愿意为透明烹饪过程…...
odoo-049 Pycharm 中 git stash 后有pyc 文件,如何删除pyc文件
文章目录 问题描述解决思路正确的去除 git 跟踪 pyc文件的做法 问题描述 查看本地 stash 列表 stash 后有很多 pyc 文件都被 git 追踪了,这样不合理,而且等 unstash 的时候就会有问题 解决思路 尝试方法: 递归地删除指定文件夹及其子目录中…...
线程同步机制
synchronized 实现线程同步的关键字,用来防止多个线程同时访问某个代码块或方法,避免并发冲突和数据不一致。通过持有一把唯一的对象锁,谁拿到了谁就能执行,谁没拿到只能等待锁释放。 1. 修饰实例方法(锁当前实例&…...
YOLO目标检测算法
文章目录 前言一、目标检测算法简介1、传统目标检测算法(1)R-CNN算法简介(2)Fast R-CNN算法简介(3)Faster R-CNN算法简介 2、目标检测中的算法设计范式(1)one-stage(2&am…...
【官方题解】StarryCoding 入门教育赛 2 | acm | 蓝桥杯 | 新手入门
比赛传送门: 本场比赛开始时题面存在一些问题,私密马赛! A.池化【入门教育赛】 根据题目所给公式计算即可。 #include "bits/stdc.h"signed main() {int t; std::cin >> t;while (t --) {int l, k, s, p; std::cin >&…...
《让歌声跨越山海:Flutter借助Agora SDK实现高质量连麦合唱》
对于Flutter开发者而言,借助Agora SDK实现这一功能,不仅能为用户带来前所未有的社交体验,更是在激烈的市场竞争中脱颖而出的关键。 Agora SDK作为实时通信领域的佼佼者,拥有一系列令人瞩目的特性,使其成为实现高质量连…...
1.3.2 linux音频PulseAudio详细介绍
PulseAudio 是一个在 Linux 及其他类 Unix 操作系统中广泛使用的声音服务器(Sound Server),它为不同的音频应用程序提供了一种中间层,以方便管理和控制音频流。下面将详细介绍 PulseAudio 的相关内容,包括其基本概念、…...
8.1.Kubernetes进阶
目录 一、Kubernetes核心原理深度解析 架构设计精髓 • 控制平面组件(API Server、etcd、Controller Manager、Scheduler)协作流程 • 数据平面(kubelet、容器运行时、CNI/CSI插件)核心工作机制 API对象与声明式模型 • CRD&…...
electron 结合 react(cra创建的) 创建桌面应用和打包桌面应用
我说一下 react 结合 electron 如果打包和使用,以及其中可能会遇到的问题,这里只做简单功能的演示 我们先通过 cra 创建一个 react 项目,然后安装相关依赖,之后启动 npx create-react-app react_electron cd react_electron np…...
C++23 views::chunk_by (P2443R1) 详解
文章目录 引言C23 范围库概述范围视图(Range Views)范围算法(Range Algorithms)范围适配器(Range Adapters) std::views::chunk_by 介绍基本概念特性使用场景 示例代码简单示例自定义谓词示例 总结 引言 在…...
MySQL核心内容【持续更新中】
MySQL核心内容 文章目录 MySQL核心内容1.MySQL核心内容目录2.MySQL知识面扩展3.MySQL安装4.MySQL配置目录介绍Mysql配置远程ip连接 5.MySQL基础1.MySQL数据类型1.数值类型2.字符串类型3.日期和时间类型4.enum和set 2.MySQL运算符1.算数运算符2.逻辑运算符3.比较运算符 3.MySQL完…...
【高级IO】多路转接之单线程Reactor
这里写目录标题 一.Epoll的两种工作模式二.单线程Reactor1.Connection模块2.Reactor服务器模块2.1初始化Init2.2启动循环服务器Loop2.3事件派发Dispatcher2.4连接管理器Accepter2.5事件管理器Receiver2.6发送管理器Sender 3.上层业务模块定制协议业务处理 代码 一.Epoll的两种工…...
基于设备指纹识别的反爬虫技术:给设备办 “身份证”
传统的封禁 IP、验证码等反爬虫手段已逐渐失效,基于设备指纹识别的反爬虫技术应运而生,成为守护数据安全的新防线。它如同给每个设备办一张独一无二的 “身份证”,精准区分正常用户与爬虫工具。 一、基础参数采集:构建设备指纹的…...
公开模型一切,优于DeepSeek-R1,英伟达开源Llama-Nemotron家族
在大模型飞速发展的今天,推理能力作为衡量模型智能的关键指标,更是各家 AI 企业竞相追逐的焦点。 但近年来,推理效率已成为模型部署和性能的关键限制因素。 基于此,英伟达推出了 Llama-Nemotron 系列模型(基于 Meta …...