- 博客(979)
- 资源 (1)
- 收藏
- 关注

转载 2025年Java面试题
AOF和RDB是两种redis持久化的机制。重写和重载的区别ssm原理servlet生命周期自定义注解说一说sleep和wait的区别map的遍历方式有几种线程有几种创建方式说一下图论算法int有4个字节mysql的联合索引linux怎么查看端口号netstat -tunpl | grep 端口号fegin怎么暴露出来 fegin有哪些注解hashMap不是线程安全的,ConcurrentHashMap 是线程安全的 redis和mysql的事物有那么一些不一样redis幂等
2022-06-25 09:23:02
2682
转载 什么是cpu时间片?
CPU通过时间片轮转机制调度线程:每个线程被分配固定时间片(如10毫秒),必须在时限内完成任务。若时间耗尽未完成,线程暂停并被移入就绪队列,等待下次被调度时获得新的时间片继续执行。这种机制确保多个线程公平共享CPU资源,通过交替执行实现并发效果。时间片长度影响系统响应速度和吞吐量,是操作系统实现多任务处理的核心技术之一。
2025-06-14 19:02:57
12
转载 线程池和单个线程的区别?
才能执行任务,当线程过多的时候,cpu会大量的浪费时间在这些线程从内核态到用户态,用户态到内核态的切换。1.单个线程创建成本比较高,每个线程占用1mb栈内存,每个线程都需要操作系统内核为其分配资源,2.线程池是管理线程的,会设置一个线程的上限,不会无限的创建,防止内存溢出。当阻塞队列满了,才会创建非核心线程,去执行任务,当最大线程数也满了。3.当核心线程数满了之后,再有新的任务进来会进入阻塞队列排队,,当线程完成任务后,不会销毁,而是回到线程池中,等待新的任务。
2025-06-14 18:29:34
11
转载 mysqlbinlog常用命令
本文介绍了查看MySQL binlog文件内容的命令格式及参数说明,包括使用--no-defaults忽略配置文件、-vv转换为SQL语句、--base64-output=DECODE-ROWS隐藏base64格式内容。同时简要提及了基于时间点和字节位置两种恢复binlog文件内容的方法。摘要概括了binlog查看命令的关键参数和两种恢复方式,未超过150字限制。
2025-06-14 16:34:04
10
转载 mysqlbinlog解析常见问题
摘要:解决mysqlbinlog使用时可能出现的两个问题:1)配置不匹配时添加--no-defaults参数忽略配置;2)ROW格式日志不显示SQL语句时,添加-vv --base64-output=DECODE-ROWS参数转换二进制为详细SQL并过滤冗余数据。完整命令示例:mysqlbinlog --no-defaults -vv --base64-output=DECODE-ROWS mysql-bin.000002。
2025-06-14 16:27:17
8
转载 binlog常用命令
MySQL开启和操作binlog的方法:首先在my.cnf中设置log-bin=mysql-bin启用binlog。通过命令show VARIABLES like 'log_bin'可查看是否开启。关键操作包括:查看binlog格式、文件列表及存储位置;使用flush logs创建新日志文件;通过show master status获取当前写入位置;用reset master清空所有日志,或purge binary logs to删除指定编号前的日志文件。这些命令主要用于二进制日志的管理和维护。
2025-06-08 17:23:25
17
转载 sync_binlog刷盘策略参数
本文总结了事务提交的三种刷盘策略:0策略依赖系统自动刷盘,但存在数据丢失风险;1策略在每次事务提交时强制刷盘,确保数据安全但性能较低;N策略采用累计N个事务后刷盘的方式,在数据安全和性能之间取得平衡。不同的刷盘策略适用于不同业务场景,需要根据数据重要性、性能需求等因素进行权衡选择。
2025-06-02 16:42:32
21
转载 binlog落盘原理
事务执行时生成binlog事件并写入缓存,提交阶段通过sync_binlog参数控制刷盘策略。该参数可设定为0(系统自行决定)、1(每次提交都刷盘)或N(累积N次提交后刷盘),不同设置会影响性能和数据安全性的权衡。1设置最安全但性能损耗最大,0设置性能最优但存在数据丢失风险。
2025-06-02 16:41:35
16
转载 mysql在删库进行恢复数据的时候,为什么是binlog而不是undo log?
MySQL的binlog和undo log功能不同:binlog记录所有数据变更,用于时间点数据恢复;undo log仅保存未提交事务的修改,用于事务回滚,提交后会逐步清理。binlog可长期留存,而undo log是临时性的。
2025-06-02 15:32:44
16
转载 mysql在删库进行恢复数据的时候,为什么是binlog而不是redolog?
摘要:binlog记录所有数据修改的SQL语句或行变更,支持基于时间和事务位置的数据恢复;而rodolog记录物理页面修改,采用循环写入方式仅保留近期修改,主要用于保证事务持久性,不适合长期数据存储。两者在日志记录方式和用途上存在明显差异。
2025-05-30 19:01:35
18
转载 binlog三种记录模式的优缺点?
本文对比了三种数据库日志格式的特点。statement格式日志量小,可读性强,但可能导致主从不一致,适合简单SQL操作;row格式确保主从数据一致,但日志量大且可读性差,适合高一致性场景;mixed格式平衡了日志量和安全性,但仍有部分存储开销,适合通用场景。三种格式各有优缺点,应根据具体需求选择使用。
2025-05-25 22:21:06
20
转载 binlog的主要用途
MySQL的binlog是二进制日志文件,主要用于实现主从复制和数据恢复。在主从架构中,从服务器通过读取主服务器的binlog来同步数据变更。binlog还支持数据恢复,通过备份和回放特定时间点的日志记录可以实现数据还原。此外,binlog完整记录了数据库的所有修改操作,可用于数据审计以追踪变更历史。这些功能使binlog成为MySQL数据库运维管理的重要工具。
2025-05-25 21:56:36
14
转载 binlog三种记录模式分别是什么意思?
MySQL提供了三种二进制日志格式:statement记录SQL语句,row记录行数据变化(默认模式),mixed则是混合模式自动选择前两者。这些格式决定了数据库如何记录变更,影响复制、恢复和审计功能。
2025-05-25 21:48:07
26
转载 binlog主要特点
二进制事务日志记录数据库修改,支持三种存储模式:基于语句(statement)、基于行(row)和混合模式(mixed),按提交顺序持久化数据变更。
2025-05-25 21:39:52
12
转载 什么是binlog?
MySQL的binlog是二进制日志文件,记录所有对数据库的修改操作(DDL和DML),包括表结构变更和数据更新,但不记录查询语句(如SELECT/SHOW)。它主要用于数据复制、恢复和审计。
2025-05-24 21:11:34
13
转载 多线程怎么保证原子性?
并发编程优化策略小结:针对不同场景选择合适的并发控制方案。简单操作优先采用Atomic原子类保证原子性;复杂业务逻辑使用同步锁确保线程安全;读多写少场景推荐读写锁提高性能;高并发环境下建议采用无锁CAS算法减少线程阻塞。这些策略可根据实际情况组合使用,在保证线程安全的同时优化系统性能。
2025-05-24 20:19:41
25
转载 JVM怎么调优metaspace(元空间)?
3.使用jcmd命令检查那些类被频繁加载,但是没有被卸载的情况,避免metaspace泄漏。1.可以调整初始元空间大小和最大元空间大小,例如初始设置为256m,最大设置为512m。2.通过jstat命令查看metaspace使用情况,判断是否需要调整大小。4.使用G1垃圾回收器,来减少metaspace full gc。
2025-04-13 23:40:15
126
转载 springboot内置的tomcat的拒绝策略有哪些?
2.请求层拒绝:当所有线程满了并且等待队列也满了,新请求被拒绝,返回http 503状态码。1.连接层拒绝:当tomcat的连接数达到最大连接数的时候,新连接会被直接拒绝。4.资源耗尽拒绝:内存不足的时候,tomcat直接崩溃。3.超时拒绝:默认60秒未完成请求会断开连接。
2025-04-13 23:23:28
52
转载 springboot内置的tomcat的最大线程数和最大连接数是怎么计算来的?
1.最大线程数计算方式:官方硬编码无需计算,但是可以通过cpu核心数*(10到50之间)来动态修改。2.最大连接数计算方式:2的13次方或者nio模式的10000,方便配置和记忆。
2025-04-13 23:07:14
116
转载 springboot内置的tomcat设置的基本参数有那些?
9.http请求头大小限制:默认8kb。10.post数据大小限制:默认2mb。7.连接超时时间:默认6万毫秒。8.等待队列长度:默认100。4.最大连接数:默认8192。6.最小工作线程数:默认10。5.最大线程数:默认200。1.端口号:默认8080。
2025-04-13 22:10:06
97
转载 mysql中系统表(元数据)中的3个数据库分别表示什么意思?
1. information_schema:包含所有数据库、表、列、权限等元数据。3. performance_schema:性能监控数据。2. mysql:存储用户权限、插件等信息。
2025-04-13 21:40:42
27
转载 美团sql面试题,订单表orders,商品表produts,品牌表brands
1、订单表orders包含字段:订单ID.下单时间,订单金额,用户ID,商品ID。商品类目,品牌ID。2、商品表produts,包含字段:商品ID,商品名称,3、品牌表brands,包含字段:品牌ID,品牌名称。
2025-04-13 01:17:13
68
转载 mysql的数据页是什么?
1.数据页是innodb存储引擎中存储:b+树叶子节点行记录,b+树非叶子节点索引值和子页指针,3.数据页存储结构包含文件头,页头,行记录,页目录,文件尾。5.通过页目录实现二分查找,快速查找内容。4.每个数据页有一个32位的唯一页号。undo log,系统信息。2.默认大小为16kb。
2025-04-06 14:21:46
39
转载 tcp为什么需要三次握手?
1.在第二次握手的时候,服务端会等待ACK并超时重传SYN+ACK,不会立即认为连接建立。2.在三次握手的时候,通过最后一次确认,确保双方都已经连接上了,避免资源浪费。
2025-04-05 00:59:41
23
转载 http三次握手是什么?
4.tcp第二次握手,服务端收到报文后,确认客户端的序列号,同意连接,并发送SYN+ACK给客户端,3.tcp第一次握手,客户端发送SYN同步包到服务端,请求建立连接,并告知服务端自己的初始序列号。5.tcp第三次握手,客户端收到报文后,确认服务端的序列号,再次发送ACK到服务端,连接正式建立。1.http不直接涉及三次握手,http的底层基于tcp协议,tcp建立连接会进行三次握手。2.http通信前必须建立tcp连接。告知客户端自己的初始序列号。
2025-04-05 00:58:44
63
转载 数据库三大范式是什么?
1.第一范式:每列只能有1个原子值,不能出现数组或者逗号分隔,每行必须有一个主键或者联合主键。2.第二范式:针对联合主键的表,非主键字段,必须依赖联合主键,否则拆分表。3.第三范式:非主键字段之间不能相互依赖,否则拆分表。
2025-04-05 00:01:26
46
转载 你知道mysql如何保障数据不丢失的吗?
1.通过redo log,double write,bin log,undo log,备份策略来保证数据不丢失。
2025-03-31 00:17:30
32
转载 redo log两段式提交如何保障数据不丢失
4.把redo log buffer的事务状态改为commit,更新磁盘中的redo log文件的事务状态。1.在准备阶段,所有修改操作先记录到redo log buffer,记录事务状态为prepare。2.立即刷盘,把redo log buffer的数据写入磁盘的redo log文件。6.如果发现是事务状态是prepare,检查事务是否有对应的binlog记录。3.在提交阶段,将事务操作写入到bin log并刷盘。7.如果有bin log,重做redo 事务。9.如果事务状态是commit,跳过。
2025-03-31 00:16:46
22
转载 mysql的两阶段提交,什么是两阶段提交 2pc?
2.是mysql确保事务在innodb存储引擎和服务器二进制日志bin log之间保持一致性的核心机制。5.innodb先将事务状态设置为prepare。7.准备阶段成功后,写入bin log 并刷盘。6.写入redo log并刷盘,返回准备成功。8.innodb将事务状态设置为commit。4.两阶段是将事务分为准备阶段和提交阶段。9.再次写入redo log并刷盘。3.要么都提交成功,要么都回滚。1.两阶段提交简称2pc。
2025-03-31 00:16:03
40
转载 redo log如何保障数据不丢失
2.预写日志就是所有修改的操作先写入redo log buffer,然后根据刷盘策略写入到磁盘的redo log文件。3.通过后台线程异步刷盘,把磁盘的redo log文件的数据写入到磁盘的.ibd独立表空间文件。4.在mysql崩溃,重启后通过磁盘上的redo log文件来恢复已提交事务,未刷盘的数据。1.通过预写日志(wal)和崩溃恢复,两阶段提交,双写,checkpoint机制来实现的。7.通过checkpoint机制标记已持久化数据,减少恢复时间。5.通过两阶段提交,避免半成功事务。
2025-03-31 00:15:22
29
转载 redo log的缺点
2.在大事务或者高负载场景下,恢复的时间比较长,恢复时间依赖日志量。3.只能恢复已提交的事务,如果人为把表删除了,那么无法进行备份。1.双重写入占用磁盘空间比较大,磁盘io性能下降。
2025-03-31 00:14:29
23
转载 redo log的核心功能?
5.double write防止部分页写入损坏。4.checkpoint机制标记持久化位置。3.预写日志wal+强制刷盘。1.追加写入,顺序io。2.先写内存在写磁盘。
2025-03-31 00:13:42
20
转载 mysql中的double write是什么意思?
1.比如说,一个磁盘页16kb,系统发生了宕机只写了几kb没写全。2.double write就是防止数据页部分内容写入问题。4.然后将页,顺序写入磁盘.ibdata1文件上的双写区域。3.当需要将脏页刷到磁盘的时候,先写入内存中的双写缓冲区。5.最后才写入实际的磁盘里面的数据文件位置。
2025-03-31 00:07:27
46
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人