自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

零零年代的风的博客

人生没有白走的路,每一步都算数!

  • 博客(115)
  • 问答 (3)
  • 收藏
  • 关注

原创 Idea中如何在一个项目中引入其他子模块?

首先在Settings打开Project Structure,然后找到Modules,点击加号点击import module,将需要引进的module引进来。

2023-09-10 19:19:09 1169

原创 IDEA 断点调试,为啥有的时候断点没有起作用?

1.编译问题:确保代码已经编译并且最新版本已经部署到运行环境中。如果代码没有被正确编译或部署,断点可能无法生效。2.优化编译器:有些情况下,编译器可以对代码进行优化以提高性能。这可能会导致某些断点无法正常使用。您可以尝试禁用编译器优化来解决此问题。在Debug配置中打开“Enable alternative view for collections classes"选项。3.位置与源代码不匹配:如果您在调试时更改了源代码或移动了断点,但是运行时的代码与此不一致,那么断点可能会失效。请确保断点位置与实际执

2023-06-29 17:09:02 9593

原创 MySQL 性能调优 篇(三)

MySQL的性能优化主要分为以下四个方面设计: 存储引擎、字段类型、索引功能:缓存、分库分表、数据库连接池架构上: 读写分离、集群、均衡负载合理的SQL: 测试、优化查询语句、Explain查询执行计划、慢日志

2023-04-22 00:09:16 931 1

原创 idea中的 debug 中小功能按钮都代表的意思

步过----->一行一行的往下走,如果这一行中有方法那么不会进入该方法,直接一行一行往下走,除非你在该方法中打入断点。恢复程序—>从当前断点恢复程序运行,如果有下一个断点就到下一个断点处暂停,如果没有那么就直接运行程序到结束。10.Mute Breakpoints哑断点—>取消所有的断点,将当前的断点视为无效。步入—>可以进入方法内部,但是只能进入自己写的方法内部,而不会进入方法的类库中。强制步入---->可以步入任何方法,包括类库中的方法。退回断点----->从当前位置退回到之前断点处。

2023-04-17 14:45:16 582

原创 SpringBoot项目上传超过10M的文件失败,通过在application.properties或者yml中修改文件大限制制作的配置无效的解决方法

SpringBoot项目上传超过10M的文件失败,通过在application.properties或者yml中修改文件大限制制作的配置无效的解决方法org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (16551260) exceeds the configured maximum (10485760)

2023-04-15 16:00:03 1057

转载 Oracle 中常用的函数小结(一)

Oracle 中的一些常用的函数小结

2023-03-29 17:24:38 244

原创 ORA-28000错误的原因及解决办法

当用Oracle数据库的时候,Oracle数据库时提示“ORA-28000:帐号被锁定”。 导致出现改错误的原因是:在**oracle database 11g**中,默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10”,当输入密码错误次数达到设置值将导致此问题。解决思路:将尝试登录次数的限制修改为不受限

2023-03-08 12:21:09 11556

原创 ORA-28000错误的原因及解决办法

当用Oracle数据库的时候,Oracle数据库时提示“ORA-28000:帐号被锁定”。 导致出现改错误的原因是:在**oracle database 11g**中,默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10”,当输入密码错误次数达到设置值将导致此问题。解决办法如下:将尝试登录次数的限制修改为不受限:

2023-03-08 12:19:44 982

原创 Oracle启动数据库报ORA-01102解决办法

这个错误主要是lk文件造成的该文件位于ORALCE_HOME下的dbs目录下,/sbin/fuser的主要功能是使用文件或者套接字来表示识别进程。常把它用来查看相关进程和杀死相关进程。此处用来清除lk文件/sbin/fuser -u /u01/app/oracle/这个lk的主要作用是说明DATABASE MOUNT上了,不用在MOUNT了.DATABASE UNMOUNT 后会删除掉,如果DATABASE确实没有MOUNT,这个文件在你也MOUNT上,只有手工删除

2023-03-07 19:18:33 726

原创 Error in invoking target ‘install‘ of makefile ‘../dbhome_1/ctx/lib/ins_ctx.mk‘ ...

