自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oopxiajun博客专栏

复杂事情简单做,简单事情认真做,认真事情重复做,重复事情创造性地做!

  • 博客(432)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 低空经济:掘金“天空新蓝海”的时代机遇

低空经济是指在垂直高度1000米以下(部分地区可延伸至3000米)的空域内,以民用有人驾驶和无人驾驶航空器为载体,开展物流运输、应急救援、城市空中交通、农业植保、旅游观光等活动,并带动相关产业融合发展的新型经济形态未来智库etbbs.com。它不仅是航空产业的延伸,更是数字经济、智能制造、新能源等多领域融合的产物。

2025-11-10 11:12:14 424

原创 软件中锁机制全解析:从线程到分布式锁

文章摘要: 本文系统解析并发编程中的锁机制,从应用场景和功能特性两个维度展开。在应用场景方面,按竞争范围划分为线程锁、进程锁和分布式锁,分析不同粒度的实现原理(如Java的ReentrantLock、Redis分布式锁);按资源特性区分共享锁与排他锁的设计差异。在功能特性方面,详解基本锁(独占/共享)、高级锁(可重入/公平锁)和特殊锁(自旋锁/分段锁)的实现策略,对比悲观锁与乐观锁的适用场景。通过Java、C#等代码示例,揭示锁在保证数据一致性同时提升系统性能的设计哲学,涵盖单机多线程到分布式系统的完整解决

2025-10-26 20:36:29 841

原创 深入解析软件行业高并发的八大核心解决方案:从入门到精通

本文系统介绍了构建高并发系统的八大核心解决方案:1)负载均衡(Nginx/LVS/HAProxy)实现流量分发;2)多级缓存(Redis/CDN/本地缓存)提升读取性能;3)异步处理(Kafka/RabbitMQ)削峰填谷;4)数据库优化(读写分离/分库分表)突破存储瓶颈;5)限流降级(Sentinel/令牌桶)保护系统稳定;6)微服务架构实现灵活扩展;7)分布式技术(无状态/分布式锁)保障一致性;8)全链路监控(Prometheus/ELK/SkyWalking)确保可观测性。这些技术需有机结合,形成从前

2025-10-12 22:43:06 858

原创 C#内存管理深度解析:从栈堆原理到高性能编程实践

C#内存管理深度解析:从装箱拆箱到高性能编程 本文深入探讨C#内存管理的关键概念,包括栈与堆的区别、值类型与引用类型的本质差异。通过代码示例展示了装箱拆箱的性能陷阱,对比了结构体(struct)和类(class)的语义差异,并提供了结构体设计的最佳实践。文章还介绍了高性能编程利器Span<T>和Memory<T>的使用场景,包括零分配子字符串处理和大数据异步处理技术。这些知识点帮助开发者编写更高效的C#代码,避免常见内存管理陷阱,提升应用程序性能。

2025-10-12 21:33:49 383 1

原创 C#垃圾回收 分代机制:Gen 0, Gen 1, Gen 2。为什么这样设计

C#的垃圾回收器采用分代机制,这是基于的理论设计的。

2025-10-11 13:30:34 546

原创 JavaScript Promise 详解:从入门到精通

在JavaScript中,Promise是一种用于处理异步操作的对象,它代表一个异步操作的最终完成(或失败)及其结果值。解决了回调地狱问题提供了清晰的错误处理机制支持链式调用,让代码更易读提供了丰富的静态方法处理多个Promise是现代异步编程的基础,async/await基于Promise掌握Promise对于现代JavaScript开发至关重要,它是理解更高级异步模式的基础。实践Promise的各种使用方法学习async/await与Promise的结合使用。

2025-10-11 00:03:02 443

原创 IT行业——如何将自己的技能重新包装,从“一堆零件”变成“一套解决问题的组合工具”*

