自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 flutter依赖同步bug:assert pluginDirectory.exists() == false

assert pluginDirectory.exists() -> 报错false。然后可以考虑清除缓存,然后重写打开Android studio。注意:这里你可以单独打开android项目,然后找到这个目录。本质上是: Gradle 脚本在硬编码查找C盘的路径。然后重新进行gradle的同步。

2025-10-04 17:01:55 171

原创 Change Buffer与二次写机制、MyISAM键缓存与并发插入与全文索引与压缩表特性

本文对比分析了MySQL两大存储引擎InnoDB和MyISAM的核心特性。InnoDB通过Change Buffer优化非唯一索引写性能,利用Doublewrite保障数据安全;MyISAM则采用Key Cache加速索引访问,支持并发插入缓解表锁瓶颈。全文索引和表压缩功能两者均有提供,但InnoDB版本更完善。总体而言,InnoDB凭借事务支持、行级锁和崩溃恢复能力成为现代应用首选,而MyISAM仅适用于特定读密集型场景。理解这些机制有助于针对不同业务需求选择合适的存储引擎。

2025-09-29 00:42:54 694

原创 锁机制:记录锁、间隙锁、Next-Key锁

MySQL通过记录锁、间隙锁和Next-Key锁的组合机制,在可重复读隔离级别下有效解决了并发事务中的脏读、不可重复读和幻读问题。记录锁锁定已存在的索引记录,间隙锁锁定记录间的空隙防止插入,Next-Key锁则是前两者的组合。锁基于索引工作,不同隔离级别下行为不同。合理使用索引、缩短事务时长是优化锁性能的关键。理解这些锁机制有助于设计高并发且数据一致的数据库系统。

2025-09-29 00:31:53 725

原创 Dynamic与Compressed解析

MySQL中InnoDB引擎的DYNAMIC和COMPRESSED行格式对比:DYNAMIC是5.7+版本的默认格式,对大字段只存储768字节前缀和溢出页指针,适合通用场景;COMPRESSED则额外使用zlib压缩数据页和索引页,节省空间但CPU开销较大,适合存储敏感型应用。DYNAMIC平衡性能与空间,COMPRESSED则适用于磁盘空间有限且CPU充足的场景。可通过ALTER TABLE修改行格式,但COMPRESSED转换属于重量级操作,需谨慎执行。

2025-09-29 00:24:08 532

原创 MySQL 全局共享内存和线程私有内存

MySQL内存管理解析 MySQL内存分为全局共享内存和线程私有内存两大类别。 全局共享内存(如InnoDB缓冲池、日志缓冲区)由所有线程共享,生命周期与服务器一致,需注意并发访问的锁竞争问题。核心配置包括innodb_buffer_pool_size,建议设为物理内存的50%-70%。 线程私有内存(如排序缓冲区、连接缓冲区)为每个连接单独分配,互不干扰,但需警惕高并发场景下的内存膨胀风险。典型参数包括sort_buffer_size,默认值通常足够,盲目增大会导致总内存消耗激增。 优化建议:优先调优全局

2025-09-29 00:10:34 923

原创 存储引擎层如何通过 Handler API 与服务器层交互

MySQL采用插件式存储引擎架构,其核心是Handler API。该API作为服务器层与存储引擎层的抽象接口,实现了二者的解耦:服务器层通过统一的API调用存储引擎,无需了解具体实现;存储引擎只需实现API定义的方法即可接入MySQL。典型交互流程包括打开表、索引查询、数据读写等。不同存储引擎(如InnoDB和MyISAM)通过实现相同API展现不同特性(如事务支持)。Handler API是MySQL支持多种存储引擎的基础,包含表操作、索引扫描、数据写入、事务控制等核心方法,体现了"标准接口+多

2025-09-29 00:04:09 976

原创 什么是海明码?

海明码是一种高效的纠错编码方法,通过在数据位中插入多个校验位来检测和纠正传输错误。其核心思想是将校验位放置在2的幂次方位上,每个校验位负责检查一组特定的数据位。发送端通过奇偶校验计算校验位值,接收端通过重新计算校验和来定位错误位。海明码能检测并纠正1位错误,检测2位错误。关键步骤包括确定校验位数量、分组计算、校验和定位及错误纠正。这种编码方法巧妙利用二进制位置关系实现高效纠错,是一种经典而实用的编码技术。

2025-09-18 19:35:44 982

原创 什么是浮点数?

摘要:浮点数是计算机表示极大或极小数的方法,采用类似科学计数法的结构,包含符号位、指数和尾数三部分。以32位浮点数为例,符号位表示正负,指数决定小数点的浮动位置,尾数存储有效数字。例如,-6.25被转换为二进制科学计数法1.1001×2²后,分别存储符号位1、指数129(2+127偏移)和尾数1001。其优势在于能表示极大范围数值,但精度随数值增大而降低,可能产生舍入误差。核心公式为:浮点数=符号×尾数×2^指数。

2025-09-18 15:48:00 979