在Linux CentOS7 中安装oracle11g数据库过程中弹出错误:Error in invoking target ‘install’ of makefile ‘/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. See ‘/home/oracle/app/oraInventory/logs/installActions2020-01-02_11-43-42AM.log’ for details.,如下图所示

2023-03-07 19:07:05 395 1

原创 Spring 中事务的传播级别

REQUIRED(默认):默认的隔离级别,如果当前存在一个事务,就加入该事务,如果当前没有事务,就创建一个新的事务。REQUIRED_NEW:不管当前是否存在事务,都创建一个新的事物。新老事务是独立存在的,如果老的事务抛异常了,但是不会影响新事物的提交。NESTED:嵌套事务。如果当前存在事务,就嵌套当前的事务中,如果当前没有事务,就新建一个事务。

2023-03-05 22:32:17 854 1

原创 Redis 支撑秒杀场景的关键技术和实践都有哪些?

秒杀是一个非常典型的活动场景,比如,在双 11、618 等电商促销活动中,都会有秒杀场景。秒杀场景的业务特点是限时限量,业务系统要处理瞬时的大量高并发请求,而 Redis 就经常被用来支撑秒杀活动。不过,秒杀场景包含了多个环节,可以分成秒杀前、秒杀中和秒杀后三个阶段,每个阶段的请求处理需求并不相同,Redis 并不能支撑秒杀场景的每一个环节。

2023-01-08 21:47:30 589

原创 浅谈 Redis 的切片集群

切片集群,也叫分片集群,就是指启动多个 Redis 实例组成一个集群,然后按照一定的规则,把收到的数据划分成多份,每一份用一个实例来保存。回到我们刚刚的场景中,如果把 25GB 的数据平均分成 5 份(当然,也可以不做均分),使用 5 个实例来保存,每个实例只需要保存 5GB 数据。

2023-01-06 17:10:48 589

原创 浅谈哨兵机制的原理

哨兵其实就是一个运行在特殊模式下的 Redis 进程,主从库实例运行的同时,它也在运行。哨兵主要负责的就是三个任务:监控、选主和通知。

2023-01-05 12:08:22 1563

原创 详解哨兵之间是如何通信的

哨兵只要和主库建立起了连接,就可以在主库上发布消息了,比如说发布它自己的连接信息(IP 和端口)。同时,它也可以从主库上订阅消息,获得其他哨兵发布的连接信息。当多个哨兵实例都在主库上做了发布和订阅操作后,它们之间就能知道彼此的 IP 地址和端口。在主从集群中,主库上有一个名为“_ _ sentinel_ _ :hello”的频道,不同哨兵就是通过它来相互发现,实现互相通信的。

2023-01-04 19:43:44 1183 1

原创 一文看懂 Redis 主从同步的原理

Redis 主从同步的基本原理有三种,分别是:全量复制,基于长链接的命令传播,增量复制。文中详细介绍了这三种方式,点击查看吧!(包会)

2023-01-03 21:43:58 2103

原创 面试常问的 RDB 和 AOF 的优缺点

RDB 的优点:1、体积更小;2、恢复更快;3、性能更高。RDB 的缺点:1、故障丢失;2、耐久性差。AOF 的优点:1、数据保证;2、自动缩小。AOF 的缺点:1、性能相对较差;2、体积相对更大;3、恢复速度更慢。其中,rdb体积更小是指相同的数据量 RDB 数据比 AOF 的小,因为 RDB 是紧凑型文件。

2023-01-03 10:00:03 962

原创 详解 Redis 中的 RDB 快照

对 Redis 来说,它实现类似照片记录效果的方式,就是把某一时刻的状态以文件的形式写到磁盘上,也就是快照。这样一来,即使宕机,快照文件也不会丢失,数据的可靠性也就得到了保证。这个快照文件就称为 RDB 文件,其中,RDB 就是 Redis DataBase 的缩写。

2023-01-02 18:57:13 1394

原创 详解 Redis 中的 AOF 日志

AOF(Append Only File)追加写, AOF 日志它是写后日志,“写后”的意思是 Redis 是先执行命令,把数据写入内存,然后才记录日志。Redis 在写日志的时候并不会像 MySQL 那样有语法检查的,Redis 没有。所以先写日志在执行命令的话,日志中有可能记录了错误的命令,这样在故障恢复的时候可能恢复出不正确的数据。