资深全栈技术专家转型策略:将12年跨领域经验重新包装为"价值交付者"定位。简历需突出"端到端解决方案能力"而非技术堆砌,用STAR法则展示如何整合前后端、运维等技能解决商业问题。关键转变:从"技术执行者"到"能独立构建完整模块的问题解决者",强调"全链路技术视野"和量化成果。对Java/.NET双背景,应表述为"跨生态架构优势"。投递时瞄准需要"独立负责模块"的岗位,面

2025-10-10 22:28:59 937

原创 深入理解SELinux:从核心概念到实战应用

SELinux (Security-Enhanced Linux) 是由美国国家安全局 (NSA) 主导开发的强制访问控制 (MAC) 安全子系统。与传统Linux的自主访问控制不同,SELinux就像一个智能门禁系统🔐不再仅依赖"钥匙"(用户权限)🏷️每个进程和资源都有电子标签(安全上下文)📚严格遵循通行规则手册(安全策略)生产环境保持强制模式使用semanage+restorecon进行永久修改优先使用布尔值调整策略善用sealert进行故障分析定期审查审计日志。

2025-10-10 22:24:03 784

原创 C语言字符串安全查找 :strchr_s、strrchr_s、strstr_s

C11标准引入的字符串安全查找函数strchr_s、strrchr_s和strstr_s,增强了传统字符串操作的安全性。这些函数通过参数检查、缓冲区溢出保护和明确的错误码机制,提高了程序健壮性。strchr_s用于正向查找字符首次出现,strrchr_s反向查找字符最后出现,strstr_s则查找子串。它们都通过errno_t返回错误码,并通过输出参数返回查找结果,适用于文件解析、路径处理等场景。相比传统函数,安全版本提供了更完善的错误处理和边界检查。

2025-10-09 17:12:24 1062

原创 docker 与传统虚拟机(VM)部署服务,有什么优势

Docker 凭借其轻量、快速、一致、便携的特性,在现代云原生和微服务架构中占据了绝对主导地位。它极大地提升了软件交付和部署的效率,是 DevOps 文化的关键技术支撑。而传统虚拟机则更侧重于强隔离、全系统虚拟化,在运行异构系统和高安全要求场景下依然有价值。在实际生产中,两者也常常结合使用,即在虚拟机内部运行 Docker 容器,这样既能利用云服务商提供的虚拟机稳定性与安全性,又能享受 Docker 带来的部署和管理便利。

2025-10-09 15:42:15 741

原创 索引——数据库创建索引 要注意哪些原则

这个索引为谁服务?它针对的是哪个或哪些慢查询?查询条件是什么?索引的列是否与WHERE子句中的列匹配?是否遵循了最左前缀原则?列的选择性高吗?如果选择性很低,是否有必要?它是复合索引吗?列的顺序是否正确(等值在前,范围/排序在后)?对写操作的影响有多大?表是否频繁写入?增加的写开销是否可以接受?是否已有索引可以覆盖?检查是否已有索引可以被这个查询复用。如何验证效果?使用EXPLAIN分析执行计划,并在创建前后对比查询性能。

2025-10-09 15:38:42 569

原创 AI IDE与AI辅助编程:程序员能否真正“告别996”?

AI IDE指集成人工智能的集成开发环境,例如VS Code或JetBrains系列产品中的AI插件。这些工具支持实时代码补全、语法错误检测和重构建议,通过分析上下文预测开发者意图。AI辅助编程则更广泛,涵盖代码生成、自动化测试和调试工具,如GitHub Copilot基于OpenAI的Codex模型,能自动生成函数或类代码;Tabnine则利用本地化模型减少重复代码片段,提升开发速度。

2025-08-06 09:14:41 547

原创 OA系统——审批流程中使用状态机模式实现复杂工作流(会签、或签、加签、多级审批等)

在审批流程中使用状态机模式实现复杂工作流(会签、或签、加签、多级审批等),需结合设计模式与流程控制逻辑。

2025-08-06 08:48:11 716

原创 数学中 “熵“ 的奇妙世界

当你和朋友打赌抛硬币的正反面时,有没有想过:为什么猜公平硬币的结果会让人心跳加速,而猜一枚两面都是正面的硬币却毫无悬念?这里藏着一个数学中描述"不确定性"的核心概念——。今天,我们就用生活中最接地气的例子,揭开这个看似高深的概念面纱。

