java八股文-mysql
1. 索引
1.1 什么是索引
- 索引(index)是帮助Mysql高效获取数据的数据结构(有序).
- 提高数据的检索效率,降低数据库的IO成本(不需要全表扫描).
- 通过索引列对数据进行排序,降低数据排序成本,降低了CPU的消耗.
1.2 mysql索引使用的B+树?
1. 没有使用二叉树,最坏情况o(n),红黑树,的话数据量大了,层级太多2. b+ 树的话每个节点不是只有一个节点,多路的3. b树的话 每个节点都指向数据,b+只有叶子结点4. 这样b+更优秀,因为不会加载路径上的数据了

1.3 mysql的常用存储引擎?
1.3.1 比较
1.3.2 选择建议
-
事务需求:
- 需要事务:选择 InnoDB。
- 不需要事务:可选择 MyISAM、Memory 等。
-
数据访问模式:
- 读写并发:选择 InnoDB。
- 只读或读多写少:可选择 MyISAM。
-
持久化需求:
- 持久化:InnoDB、MyISAM。
- 非持久化:Memory。
-
数据规模和性能:
- 数据量大,索引优化重要:选择 InnoDB。
- 极高性能,数据可以丢失:选择 Memory。
1.3.3 总结
- MySQL 提供了多种存储引擎以满足不同的需求。
- InnoDB 是大多数场景下的首选,因其支持事务、高并发和外键。
- 其他存储引擎(如 MyISAM、Memory)则适用于特定的场景。
1.4 什么事聚集索引和非聚集索引(二级索引)?
简单说聚簇索引,只能有一个,表示物理排序了,聚族索引的叶子结点保存的是整条数据,非聚簇索引保存的是id。(这样使用聚集索引查询非索引字段也不用回表查询了)

1.5 回表查询?
简单说如图查询条件是有索引的,但是查询到后,他并没有全量数据,只能拿到主键id,然后在去聚族索引,所以还要回表查询。

1.6 覆盖索引?
如图,覆盖索引就是查询能返回,所需要到列。第三个sql中gender一次得不到的

1.7 mysql超大分页如何处理?
1.7.1 覆盖索引解决

1.7.2.
select id from user where id>10000 limit10 取出多少后的再去获取, 有序的得
1.7.3.
业务层面说 最好限制下,查询到一百页
1.8 索引创建的原则
- 真的数据量的的,查询频繁的表建立索引.(单表超过十万条)
- 针对常作为查询条件(where),排序(order by),分组(group by)操作字段建立索引.
- 尽量选择区分度高的列作为索引,区分度越高,使用索引效率越高.
- 如果是字符串字段,长度较长,针对字段特点,建立前缀索引.
- 尽量使用联合索引,减少单列索引,查询时联合索引很多时候可以覆盖索引,节省存储空间,避免回表查询,条高效率
- 控制索引数量,并不是越多越好,越多维护代价越大,影响增删改差的效率.
- 如果索引不能存储NULL值,建表的时候使用not null,当优化器知道每列是否包含null值时,可以更好的确定那个索引最有效的用于查询.
1.9 索引失效的情况
使用联合索引的时候,没有按照排序查询.
- 违反最左前缀法则.
- 范围查询右边的列,不能使用索引.
- 不要在索引上进行运算操作,索引将失效.
- 字符串不加单引号,造成索引失效(类型转换).
- 一%开头的like模糊查询,索引失效
2. 事务
2.1 事物特性
事务是一组操作的特性,一个不可以分割的工作单位,会把所有操作作为一个整体,向系统提交或者撤销,要么同成功,要么同时失败举例子,转账A给B转账,要同时一个减少,一个增加。
2.2 ACID
- 原子性(atomicity) :事务是不可分割的最小操作单元,要么全成功,要么全失败.
- 一致性(Consistency):事务完成时,必须使所有的数据保持一致状态.
- 隔离性(Isolation): 数据库系统提供的隔离机制,保证事务再不受外部并发操作影响的独立环境运行.
- 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的.
2.3 并发事务问题


2.4 undo log 和redo log
2.4.1 redo log

2.4.2 undo log

2.4.3 区别:

2.5 事务的隔离性如何保证?
5.4.1锁机制
- 在高隔离级别下,数据库使用锁(如行锁、表锁等)来控制事务间的并发。通过加锁机制,事务可以在执行过程中确保数据的完整性和一致性。
- 行级锁:保证了同一行数据在多个事务之间的独立性,减少了锁的竞争,提高了并发性。
- 表级锁:锁定整个表,确保没有其他事务对表进行修改,但会降低并发性。
5.4.2 MVCC
- MVCC 允许数据库在同一时间保持多个版本的数据。事务可以读取到数据的某个版本,从而避免了读锁和写锁的冲突。许多现代的关系型数据库使用 MVCC 来实现更高的并发和隔离性。
- 在 MVCC 中,每个事务会看到数据库中数据的某个快照,避免了幻读的问题。
- 记录中的隐藏字段

- undo log

- readview


3. 分库分表
3.1应用场景
1. 前提,项目业务数据逐渐增多,业务发展迅速,单标1000w或20G以上
2.优化解决不了新能问题(索引,主从读写分离)
3.IO瓶颈,CPU瓶颈
3.2 概念
- 分库是一种水平扩展数据库的技术,将数据根据一定规则划分到多个独立的数据库中。每个数据库只负责存储部分数据,实现了数据的拆分和分布式存储。分库主要是为了解决并发连接过多,单机 mysql扛不住的问题。
- 分表指的是将单个数据库中的表拆分成多个表,每个表只负责存储一部分数据。这种数据的垂直划分能够提高查询效率,减轻单个表的压力。分表主要是为了解决单表数据量太大,导致查询性能下降的问题。
3.2 拆分策略
3.2.1 垂直分库:
根据业务模块将不同的表分配到不同的数据库中。
例如,将用户信息表放在一个数据库中,将订单信息表放在另一个数据库中。.
3.2.2 水平分库:
将同一个表的数据按一定规则(如按用户ID分区)拆分到多个数据库中。
例如,用户ID为1-10000的数据放在数据库A中,用户ID为10001-20000的数据放在数据库B中。
3.2.3 垂直分表
将一个表的不同列拆分到不同的表中,这些表可以存储不同的列数据,但通常是基于业务逻辑或者字段访问频率来拆分。
例如一个订单状态信息会频繁进行更新、订单金额在列表会频繁被查询到作为热点数据,而下单地址、手机号码等信息基本不会改变或者改变次数很少作为非热点数据。
垂直分表的原则
(1)、把不常用的字段单独放一张表。
(2)、把text、blob等大字段拆分出来单独放在一张表。
(3)、经常组合查询的字段单独放在一张表中。
3.2.4 水平分表
将一个大表拆分成多个小表,每个小表存储数据的不同片段。
3.4 你们怎么用的?
分库分表是两回事儿,可以只分库不分表,也可以只分表不分库,分库主要解决高并发瓶颈,分表主要解决数据量大瓶颈,但是一般情况下,我们都需要同时做分库分表。
3.4.1 我们垂直分表
把一张业务表中的备注字段拆分了,平时不咋用,偶尔用,但是他还比较大,是text类型.
3.4.2 水平分表
每天数据量表较大,单表数据量过大,现在按照每天一张表
4. 主从同步
4.1 主从作用?
- 数据的热备,后备数据库,主库故障后可以切换到备库,避免数据丢失.
- 机构扩展,业务量大后,IO增加,单裤无法满足需求,提高单机的io.
- 读写分离,是数据库支撑更大的开发
4.2 主从同步原理
通过bionlog
主库写 binlog:主库的更新 SQL(update、insert、delete) 被写到 binlog;
主库发送 binlog:主库创建一个 log dump 线程来发送 binlog 给从库;
从库写 relay log:从库在连接到主节点时会创建一个 IO 线程,以请求主库更新的 binlog,并且把接收到的 binlog 信息写入一个叫做 relay log 的日志文件;
从库回放:从库还会创建一个 SQL 线程读取 relay log 中的内容,并且在从库中做回放,最终实现主从的一致性。
4.3 开发场景
预算项目,经常要做去全部员工薪资数据的计算,然后做报表到处,刚开始没做读写分离的时候,一旦有人操作计算,就会导致mysql压力剧增,影响其他页面的查询,所以后来切换为主从模式,主库做计算等写操作,从库只读.
4.4 遇到的问题?
4.4.1 主从延迟
这个问题在生产上就发生了,用户操作后,显示成功,但是返回页面却发现数据没有改变,就是主从数据同步出现了延迟
解决 :
- 从库机器性能:从库机器比主库的机器性能差,只需选择主从库一样规格的机器就好。
- 从库压力大:可以搞了一主多从的架构,还可以把 binlog 接入到 Hadoop 这类系统,让它们提供查询的能力。
- 从库过多:要避免复制的从节点数量过多,从库数据一般以3-5个为宜。
- 大事务:如果一个事务执行就要 10 分钟,那么主库执行完后,给到从库执行,最后这个事务可能就会导致从库延迟 10 分钟啦。日常开发中,不要一次性 delete 太多 SQL,需要分批进行,另外大表的 DDL 语句,也会导致大事务。
- 网络延迟:优化网络,比如带宽 20M 升级到 100M。
- MySQL 版本低:低版本的 MySQL 只支持单线程复制,如果主库并发高,来不及传送到从库,就会导致延迟,可以换用更高版本的 MySQL,支持多线程复制。
5. 如何定位慢查询?
5.1原因
聚合查询,多表查询;表数据量过大;深度分页查询,索引
5.2 工具
- arthas进行定位,看是不是执行sql的时候耗时比较长
- 运维工具 prometheus
5.3 mysql自带慢查询日志(生产不会开启,损耗性能)
5.4 慢查询sql如何优化
使用explain和desc命令获取执行select语句的信息
type 是index和all的时候就要考虑优化了
6. sql优化经验(说参考阿里的开发手册)
6.1 表优化
6.2 库设计优化
6.3 sql语句优化
统计时尽量使用count(),count()≈count(1),大于count(主键) (count(*)标准语法推荐;做了很多优化count(列名),慢还会查询不为空的数据)。
如果明确查找一条语句,请使用limit1;,因为找到一条符合条件的记录后就不会继续查找了。
优化分页查询
使用limit limit 1000000,100;偏移量十万后查询很慢了,
子查询优化 select * from table where id>=(select id from table limit 100000,1) limit 100;
换一种写法 select * from table where id >= 1000001 limit 100;
避免 Select *用到什么字段就具体写什么字段,原因除了 select * 查询所有字段会多出网络传输开销之外,还有更重要的一点是,select * 无法使用覆盖索引。
尽量使用 MySQL 5.6以后的版本
对于使用索引方面对索引字段做函数操作或者做运算操作,都不能使用上索引。所以针对这一点,除了我们索引的字段不要加函数之外。还要注意一些隐式转换,比如,交易日志表(tradelog),tradeid 的字段类型是 varchar(32),字段有索引,但是当你执行 select * from tradelog where tradeid=110717;语句,你发现走的还是全索引扫描。这是因为它其实做了类型转换,相当于这么执行mysql> select * from tradelog
7. mysql架构
7.1 逻辑架构
MySQL 逻辑架构图主要分三层:
- 客户端:最上层的服务并不是MySQL所独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。比如连接处理、授权认证、安全等等。
- Server层:大多数MySQL的核心服务功能都在这一层,包括查询解析、分析、优化、缓存以及所有的内置函数(例如,日期、时间、数学和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。
- 存储引擎层:第三层包含了存储引擎。存储引擎负责 MySQL 中数据的存储和提取。Server 层通过 API 与存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明。
7.2 一条SQL查询语句在MySQL中如何执行的?
- 先检查该语句 是否有权限,如果没有权限,直接返回错误信息,如果有权限会先查询缓存.
- 如果没有缓存,分析器进行 语法分析,提取 sql 语句中 select 等关键元素,然后判断 sql 语句是否有语法错误,比如关键词是否正确等等。
- 语法解析之后,MySQL 的服务器会对查询的语句进行优化,确定执行的方案。
- 完成查询优化后,按照生成的执行计划 调用数据库引擎接口,返回执行结果。
相关文章:
java八股文-mysql
1. 索引 1.1 什么是索引 索引(index)是帮助Mysql高效获取数据的数据结构(有序).提高数据的检索效率,降低数据库的IO成本(不需要全表扫描).通过索引列对数据进行排序,降低数据排序成本,降低了CPU的消耗. 1.2 mysql索引使用的B树? 1. 没有使用二叉树,最坏情况o&…...
Audio-Visual Speech Enhancement(视听语音增强)领域近三年研究进展与国内团队及手机厂商动态分析
一、视听语音增强领域近三年研究进展 多模态融合与模型轻量化 多模态特征融合:中国科学技术大学团队提出通过引入超声舌头图像和唇部视频的联合建模,结合知识蒸馏技术,在训练阶段利用教师模型传递舌部运动知识,从而在推断时仅依赖唇部视频即可提升语音增强效果。此外,中科…...
React AJAX:深入理解与高效实践
React AJAX:深入理解与高效实践 引言 随着互联网技术的不断发展,前端开发领域也经历了翻天覆地的变化。React 作为当前最流行的前端框架之一,其强大的组件化和虚拟DOM机制受到了广泛关注。而 AJAX(Asynchronous JavaScript and XML)作为实现前后端数据交互的重要技术,与…...
撕碎QT面具(1):Tab Widget转到某个Tab页
笔者未系统学过C语法,仅有Java基础,具体写法仿照于大模型以及其它博客。自我感觉,如果会一门对象语言,没必要先刻意学C,因为自己具有对象语言的基础,等需要用什么再学也不迟。毕竟不是专门学C去搞算法。 1…...
2025.2.16
Web [GDOUCTF 2023]泄露的伪装: 点进去看就是装神弄鬼,那就直接扫描 果然有东西 第一个是php代码 第二个是个文件 访问发现是一样的 分析一下:使用 file_get_contents($cxk) 函数读取 $cxk 变量中指定的 URL 或文件的内容。 如果读取的内…...
002 第一个python程序
编程语言 编程语言可以做的事情: 网站开发、软件 、游戏、APP、 小程序、 爬虫、 数据分析、脚本 第一个python程序 找到IDE图标pycharm 新建项目 选择项目路径 创建目录 新建python文件 输入代码 运行程序查看结果 print 介绍 print : 输出内容…...
面试完整回答:SQL 分页查询中 limit 500000,10和 limit 10 速度一样快吗?
首先:在 SQL 分页查询中,LIMIT 500000, 10 和 LIMIT 10 的速度不会一样快,以下是原因和优化建议: 性能差异的原因 LIMIT 10: 只需要扫描前 10 条记录,然后返回结果。 性能非常高,因为数据库只…...
《Foundation 起步》
《Foundation 起步》 引言 在当今快速发展的科技时代,了解并掌握最新的技术是至关重要的。本文旨在为初学者提供一个全面的《Foundation》起步指南,帮助大家快速入门并掌握这一强大的技术。 一、什么是Foundation? Foundation 是一个流行的前端框架,由 ZURB 公司开发。…...
【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十五节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(RoutineControl_0x31服务) 作者:车端域控测试工程师 更新日期:2025年02月14日 关键词:UDS协议、0x31服务、例程控制、ISO 14229-1:2023、ECU测试 一、服务功能概述 0x31服…...
数据结构:顺序表
目录 一、数据结构的概念 什么是数据结构? 为什么还需要数据结构? 二、顺序表 1.线性表 2.顺序表和数组的区别 3.顺序表分类 3.1静态顺序表 3.2动态顺序表 三、动态顺序表的实现 一、数据结构的概念 什么是数据结构? 数据结构可以…...
LC-随机链表的复制、排序链表、合并K个升序链表、LRU缓存
随机链表的复制 为了在 O(n) 时间复杂度内解决这个问题,并且使用 O(1) 的额外空间,可以利用以下技巧: 将新节点插入到原节点后面:我们可以将复制节点插入到原节点后面。例如,如果链表是 A -> B -> C,…...
对于简单的HTML、CSS、JavaScript前端,我们可以通过几种方式连接后端
1. 使用Fetch API发送HTTP请求(最简单的方式): //home.html // 示例:提交表单数据到后端 const submitForm async (formData) > {try {const response await fetch(http://your-backend-url/api/submit, {method: POST,head…...
打印问题总结
问题一: 记一次发票打印模糊问题,后端返回的是pdf 之前实现的效果是将后端返回的pdf转成canvas再转成图片 预览 问题: 打印效果很模糊 解决方式: 就是直接预览pdf 借助pdf的打印和下载即可 问题二: 激光打印一般…...
2025蓝桥杯JAVA编程题练习Day4
1.艺术与篮球 问题描述 小蓝出生在一个艺术与运动并重的家庭中。 妈妈是位书法家,她希望小蓝能通过练习书法,继承她的艺术天赋,并练就一手好字。爸爸是一名篮球教练,他希望小蓝能通过篮球锻炼身体,培养运动的激情和…...
github用户名密码登陆失效了
问题: git push突然推代码需要登陆,但是用户名和密码正确输入后,却提示403 git push# Username for https://github.com: **** #Password for https://gyp-programmergithub.com: #remote: Permission to gyp-programmer/my-app.git denie…...
数据结构 day02
3. 线性表 3.1. 顺序表 3.1.3. 顺序表编程实现 操作:增删改查 .h 文件 #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #define N 10 typedef struct seqlist {int data[N];int last; //代表数组中最后一个有效元素的下标 } seqlist_t;//1.创建一个空的顺序表 seq…...
前端里的this指向问题
目录 1.代码输出结果 2.代码输出结果 3.代码输出结果 4.代码输出结果 5.代码输出结果 6.代码输出结果 7.代码输出结果 8.代码输出结果 9.代码输出结果 10.代码输出结果 11.代码输出结果 12.代码输出结果 13.代码输出结果 14.代码输出结果 总结 1.代码输出结果 f…...
pandas(11 分类数据和数据可视化)
前面内容:pandas(10 日期和Timedelta) 目录 一、Python Pandas 分类数据 1.1 pd.Categorical() 1.2 describe() 1.3 获取类别的属性 1.4 分类操作 1.5 分类数据的比较 二、Python Pandas 数据可视化 2.1 基础绘图:plot 2.2 条形图 2.3 直方…...
cmake Qt Mingw windows构建
今天教大家怎么在windows构建qt应用使用cmd命令行,而不是一键通过QtCreator一键构建。首先我们用qtcreator创建一个模板程序(PS:记得在安装qt时要悬着mingw套件,如果安装太慢可以换源) 输入以下的命令: mkdir build …...
缓存穿透、缓存击穿、缓存雪崩的区别与解决方案
1. 缓存穿透(Cache Penetration) 定义:大量请求查询 数据库中不存在的数据,导致请求绕过缓存直接访问数据库,造成数据库压力过大。 场景: 恶意攻击:例如用不存在的用户ID频繁请求。 业务误操作…...
【Rust中级教程】1.6. 内存 Pt.4:静态(static)内存与‘static生命周期标注
喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 1.6.1. 静态(static)内存 static内存实际上是一个统称,它指的是程序编译后的文…...
Python爬虫实战:股票分时数据抓取与存储 (1)
在金融数据分析中,股票分时数据是投资者和分析师的重要资源。它能够帮助我们了解股票在交易日内的价格波动情况,从而为交易决策提供依据。然而,获取这些数据往往需要借助专业的金融数据平台,其成本较高。幸运的是,通过…...
HTML之JavaScript对象
HTML之JavaScript对象 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><s…...
【第12章:深度学习与伦理、隐私—12.3 深度学习模型的透明性与可解释性提升策略】
凌晨三点的ICU病房,AI辅助诊断系统将一位患者的肺炎误判为普通感冒——当主治医生要求查看诊断依据时,系统只能给出冷冰冰的概率数值。这场惊心动魄的误诊事件,掀开了深度学习可解释性危机的冰山一角。 一、模型透明的"第一性原理" 1.1 可解释性的三维度量 ![可…...
SOCKET建立简单的tcp服务端与客户端通信
socket是什么 socket可以使两台机子建立连接,就像连接风扇与电源的插座一样,socket可以使服务端与客户端建立连接,服务端就像供电厂,而客户端就像用电器,而socket就是连接二者的插座。 建立简单的连接 如果我们想在客…...
最新智能优化算法: 阿尔法进化(Alpha Evolution,AE)算法求解23个经典函数测试集,MATLAB代码
一、阿尔法进化算法 阿尔法进化(Alpha Evolution,AE)算法是2024年提出的一种新型进化算法,其核心在于通过自适应基向量和随机步长的设计来更新解,从而提高算法的性能。以下是AE算法的主要步骤和特点: 主…...
HTML之JavaScript常见事件
HTML之JavaScript常见事件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&…...
《云原生安全攻防》-- K8s镜像安全:镜像全生命周期安全管理
从攻击者的角度来看,针对容器镜像的软件供应链攻击和镜像投毒等攻击方式,不仅攻击成本低,而且还能带来更高且持久的收益。因此,镜像安全问题变得日益突出。 在本节课程中,我们将深入探讨镜像全生命周期的安全管理&…...
【Copilot】Redis SCAN SSCAN
目录 SCAN 命令SSCAN 命令使用示例原理Redis SCAN 和 SSCAN 命令的注意事项及风险注意事项风险 以下内容均由Github Copilot生成。 SCAN 和 SSCAN 命令是 Redis 提供的用于增量迭代遍历键或集合元素的命令。它们的主要优点是可以避免一次性返回大量数据,从而减少对 …...
【含开题报告+文档+PPT+源码】基于Spring+Vue的拾光印记婚纱影楼管理系统
开题报告 本论文旨在探讨基于Spring和Vue框架的拾光印记婚纱影楼管理系统的设计与实现。该系统集成了用户注册登录、个人资料修改、婚庆资讯浏览、婚庆套餐查看、婚纱拍摄预约、婚纱浏览与租赁、客片查看以及在线客服等多项功能,为用户提供了一站式的婚纱影楼服务体…...
静态页面在安卓端可以正常显示,但是在ios打开这个页面就需要刷新才能显示全图片
这个问题可能有几个原因导致,我来分析一下并给出解决方案: 首要问题是懒加载实现方式的兼容性问题。当前的懒加载实现可能在 iOS 上不够稳定。建议修改图片懒加载的实现方式: // 使用 Intersection Observer API 实现懒加载 function initLazyLoading() {const imageObserver…...
【Qt】QObject类的主要功能
在 Qt 中,QObject 类是所有 Qt 对象的基类,提供了许多基础功能,使得 Qt 的对象系统能够有效地工作。它为其他类提供了核心的机制,比如信号和槽机制、对象树结构、内存管理等。 QObject 类的主要功能: 信号和槽机制&am…...
第 16 天:游戏 UI(UMG)开发,打造主菜单 血条!
🎯 目标 ✅ 使用 UMG 创建 UI 并在游戏中显示 ✅ 实现血条(HP Bar)系统,动态显示角色生命值 ✅ 创建主菜单 UI,并添加开始/退出按钮 ✅ 保存当前场景,创建新场景作为主菜单 ✅ 点击 StartGameButton 后&am…...
兔兔答题应用于微信考试、付费考试、社会调查问卷、明星知识问答、员工培训考核、模拟自测、企业面试、试题库等多种场景。
“兔兔答题系统”是一个面向教育、培训和在线测评场景的智能化答题平台(兔兔答题官网地址)。其设计目标是帮助用户高效完成题目练习、考试组织及学习效果分析,通常具备以下核心功能和特色: 一、核心功能 题库管理 支持多题型录入&…...
【办公类-90-02】】20250215大班周计划四类活动的写法(分散运动、户外游戏、个别化综合)(基础列表采用读取WORD表格单元格数据,非采用切片组合)
背景需求: 做了中班的四类活动安排表,我顺便给大班做一套 【办公类-90-01】】20250213中班周计划四类活动的写法(分散运动、户外游戏、个别化(美工室图书吧探索室))-CSDN博客文章浏览阅读874次࿰…...
19.4.6 读写数据库中的二进制数据
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 需要北风数据库的请留言自己的信箱。 北风数据库中,类别表的图片字段在【数据表视图】中显示为Bitmap Image࿱…...
使用 Python 爬虫获取微店快递费用 item_fee API 接口数据
在电商运营中,快递费用是影响商家利润和用户体验的重要因素之一。微店作为国内知名的电商平台,提供了丰富的 API 接口供开发者使用,其中也包括查询商品快递费用的接口。通过调用微店的 item_fee 接口,开发者可以获取指定商品的快递…...
蓝桥杯篇---温度传感器 DS18B20
文章目录 前言DS18B201. DS18B20 引脚说明2. 单总线通信协议3. DS18B20 操作流程初始化写操作读操作 4. 示例代码5. 代码说明6. 注意事项总结 前言 本文简单介绍了IAP15F2K61S2中温度传感器模块DS18B20的使用。 DS18B20 DS18B20 是一款数字温度传感器,采用单总线&…...
NAC网络接入控制三种认证方式802.1X认证、MAC认证和Portal认证
NAC网络接入控制三种认证方式802.1X认证、MAC认证和Portal认证 1.NAC简介2.802.1X认证3. MAC认证4. Portal认证 1.NAC简介 NAC(Network Access Control)称为网络接入控制,通过对接入网络的客户端和用户的认证保证网络的安全,是一…...
字节Trae使用感想(后端)
前言 昨天分享了字节哥的Trae从0到1创作模式构建一个vue前端项目,今天又来试试她的后端项目能力。不是我舔,不得不说确实不错。可惜现在曾经没有好好学习,进不了字节。既然进不了字节,那我就用字节哥的产品吧。 后面有惊喜…...
蓝桥杯 Java B 组之简单动态规划(爬楼梯、斐波那契数列)
Day 6:简单动态规划(爬楼梯、斐波那契数列) 动态规划(Dynamic Programming,简称 DP)是计算机科学中的一种算法设计思想,用来解决最优解问题,它的核心思想是将大问题分解为小问题&am…...
传统 I/O 和 NIO 的主要区别
在 Java 中,文件读写可以通过传统的 I/O 方式(如 InputStream 和 OutputStream)或 NIO(New I/O)方式(如 FileChannel)来实现。NIO 的 FileChannel 提供了更高效的文件操作方式,尤其是…...
0基础学LabVIEW
对于零基础的朋友来说,学习LabVIEW需要一个科学的学习路径和方法。通过观看优质的B站教程打好基础,再结合实际项目进行实践操作,能够快速提升LabVIEW的应用能力。以下是从入门到进阶的学习建议。 一、利用B站入门教程打基础 筛选优质教程…...
二〇二四年终总结
写在前面 简单总结一下告诉自己,曾经活着 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树 原本应该 24 年年中的时候写 23 年年终的总结,但是一直拖着&…...
设计模式:状态模式
状态机有3个要素:状态,事件,动作。 假如一个对象有3个状态:S1、S2、S3。影响状态的事件有3个:E1、E2、E3。每个状态下收到对应事件的时候,对象的动作为AXY。那么该对象的状态机就可以用如下表格来表示。S1收到事件E1的…...
SQLite Select 语句详解
SQLite Select 语句详解 SQLite 是一个轻量级的数据库管理系统,以其简洁的设计和高效的性能被广泛应用于各种场景。在 SQLite 中,SELECT 语句是用于查询数据库中的数据的命令。本文将详细介绍 SQLite 的 SELECT 语句,包括其基本语法、常用功…...
【深度学习】计算机视觉(CV)-目标检测-Faster R-CNN —— 高精度目标检测算法
1.什么是 Faster R-CNN? Faster R-CNN(Region-based Convolutional Neural Network) 是 目标检测(Object Detection) 领域的一种 双阶段(Two-Stage) 深度学习方法,由 Ross Girshick…...
静默安装OGG for MySQL微服务版本,高效开展数据同步和迁移
一、背景 本文从Oracle GoldenGate微服务版的概念和组件介绍开始,从零介绍了怎么开始安装GoldenGate 21c for Oracle微服务版本的软件及部署。当然了,微服务版除新功能外包含传统版所有的功能。 二、安装部署 (一)下载OGG for …...
排序算法衍生问题
排序算法衍生问题 引言 排序算法是计算机科学中的基本问题之一,广泛应用于各种实际场景中。尽管有多种排序算法可供选择,但每种算法都有其特定的优势和局限性。本文将探讨排序算法中的一些衍生问题,包括算法效率、稳定性、内存占用等方面&a…...
DeepSeek自动化写作软件
DeepSeek写作软件的三大核心功能 对于内容创作者来说,写作不仅是表达思想的过程,更是一项需要投入大量时间和精力的任务。面对日益增长的内容需求,写作效率低下、内容质量不高等问题,常常让创作者感到焦虑。而 DeepSeek 写作软件…...