自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 一台服务器,Java程序最大支持多少并发数

不同操作系统对一个进程下的线程数量有一定限制,例如 Windows 每个进程中的线程数一般不允许超过 2000,Linux 每个进程中的线程数通常不允许超过 1000。这些限制也会影响 Java 程序在该系统上可创建的最大线程数,进而影响并发量。

2025-03-21 20:20:42 806

原创 什么是mysql的脏读、不可重复读,可重复读

脏读:读取未提交的临时数据。不可重复读:同一事务内多次读取同一数据结果不一致。可重复读:保证同一事务内多次读取同一数据的一致性(但需注意幻读)。选择隔离级别:根据业务需求权衡一致性与并发性能。

2025-03-21 20:19:31 590

原创 什么是网络拥塞,为什么有丢包和延迟

TCP协议通过确认(ACK)和超时重传(Retransmission)保证可靠性,丢包会引发重传,进一步加剧拥塞。通过协议优化(如TCP拥塞控制)、硬件升级(QoS)和网络设计(冗余路径)可有效缓解这些问题。流量整形(Traffic Shaping):平滑突发流量,避免瞬时拥塞。高延迟可能被误判为拥塞,触发TCP拥塞控制(如降低发送速率)。前向纠错(FEC):在数据包中添加冗余信息,减少重传需求。公式:距离(m) / 信号传播速度(≈光速的2/3)。公式:数据包大小(bit) / 链路带宽(bps)。

2025-03-21 20:17:09 954

原创 说说CAP理论的核心网络分区的必然性

是指分布式系统中节点之间因网络故障(如断网、高延迟、丢包等)导致通信中断,形成多个独立的子集群。此时,系统被分割成多个无法同步数据的“孤岛”,必须在此场景下权衡一致性与可用性。:技术手段只能降低分区概率,但无法消除(如跨洲网络光缆故障无法完全避免)。:节点越多,单个节点或链路故障的概率叠加,整体系统可靠性下降。:系统可能分布在多个地区或国家,网络跨度越大,故障概率越高。:需阻止部分节点的写入操作,导致这些节点不可用(牺牲A)。,异步网络中即使只有一个节点故障,也无法保证共识)。

2025-03-21 20:15:12 379

原创 为什么CAP理论的核心不能都满足

在分布式系统中,节点间的通信可能因网络故障、延迟或丢包而中断(即发生分区)。:当网络分区发生时,部分节点无法同步数据,此时要么拒绝服务(牺牲A),要么返回不一致数据(牺牲C)。CAP是一个理论模型,实际系统可能通过折中设计(如最终一致性)部分缓解矛盾,但无法完全绕过。如果要求所有请求都能响应(A)且数据一致(C),则必须保证所有节点正常通信。实际是:CAP要求在网络分区发生时,在C和A之间二选一。:必须选择分区容错性(P),因此实际是在C和A之间权衡。:在网络分区发生时,必须牺牲一致性或可用性。

2025-03-21 20:14:20 522

原创 BeanFactory 和 FactoryBean 的区别时

