问答
推荐
请输入关键词搜索
登录
写文章
提问题
搜索标签:
搜索标签
全部
网络
redis
nginx
并发编程
mysql
jvm
spring
elasticsearch
spring boot
rocketmq
kafka
java
docker
k8s
linux
spring cloud
dubbo
设计模式
mybatis
更多
详解O(log n)时间复杂度的由来
算法复杂度共分为两类:时间复杂度、空间复杂度 时间复杂度是指执行这个算法所需要的计算工作量时间; 空间复杂度是指执行这个算法所需要的内存空间。 一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度,也代表了时间复杂...
java
算法
瓶子先生
14530
1
为什么MySQL会选错索引,如何解决?
可能会选错索引,主要原因包括统计信息不准确、查询逻辑复杂、系统配置影响等。可以通过更新统计信息、强制索引、优化查询、调整索引和数据库配置来解决。 1. 为什么 MySQL 可能会选错索引? MySQL 基于成本优化器(CBO) 选择执行计划,会根据索引基数、选择性、覆盖索引、查询模式等因素选择最优索...
mysql
马红俊
MySQL事务ACID是如何实现的?
在 MySQL 的 InnoDB 存储引擎中,事务需要满足 ACID(原子性 Atomicity、一致性 Consistency、隔离性 Isolation、持久性 Durability)特性。MySQL 主要通过 Undo Log、Redo Log、Binlog、MVCC、锁机制 等手段来实现 A...
mysql
秦尘
volatile用于读多写少的场景还是写多读少的场景?
volatile 更适用于 写少读多 的场景。 原因: volatile 保证变量的可见性,每次读都会直接从主内存中获取最新值,每次写入都会立即刷回主内存。 当写操作较少时,volatile 的性能影响相对较低,读取时无需加锁,效率较高。 如果是写多读少的场景,频繁写入主内存,会导致更多的缓存一致...
java
雾隐
MySQL事务ACID是如何实现的?
MySQL中事务的ACID特性实现方式如下: 一、原子性(Atomicity) 原子性要求事务要么全部执行成功,要么全部失败回滚。 实现方式: Undo Log(回滚日志):事务在执行时先记录数据修改前的状态,一旦出现异常或主动回滚,通过Undo Log恢复数据。 MySQL的存储引擎(如Inno...
mysql
李白
MySQL的update语句什么时候锁行什么时候锁表?
MySQL(InnoDB引擎)中,执行UPDATE语句时的锁策略如下: 一、什么时候锁行? 使用索引条件进行更新时,InnoDB只锁定涉及到的具体行,使用的是行锁。 示例: -- id为主键或有索引 UPDATE table_name SET column='value' WHERE id=100;...
mysql
纳兰嫣然
jvm什么是TLAB?
TLAB TLAB(Thread Local Allocation Buffer,本地线程分配缓存)是一种内存分配方式,将内存分配动作按照线程划分到不同的空间中进行。每个线程在 Java 堆中预先分配一小块内存,这块内存称为 TLAB。 TLAB 的特点 线程私有:每个线程都有自己的 TLAB,可...
jvm
兽神
1
你们的灰度发布是如何做的?
我们团队的Java服务上线过程中采用了灰度发布策略,具体实现方式主要是基于Istio进行流量管理,具体实施细节如下: 一、灰度发布的核心目的 灰度发布(Canary Release),也叫金丝雀发布,指的是将新版本首先开放给少部分用户,通过实际流量的检验逐步发现并修复潜在问题,确认无误后再逐步扩大到...
运维
小王子-B152
rockmq是推消息还是拉消息?他的消息模型是啥?
在消息队列系统中,消费者模型(即消费者获取消息的方式)通常分为“拉”(pull)模式和“推”(push)模式。这两种模式在性能和实用性上有各自的优势和局限性,特别是在处理不同吞吐量和实时性需求的场景中。 RocketMQ的推拉模型 RocketMQ 本质上使用的是拉模式,但它通过长轮询等技术实现了类...
赏金
rocketmq
叶重
jvm什么是空闲列表?
要理解空闲列表。得和指针碰撞与TLAB一起理解。 JVM中的空闲列表、指针碰撞与TLAB概念 在Java虚拟机(JVM)中,内存管理是一个关键问题,特别是在对象的分配与回收方面。为了提高内存分配的效率,JVM使用了多种技术和数据结构,其中包括空闲列表、指针碰撞和Thread Local Alloca...
jvm
李元霸
1
MySQL如何实现行转列和列转行?
在 MySQL 中,行转列(横向展开数据)和 列转行(纵向拆分数据)是数据转换的常见需求,通常用于数据报表和聚合统计。 1. 行转列(Row to Column) 案例 假设 sales 表: | id | year | product | sales | |----|------|--------...
mysql
冰儿
镁伽机器人:实现一个赛车程序,可以加速减速,自然停止(有摩擦力),越自然越好?
这里是一个简单的 赛车模拟程序,支持: 加速(accelerate) 减速(brake) 自然停止(摩擦力) 🔹 设计思路 赛车属性 速度(speed) 摩擦力(friction,每秒减速量) 最大速度(maxSpeed) 加速度(acceleration) 赛车行为 accel...
算法
赵无极
你们的灰度发布是如何做的?
具体实践如下: 原理和目的: 灰度发布(又称金丝雀发布)是一种逐步上线新版本的策略,通过控制流量比例或特定用户群体,逐步验证新版本的稳定性,降低上线风险。 具体做法: 部署准备: 同时部署新旧两个版本,通过配置控制流量入口。 流量控制: 使用Nginx、网关(如Spring Clou...
运维
杨浩
where条件的顺序影响使用索引吗?
WHERE 条件的顺序不会影响索引使用,MySQL 查询优化器会自动调整顺序,使查询尽可能利用索引。
mysql
姬天
查看更多
Copyright 2023 北京智享四海科技信息有限公司
/
京ICP 京B2-20233378
/
京ICP备2023028185号
/
京公网安备11010502054435号
/
关于我们
/
联系我们
公众号进入网站体验更佳