2023-01-02 16:15:37 1223 3

原创 面试官问你 为什么 Redis 单线程这么快?这样答会加分!

Redis 是单线程,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。所以,严格来说,Redis 并不是单线程,但是我们一般把 Redis 称为单线程高性能,这样显得“酷”些。接下来,我也会把 Redis 称为单线程模式。而且,这也会促使你紧接着提问:“为什么用单线程?为什么单线程能这么快?”要弄明白这个问题,就要深入地学习下 Redi

2022-12-23 23:07:15 130

原创 面试官问 Redis 的数据结构的时候怎么答能加分?

绝大多数的人都能回答上来这五个,String,List,Hash,Set,Zset这五个。这么回答没有亮点,如果你能答上来每个数据结构的底层用了哪些数据类型就好了,其实上述五种每一个都都是由一个或者多个基本数据类型结合出来的,那接下来我们聊一下 Redis 的基本数据结构。简单来说,底层数据结构一共有 6 种,分别是简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。 它们和数据类型的对应关系如下图所示:

2022-12-23 21:22:59 622

原创 简述 MySQL 的字符集和比较规则(简洁明了)

字符集的概念:人们抽象出一个字符集的概念来描述某个字符范围的编码规则。比较规则的概念:对于某一种字符集来说,可以制定用来比较字符大小的多种规则,也就是说同一种字符集可以有多种规则。

2022-12-20 17:49:59 758

原创 一文看懂 InnoDB 的内存淘汰逻辑(LRU)

InnoDB 内存管理用的是最近最少使用 (Least Recently Used, **LRU**) 算法,这个算法的核心就是淘汰最久未使用的数据。 InnoDB 管理 Buffer Pool 的 LRU 算法,是用链表来实现的。

2022-12-18 22:04:40 609

原创 做全表扫描时数据表的内存大于 MySQL 内存,会不会被打爆?

我的数据库内存只有10G,现在我要对一个20G的大表做全表扫描,会不会把数据库内存(buffer pool)占满然后报OOM的错误?答案是不会的。InnoDB的数据是保存在主键索引上面的(主键索引最全),所以全表扫描扫描的是主键索引,由于没有其他的判定条件,所以查询到的每一行都放到结果集里面,然后返回给客户端。

2022-12-18 21:17:07 488

原创 关于缓存与数据双写一致性问题(清晰易懂)

一般来说,执行更新操作时,我们会有两种选择:先操作数据库,再操作缓存先操作缓存,再操作数据库这两个操作要么同时成功,要么同时失败。所以,这会演变成一个分布式事务的问题。如果原子性被破坏,会有两种情况:操作数据库成功,操作缓存失败操作缓存成功,操作数据库失败

2022-12-17 20:53:52 659

原创 MySQL 主备延迟及解决方案(清晰易懂)

主备延迟的来源:如果备库所在的机器性能比主库所在的机器性能差;因为性能不一样,备库消费 (relay log) 的速度没有主库。binlog 生成的快,造成了“消息积压”;备库压力大大事务。主备延迟最直接的表现是,备库消费中转日志(relay log)的速度,比主库生产 binlog 的速度要慢。

2022-12-16 21:03:33 785

原创 解密 MySQL 的主备一致

MySQL 实现主备一致肯定是 binlog。毫不夸张的说,MySQL 能够成为现在最流行的开源数据库,binlog 功不可没。MySQL主备的基本原理.........

2022-12-16 13:09:59 608

原创 MySQL的主备和主从的区别

在高可用下可以被选成主库的叫备库,其他的叫从库。备库也是从库。

2022-12-16 09:40:11 337

原创 简述Redis的过期机制

Redis的过期机制Redis的过期策略,是有定期删除+惰性删除两种。

2022-12-13 20:25:40 589

原创 面试官:你说一说有哪些类型的缓存?

缓存是高并发场景下提高热点数据访问性能的一个有效手段,在开发项目时会经常使用到。缓存的类型分为:本地缓存、分布式缓存和多级缓存。

2022-12-13 20:21:10 220

原创 Java中抽象类(abstract class)和接口(Interface)的区别(详细)