而 FactoryBean 是一个能生产对象的特殊 Bean,用于封装复杂对象的创建逻辑。FactoryBean 是工厂方法模式(Factory Method Pattern)的体现,将对象创建逻辑委托给子类。是 Spring 的 IoC 容器,负责管理所有 Bean 的生命周期和依赖注入。:Spring 容器的根接口,是 IoC 容器的核心实现(如。FactoryBean 的典型实现是 Spring 内部的。// 复杂对象的创建逻辑(如连接池初始化)是一个特殊的 Bean,用于封装复杂对象的创建逻辑。

2025-03-17 18:16:19 466

原创 vite: command not found

然后,确保这个路径下的 bin 目录(例如,/usr/local/bin 或你在 Windows 上的类似路径)被添加到你的 PATH 环境变量中。有时候,即使 Vite 已安装,如果 npm 的全局安装目录没有被加入到你的 PATH 环境变量中,你仍然会遇到 "command not found" 的错误。Vite 是一个基于 Node.js 的项目,因此首先需要确保你的系统上已经安装了 Node.js。一旦确认 Node.js 已安装,你可以通过 npm(Node.js 的包管理器)来安装 Vite。

2025-03-16 10:32:36 405

原创 Fatal error compiling: 无效的目标发行版: 17 -> [Help 1]

(如同时配置了 JDK 8 和 JDK 17),Maven 可能错误引用低版本 JDK 导致编译失败14。:若本地仅安装了低版本 JDK(如 JDK 8),需下载并安装 JDK 17,并在环境变量中更新路径78。:某些旧版 Maven(如 3.6.x)可能对 JDK 17 支持不佳,建议升级至。中添加 JDK 17 的编译配置,确保 Maven 全局使用该版本1。中选择 JDK 17,避免 Maven 使用默认低版本 JDK3。,仅保留与项目匹配的 JDK 17 路径。,与项目 JDK 版本一致6。

2025-03-15 10:33:41 588

原创 MySQL 的 MVCC核心原理(Multi-Version Concurrency Control,多版本并发控制)

它通过为数据维护多个版本,使得读写操作可以无锁并发执行,避免传统锁机制带来的性能瓶颈。理解其原理后,可以更好地优化事务设计(如控制事务长度、合理选择隔离级别),并规避潜在的性能瓶颈(如长事务导致的 Undo Log 堆积)。使用事务 B 启动时的 ReadView,只能看到事务 ID ≤200 且已提交的版本(事务 50 的数据)。:通过数据版本管理,实现不同隔离级别(如 Read Committed、Repeatable Read)。每次事务修改数据时,会生成一个新的数据版本,旧版本通过。

2025-03-14 22:58:56 812

原创 b+树适合高并发场景示例说明

即使并发插入 10,000 TPS(每秒事务数),B+树仍能保持高效写入,避免锁冲突导致的性能瓶颈。对比随机主键(如 UUID):插入位置分散,频繁触发叶子节点分裂,导致多个节点加锁,增大锁竞争。范围查询时,只需定位到起始叶子节点,沿链表顺序扫描,无需回溯上层节点,减少 I/O 和锁竞争。事务 B 更新数据时,生成新版本并插入 B+树,旧版本仍保留(通过回滚指针链接)。更新商品价格时,只需锁定主键索引(聚簇索引)的行,二级索引无需更新。多个事务同时插入不同订单时,只需对各自的目标行加锁,互不阻塞。

2025-03-14 22:57:08 535

原创 mysql为什么选择b+树( InnoDB 存储引擎)

通过B+树的优化设计,MySQL在高并发、大数据量下依然能保持高效的读写性能,这也是它成为主流数据库存储引擎核心索引结构的根本原因。非叶子节点仅存键值,能容纳更多子节点,树的高度更低(3~4层即可支撑千万级数据),查询时I/O次数更少。B+树的每个节点大小通常设计为磁盘页(如16KB),一次I/O可加载整个节点,减少磁盘寻道次数。B+树的叶子节点存储数据,非叶子节点仅存索引,更新数据时锁竞争更少(如行锁)。所有数据都存储在叶子节点,全表扫描只需遍历叶子节点的链表,无需访问非叶子节点。

2025-03-14 09:26:40 244

原创 开发必不可少的优秀前端项目

前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。相信不管你的需求是什么,本项目都能帮助到你。vue2-manage 是此项目是 ue2 + vuex + vue-router + webpack + ES6/7 + less + element-ui 构建的后台管理系统,是后台项目node-elm 的管理系统,所有的数据都是从服务器实时获取的真实数据,具有真实的注册、登陆、管理数据、权限验证等功能。

2025-03-13 18:54:32 832

原创 vscode创建vue项目

通过上述步骤,可快速在VSCode中搭建Vue开发环境并提升编码效率。键,自动生成代码结构 ‌68。

2025-03-13 14:59:19 668

原创 deepseek的介绍

DeepSeek凭借高效的模型架构和清晰的AGI技术路线,正在成为国内AI领域的重要参与者。

2025-03-13 14:57:36 560

原创 IntelliJ IDEA 的 AI 编程插件推荐清单,助你高效选择

国际插件(如 Copilot)需稳定访问外网,国内插件可直连。:插件市场直接安装,免费版够用,Pro 版支持全代码库学习。:基于 ChatGPT,支持生成测试用例、文档和代码解释。:插件市场搜索安装,需绑定 OpenAI API Key。:OpenAI 驱动,代码生成精准度高,支持多语言。:阿里云出品,中文注释生成代码,无缝对接云服务。:清华团队开发,完全免费,支持代码翻译/解释。:企业用户需审核生成代码,避免知识产权风险。:本地模型可选,隐私保护强,响应速度快。:API 调用需自费,响应速度依赖网络。

2025-03-13 14:11:44 1512

原创 vscode提示checking with requireConfigFile: false, or configure Babel so that it can find the config

/ webpack.config.js (使用 babel-loader)在项目根目录创建 Babel 配置文件,让 Babel 自动检测配置。:选方案二(创建配置文件 + 安装依赖),确保可维护性和扩展性。// 添加以下配置禁用配置文件检查。,适用于简单场景(如仅使用预设/插件而不需要配置文件)。这个错误提示表明 Babel 无法找到配置文件(如。确认配置文件位于项目根目录(而非子目录)。如果项目是 monorepo,使用。在 Babel 配置中显式设置。

2025-03-13 14:06:03 259

原创 Mac 安装redis

Homebrew 是 Mac 上流行的包管理工具,若已安装,可按以下步骤操作;此命令会启动 Redis 服务,并设置为随系统启动自动运行。若能正确返回设置的值,说明 Redis 安装成功且可正常工作。同样可通过执行简单命令测试是否安装成功。

2025-03-08 12:30:47 326

原创 Mac 安装maven

mac安装maven

2025-03-02 12:13:32 172

原创 mac 安装idea,碰到“已损坏,无法打开解决办法

1、进入终端,输入以下命令,在‘com.apple.quarantine’后输入空格,在进行拖动操作,之后回车操作,碰到输入密码时,正常输入密码即可。sudo xattr -r -d com.apple.quarantine '将idea拖进此处'-安全与隐私性-找到‘允许以下来源的应用程序’ ,更改为任何来源,碰到输入密码时,正常输入密码即可。

2025-03-02 10:47:14 162

原创 vscode 创建vue入门

在Visual Studio Code (VSCode) 中进行Vue.js开发,你需要先设置好开发环境。

2025-03-01 08:39:47 314

原创 MacBook 安装Homebrew

1、执行2、选择gitee。

2025-02-28 23:26:19 184

空空如也

空空如也

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

TA关注的人

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