2025-06-13 21:49:40 1154

原创 AI——DeepSeek+LangChain+streamlit 实现智能汽车维修服务

摘要:文章展示了一个基于DeepSeek API的汽车故障诊断系统实现,包含两个核心代码文件:1) 自定义DeepSeekLLM类封装API调用,处理请求/响应;2) Streamlit构建的诊断应用,通过多步骤流程(车辆信息提取、问题诊断、维修决策、店铺推荐)提供智能服务。系统特色包括:JSON数据持久化、异常声音样本匹配、AR修复指导、维修店智能推荐及预约功能,体现了将大模型与专业领域知识结合的实践方案。(149字)

2025-06-09 20:29:00 418

原创 Vue——前端vue3项目使用汉字转拼音

在 Vue3 项目中,可以通过以下实现汉字转拼音。

2025-05-07 10:36:27 1353

原创 C#——NET Core 中实现汉字转拼音

在 .NET Core 中实现汉字转拼音,常用的方法包括使用第三方库(如Pinyin4NetNPinyin)或基于内置字符编码结合自定义规则实现。

2025-05-07 10:31:58 1157

原创 AI——认知建模工具:SOAR

适合需要严格规划的场景。建议从简单规则入手,逐步结合块学习和多Agent扩展,最终应用于实际系统的智能决策层。,专注于模拟人类通用问题解决能力,广泛应用于机器人控制、游戏AI和复杂决策任务。模拟一个机器人从起点到终点选择路径的过程(如迷宫导航)。,强调目标导向的推理过程。SOAR 的核心优势在于。

2025-05-07 09:48:17 1753

原创 AI——认知科学中的认知架构建立步骤与方法

认知架构(Cognitive Architecture)是模拟人类心智活动的计算框架,旨在整合感知、记忆、推理、学习等核心认知功能。其建立需结合心理学理论、神经科学证据和计算建模技术。认知科学中的认知架构建立是一个多层次、动态化的过程,涉及理论框架构建、模块化设计及实践验证。,既能通过图灵测试,又能通过神经科学验证。

2025-05-07 09:42:32 1471

原创 AI——认知建模工具:PsychoPy

是一款开源的心理学实验设计工具,支持通过图形界面(Builder)或Python代码(Coder)创建实验,适用于行为实验、认知任务(如Stroop、Flanker)、眼动追踪等。

2025-05-07 09:33:24 2125

原创 AI——认知建模工具:ACT-R

ACT-R(Adaptive Control of Thought—Rational)是一种用于模拟人类认知过程的计算架构,广泛应用于心理学、认知科学和人工智能研究。它通过模块化的方式模拟记忆、注意力、学习、决策等认知机制。通过ACT-R,你可以将人类认知理论转化为可验证的计算模型,是理解心智机制和构建类人AI的重要工具。建议从简单模型入手,逐步结合实验数据验证和优化参数。:模拟用户回答“巴黎属于哪个国家?

2025-05-07 09:21:15 1548

原创 AI——认知科学

学习认知科学(Cognitive Science)需要跨学科的视角,涵盖心理学、神经科学、计算机科学、语言学、哲学和人类学等领域。掌握认知科学需要长期积累,建议从“问题”出发(如“人类如何学习语言?”),逐步深入理论与技术,最终与AI、机器人等应用结合。

2025-05-07 09:05:42 1366

原创 AI——AI Agent

能通过传感器感知环境(如摄像头、文本输入、数据库),利用人工智能技术(如机器学习、自然语言处理)分析信息,并通过执行器(如机械臂、软件指令)采取行动,以完成特定目标。AI Agent 是一种。

2025-05-07 08:46:05 1269

原创 Vite 的工作流程

Vite 的工作流程基于其创新的机制,通过利用现代浏览器对原生 ES 模块的支持,显著提升了开发效率和构建速度。