1.抽象类可以有构造方法;接口不能有构造方法。2.抽象类中可以有普通成员变量;接口没有普通成员变量。3.抽象类中可以包含非抽象的普通方法;接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。4.抽象类的抽象方法的访问类型可以是public、protected;接口中的抽象方法只能是pulic类型,且默认为public abstract5.抽象类中可以包含静态方法;接口中不能包含静态方法。6.抽象类和接口中都可以包含静态成员变量,抽象类中静态成员变量的访问类型可以任意,但接口中定义的变

2022-12-12 22:14:14 235

原创 面试官:你说一说MySQL查询慢应该怎么办?

QL语句执行慢有两种情况:偶尔慢:MySQL在刷新脏redolog写满了,要往前推进checkpoint内存不够用了,要从LRU链表中淘汰,触发了脏页刷新MySQL认为系统空闲的时候,即使MySQL很忙,也要见缝插针地找时间,只要有机会就刷一点“脏页”MySQL关闭的时候上述所说也是MySQL中刷新脏页的时机。一直慢:MySQL索引没有设置好,查询时候优化器选错索引,SQL语句没有写好等。

2022-12-12 20:00:00 5766

原创 一文看懂MySQL的explian执行计划

文中详细说明了explain的各个字段的意义。看完就会。

2022-12-12 15:46:01 499

原创 面试题:docker中最常用的命令

docker images列出本机上的所有镜像docker search 镜像名字搜索镜像,默认是从官方搜索镜像::https://hub.docker.com/docker pull 某个XXX镜像名字[:TAG]如果不写TAG,默认就是拉取最新版的。等价于:docker pull 镜像名字:latestdocker rmi 某个XXX镜像名字ID删除镜像run进去容器,ctrl+p+q退出docker ps [OPTIONS]

2022-12-11 22:51:27 305

原创 面试官:你说一说MySQL的加锁规则

MySQL一行语句到底要加多少锁?首先说明一下,这些加锁规则都是林晓斌老师自己总结的。这篇是我自己总结的学习笔记。MySQL 后面的版本可能会改变加锁策略,所以这个规则只限于截止到现在的最新版本,即 5.x 系列

2022-12-10 17:00:04 135

原创 [Err] 1100 - Table ‘表名‘ was not locked with LOCK TABLES(MySQL表被锁定)

这个error是因为表被锁定了。表被锁定无法进行增删改查的操作可以使用unlock tables;命令进行解锁之后就可以进行正常操作了。

2022-12-10 13:04:08 4524

原创 MySQL性能调优——查询不返回结果和查询慢应该怎么办?(带案例)

文中详细的讲解了一些案例和场景,通俗易懂,看一遍就会,非常建议校招生看一看,其中场景都是可以复现的,建议边看边做,自己动手试一试,印象会更深刻。

2022-12-10 12:55:09 1486

原创 MySQL性能调优——函数、隐式类型转换、隐式字符编码对性能的影响

由于该字段上面有索引,所以放心的执行这条语句,但是却发现执行了特别久,为什么呢?因为MySQL的规定,如果对字段做了函数运算,那么就用不上索引了,因为在索引上不知道往哪个方向走了。但是优化器并不是放弃这个索引了,它会比较主键索引和当前索引的大小,选择走索引小的那个遍历,即选择最优的。解决办法: 尽量让sql语句不使用函数,sql可以长一点,把所有可能的条件都写上。

2022-12-09 21:51:54 746

原创 一文看懂MySQL中order by排序语句的原理

在排序字段没有索引的条件下,有两种排序方式,分别是全字段排序和rowid排序,文中详细的介绍了这两种方式。有索引的情况之下走索引就ok了,因为索引是有序的。

2022-12-09 16:24:15 1539

原创 MySQL性能调优——count()篇(二)

InnoDB 是索引组织表,主键索引树的叶子节点是数据,而普通索引树的叶子节点是主键值。所以,普通索引树比主键索引树小很多。对于 count(*) 这样的操作,遍历哪个索引树得到的结果逻辑上都是一样的。因此,MySQL 优化器会找到最小的那棵树来遍历,count( * )它是不取值的,它遍历的应该是不为null的小索引树字段。在保证逻辑正确的前提下,尽量减少扫描的数据量,是数据库系统设计的通用法则之一。

2022-12-07 11:36:29 941

空空如也

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

TA关注的人

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