原创 正则表达式语法教学(基础)

摘要: 正则表达式(Regex)是匹配、查找、替换文本模式的强大工具,适用于爬虫、数据清洗、表单验证等场景。基础语法包括:.(任意字符)、\d(数字)、\w(字母数字)、^/$(开头结尾)、*+?(重复匹配)、()(分组)等。进阶功能含转义字符、零宽断言及非捕获分组。常见应用如匹配手机号(1[3-9]\d{9})、邮箱、URL和中文。Python中可通过re模块实现搜索、替换等操作。学习建议从简单语法入手,结合在线工具(如RegExr)调试,注意贪婪匹配和性能优化。口诀总结核心规则,推荐练习提取日志、HTM

2025-09-15 22:38:09 761

原创 UnsupportedOperationException在Date对象转LocalDateTime时出现异常

前情:从数据库接收到Date或DateTime对象,将其转为Local系列对象时出现这个异常,后面发现是转为Instant时出现的异常,但是idea没有报错。

2024-06-03 14:40:42 223

原创 java.lang.NoClassDefFoundError not find com/alibaba/nacos/StringUtils

解决:是nacos-client的依赖没有加,然后加的时候注意版本的匹配哦!

2024-04-02 23:55:23 497 1

原创 Could not retrieve https://npm.taobao.org/mirrors/node/index.json.Get “https://npm.taobao.org/mir

淘宝镜像源过期了,打开nvm的安装路径。

2024-04-02 10:30:55 813 1

原创 找不到 ‘RedisConnectionFactory‘ 类型的 Bean

找不到 'RedisConnectionFactory' 类型的 Bean

2024-03-31 00:26:24 756 1

原创 表达式或语句中包含意外的标记,conda报错

表达式或语句中包含意外的标记,conda报错

2024-03-26 23:01:29 2456

原创 nested exception is java.sql.SQLException: com.mysql.cj.jdbc.Driver

依赖上看使用的数据库版本:我一开始用是5版本的,后面改为了。1、先检查使用的数据库版本是否跟自己下载的版本一样。注意:大家要看自己的实际情况。2、检查有没有导入依赖。

2024-03-21 20:29:09 596 1

原创 NoSuchMethodError: org.yaml.snakeyaml.Yaml,java.lang.NoClassDefFoundError: org/yaml/snakeyaml/Loader

NoSuchMethodError: org.yaml.snakeyaml.Yaml,java.lang.NoClassDefFoundError: org/yaml/snakeyaml/Loader

2024-03-21 18:10:20 644 1

原创 Gradle project sync failed. Basic functionality (e.g. editing, debugging) 的bug解决

Android studio 中 gradle 的 bug解决,Gradle project sync failed. Basic functionality (e.g. editing, debugging)

2024-03-01 22:15:01 2012 1

原创 python版本更换,pycharm中更换,这里是conda更换python版本

第一条是:创建环境命名为py392,指定python版本。打开控制台,输入以下命令。

2023-12-22 11:24:48 509

原创 如何防止CSRF攻击?

方法二:双token:token1,token2,token1可以放入cookie(不推荐第二种方法),token2用AES提前生成,做身份认证,保证发送者不是黑客。CSRF原理:你访问其它网站,该网站拿你其它网站的cookie出来,伪造请求给你的其它网站,获取你在其它网站的信息。2、用cookie的话给cookie做domain的域限制,防止其它域访问cookie的值。1、做Referer的源校验,设置域的白名单,保证是前端域发来的,不是其它网站发来的。

2023-12-18 10:31:38 161 1

原创 MySQL安装过程出现starting the server报错

首先:我之前把网上的操作都试了一遍,还是不行,最终自己解决了,可能你们和我遇到的情况一样,故在此分享解决方案。确定之后,点击MySQL80服务,然后启动,启动成功后,配置环境变量即可。时,直接点×号退出,不用点cancel,然后右键“我的电脑”

2023-12-11 14:43:17 756 2

原创 Feign异常--Request method ‘POST‘ not supported解决

用Feign进行远程调用另外一个服务的api接口时,调用get接口,报错post接口不支持。@SpringQueryMap是微服务之间调用,使用。通过get请求方式来处理通过实体来传参的情况的注解。

2023-11-21 18:10:20 1618 1

原创 @Value报错BeanCreationException: Error creating bean with name ‘xxx‘

你有多个配置文件,但是该属性没有配置在application.yml中,而是配置在其它环境中,然后用@Value去读取了配置文件中值,导致其读不到。在application.yml添加用@Value引用的值。

2023-11-17 23:17:45 267

原创 线程的ThreadLocalMap、ThreadLocal

线程的ThreadLocalMap、ThreadLocal。

2023-06-12 16:15:54 135 1

原创 冒泡算法排序+优化

冒泡排序算法,加优化,带注释超简单写法。

2023-06-12 16:12:17 82

原创 session实现自动登录功能

Session、cookie实现自动登录功能。

2022-11-10 23:19:46 643

空空如也

空空如也

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

TA关注的人

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