2025-05-05 20:57:24 1007

原创 webpack 的工作流程

初始化配置:合并配置参数编译准备:创建Compiler对象开始编译:从入口文件出发模块解析:递归构建依赖图Loader 处理:转换非 JS 模块插件干预:在关键生命周期执行插件代码生成:生成运行时代码和模块闭包输出文件:将结果写入目标目录。

2025-05-05 20:52:51 938

原创 EF Core 中,AsEnumerable 和 AsQueryable 的区别

是两种用于处理 LINQ 查询的方法,它们的核心区别在于。在不需要客户端处理时,优先使用。(数据库端 vs 内存端)以及。以保持查询在数据库端执行。在 EF Core 中,

2025-05-05 20:36:26 1341

原创 算法——背包问题——0-1背包问题 python代码实现

在资源有限(背包容量有限)的情况下,对具有不同价值和重量的物品进行选择,以达到价值最大化的决策问题。例如,在一次旅行中,旅行者的背包容量有限,需要从各种不同重量和价值的物品中选择携带哪些物品,以在不超过背包容量的前提下,使携带物品的总价值最高。:给定 n 个物品,每个物品有重量 wi​ 和价值 vi​,以及一个容量为 W 的背包。每个物品只能选择 放入或不放入 背包,求如何选择物品使得总价值最大且总重量不超过 W。( O(N \times V) ),其中 ( N ) 为物品数量,( V ) 为背包容量。

2025-04-21 14:21:50 804

原创 算法——背包问题(分类)

问题类型物品选择规则典型算法0-1 背包问题每个物品最多选一次动态规划完全背包问题每个物品可以无限选动态规划多重背包问题每个物品有数量限制动态规划 + 状态压缩分数背包问题物品可以分割贪心算法二维费用背包问题多维度约束动态规划分组背包问题每组最多选一个物品动态规划有依赖的背包问题物品之间存在依赖关系动态规划 + 图论混合背包问题多种背包问题的组合动态规划子集和问题判断是否存在满足条件的子集动态规划多目标背包问题多目标优化多目标优化算法。

2025-04-21 14:13:02 504

原创 算法——结合实际例子理解动态规划

动态规划的核心是“以空间换时间”,通过存储子问题解避免重复计算,适用于具有最优子结构和重叠子问题的场景。与贪心、分治等算法的区别在于对“子问题依赖关系”的处理:动态规划显式利用重叠子问题,而贪心依赖局部最优,分治处理独立子问题。优化关键:分析状态转移的依赖关系,通过滚动数组、记忆化等手段减少空间和时间开销,同时确保状态定义准确反映问题的最优子结构。

2025-04-16 13:36:47 1184

原创 算法——通俗讲解升幂定理

想象你有一盏灯,光线穿过一层玻璃(基础台阶),每层玻璃会过滤掉一定颜色的光(质数 ( p ))。最终过滤掉的层数 = 基础层数 + 放大镜的“放大能力”。:( 10^6 - 1 = 999999 = 3^3 times 37037 ),确实含3³。text{总层数} = text{基础层数}(a - b) + text{放大能力}(n)v_3(6) = 1 quad (text{因为 } 6 = 3^1 times 2)v_2(3) = 0 quad (text{3中无2的因子})

2025-04-15 21:38:22 1081

原创 算法——置换与排列【基础】

排列是“有序选择”,关注元素的顺序排列。置换是“重新映射”,关注集合内部元素的对应关系。当排列的对象是集合自身(即全排列)时,排列与置换的概念重合。通过例子和图示可以清晰看到:排列是置换的一种表现形式,而置换是排列的抽象化。

2025-04-15 21:18:32 474

原创 算法——果蝇算法

果蝇算法(Fruit Fly Optimization Algorithm,FOA)是一种受果蝇觅食行为启发而开发的群智能优化算法。

2025-04-15 21:03:35 1348

原创 Vben Admin 同一界面打开多个模态框 Modal

【代码】Vben Admin 同一界面打开多个模态框 Modal。

2025-04-10 17:20:50 360

原创 算法——Lyndon分解

是将一个字符串 ( s ) 唯一分解为若干 Lyndon 串的序列 ( s = w_1w_2\cdots w_k ),满足 ( w_1 \geq w_2 \geq \cdots \geq w_k )(字典序非递增)。,当且仅当对于其所有真后缀 ( t )(即 ( t \neq s ) 且 ( t ) 是 ( s ) 去掉前若干字符后的子串),都有 ( s < t )(字典序比较)。Duval 算法是高效计算 Lyndon 分解的方法,时间复杂度为 ( O(n) ),适用于长度为 ( n ) 的字符串。

2025-04-09 08:32:49 978

原创 算法——最小表示法

最小表示法的高效性(O(n)需要快速标准化循环结构(如字符串、数据序列)。大规模数据去重(如日志、生物数据)。算法优化(避免暴力比较的 O(n²) 复杂度)。其核心优势在于将循环问题转化为线性处理,是处理循环同构问题的利器。

2025-04-07 10:10:32 903

原创 Python中的多态与Java、C#、C++中的多态的区别有哪些?

特性Python类型系统动态类型,鸭子类型静态类型,显式继承/接口多态触发条件方法存在即合法需实现接口或继承父类类型检查时机运行时编译时方法重载不支持,通过参数默认值模拟支持泛型/模板动态类型无需泛型支持泛型(Java/C#)或模板(C++)错误反馈运行时异常编译时错误显式覆盖声明无需需要(如@Override或virtual。

2025-03-16 15:32:51 897

原创 算法——高精度计算

什么是高精度算法?它是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数。但近几年的CSPJ/S复赛貌似从未单独考过高精度算法,但有时会和其他算法一起考。所以还是有学习的必要。高精度计算是指参与运算的数的范围大大超出了标准数据类型能表示的范围的运算。如100位数字和100位数字的加减乘除运算。为处理高精度计算,我们使用数字数组来表示高精度数字。

2025-03-10 16:50:51 1125

原创 算法——Manacher算法

Manacher算法用一个辅助数组Len[i]表示以字符T[i]为中心的最长回文字串的最右字符到T[i]的长度,比如以T[i]为中心的最长回文字串是T[l,r],那么Len[i]=r-i+1。

2025-03-01 22:54:21 851

原创 算法——序列自动机

通过序列自动机,可显著提升子序列匹配效率,适用于需要频繁查询的场景。根据实际需求调整字符集处理方式,平衡时间与空间复杂度。其核心思想是通过预处理目标字符串,构建状态转移表,从而在O(1)时间复杂度下支持多次子序列查询。序列自动机是一种用于高效判断一个字符串是否为另一个字符串的。

2025-02-27 22:28:12 696

原创 java——执行linux/cmd命令

在Java中执行命令行命令可以通过或实现。适用于简单场景,但需手动处理输入/输出流。更灵活,支持错误流合并、工作目录设置等。将命令和参数拆分为字符串数组,避免空格导致的解析错误。使用cmd /c在finally块中关闭流或使用Try-with-Resources(需自定义处理)。

2025-02-27 22:20:43 1692

html实现围棋博弈功能

html实现围棋功能

2025-02-16

用HTML代码实现国际象棋

用HTML代码实现国际象棋,可双人对战

2025-02-16

HTML实现中国象棋,双人对战

HTML实现中国象棋,双人对战

2025-02-16

HTMl实现五子棋功能

HTMl实现五子棋

2025-02-16

HTML实现平面直角坐标系

HTML实现平面直角坐标系

2025-02-16

ST-LINK驱动文件

ST-LINK驱动文件

2024-07-18

STM32最新固件库v3.5

STM32最新固件库v3.5

2024-07-18

VMware-ovftool-4.4.0-15722219-win.x86_64.rar

虚拟机ovftool- 4.4.0,将.ova转化为.vmx文件小记,导入ova时:未通过 OVF 规范一致性或虚拟硬件合规性检查 原因与解决方法.

2020-05-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除