自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

luckylong1998的博客

从未有过现在这样的执着,不需要承诺、无需誓言,只是想珍惜,仅此而已…

  • 博客(13)
  • 收藏
  • 关注

原创 Nacos架构及其注册中心和配置原理介绍

Nacos架构可以分为三个主要的组件:命名服务(Naming Service)、配置服务(Configuration Service)和元数据服务(Metadata Service)。

2023-07-02 22:25:27 468

原创 InheritableThreadLocal原理和ThreadLocal原理

在父线程中创建的 InheritableThreadLocal 变量的副本会被传递给子线程,子线程可以通过 InheritableThreadLocal 的 get() 方法获取父线程设置的变量副本。当子线程创建时,会从父线程的 InheritableThreadLocalMap 中复制变量副本,并将其存储在子线程的 InheritableThreadLocalMap 中,以实现变量的共享。每个线程都有一个独立的 ThreadLocal 实例,用于存储线程私有的变量副本。

2023-06-25 23:47:21 161

原创 golang实现socket5代理服务器

socket5代理服务端、用转发网络请求。端口号为58888​

2023-06-22 12:06:06 1000

原创 Spring 是如何解决循环依赖的?

但是,需要注意的是,如果循环依赖链过长,可能会导致性能下降和内存消耗增加的问题。同时,如果还有其他 Bean 依赖于 B,Spring 会继续解析它们的依赖关系,直到所有的 Bean 都创建完成。提前暴露:当创建 Bean A 时,如果发现 A 依赖于另一个正在创建的 Bean B,Spring 会将 A 提前暴露到早期对象工厂中,以便在 B 的创建过程中可以获取到 A 的引用。解析依赖:在创建 Bean B 时,如果 B 依赖于 A,Spring 会从早期对象工厂中获取 A 的引用,并注入到 B 中。

2023-06-20 23:46:03 115

原创 B+树的数据只保存在叶子节点?

在B+树中,叶子节点是存储实际数据的节点,它们按照键值的顺序链接在一起,形成一个有序的链表。每个叶子节点存储了一个范围的键值和对应的数据块的指针(或者是数据本身)。需要注意的是,B+树的定义和实现可以有所差异,某些特定的实现可能会在非叶子节点上存储部分数据或者使用其他技术进行优化。但是通常情况下,B+树的数据仍然主要存储在叶子节点上。通过这些指针,可以在树中进行快速的搜索和定位,以找到包含特定键值的叶子节点。是的,B+树中的数据通常只保存在叶子节点上,而非叶子节点只保存键值(或索引)。

2023-06-17 23:06:37 927 1

原创 Spring AOP浅谈

Spring AOP(面向切面编程)是Spring框架提供的一种编程范式,用于在应用程序中实现横切关注点的分离。在传统的面向对象编程中,我们将应用程序的功能逻辑封装在对象的方法中,这些方法被称为核心关注点。在Spring AOP中,横切关注点被称为切面(Aspect),切面是一个横跨多个对象的模块化单元,它定义了在应用程序的哪些地方执行什么操作。总之,Spring AOP是一种基于切面的编程思想,在应用程序中广泛使用,可以有效提高代码的可维护性、可扩展性和可重用性。

2023-06-17 22:54:07 30

原创 Java SPI机制

Java SPI机制是基于约定的,需要服务提供者按照规范进行实现和配置。这些是JDK中一些重要的组件和功能,它们使用了SPI机制来实现插拔式的设计和功能扩展。通过SPI机制,JDK提供了灵活性和可扩展性,使得开发者能够根据需要选择合适的实现或者提供自定义的实现。通过SPI机制,可以实现组件的解耦,使得组件的功能可以在运行时根据需求进行替换或扩展,而无需修改代码。Java SPI机制的核心思想是解耦,将接口的定义与实现分离,使得组件的功能点可以在运行时被动态地替换或扩展,而无需修改代码。

2023-06-17 22:52:16 108

原创 Redis主从架构如何存储

复制过程中,主节点将写操作的指令记录在内部的复制缓冲区(Replication Buffer),然后将指令发送给连接的从节点。需要注意的是,Redis的主从架构是异步复制的,即从节点的数据复制可能存在一定的延迟。主节点(Master)存储数据:主节点是数据的源头,所有写操作都在主节点上执行。从节点的数据存储:从节点将接收到的指令执行后,将数据存储在自己的内存数据库中。从节点的数据与主节点保持一致,实现了数据的冗余备份和高可用性。在Redis主从架构中,数据存储是通过主节点和从节点之间的数据复制来实现的。

2023-06-17 22:49:47 160

原创 MySQL解析器的原理

总之,MySQL解析器是MySQL数据库的核心组件之一,它实现了将SQL语句转换成MySQL可执行的内部查询语言的功能,为MySQL数据库提供了强大的查询和数据操作能力。MySQL解析器的实现需要考虑多种因素,包括语法分析、符号表维护、歧义解决和执行计划生成等。MySQL解析器的核心是基于LALR(Look-Ahead Left-to-Right Rightmost-derivation)算法实现的,它是一种上下文无关文法分析算法,使用自底向上分析的方式进行语法分析,具有较高的效率和灵活性。

2023-06-17 22:42:38 384

原创 说说聚簇索引和非聚簇索引的区别?

聚簇索引(Clustered Index)和非聚簇索引(Non-clustered Index)是数据库中两种不同的索引类型,它们在数据组织和访问方式上有所区别。

2023-06-17 22:38:24 119

原创 like查询如何走索引?

但是,在绝大多数情况下,可以通过前缀匹配和避免使用通配符开头来提高查询性能。全文搜索引擎支持多种查询类型和模糊匹配算法,并且能够基于文档的内容进行更精确的匹配。如果您需要执行更复杂的模糊查询操作,如基于单词的模糊搜索,那么使用全文搜索引擎通常比使用传统的。开头,那么无法使用索引来优化查询。因此,建议尽量避免在查询中使用通配符开头。查询的性能,可以考虑使用索引来优化查询。查询的通配符位于结尾或中间,则可以通过使用前缀匹配来优化查询。开头,则无法利用索引进行优化。查询中,如果使用通配符。3.使用全文搜索引擎。

2023-06-17 22:24:45 1731

原创 索引失效的情况有哪些?

索引过多、查询条件使用了OR操作等,都可能导致索引失效。为了避免索引失效,需要根据具体的业务场景和查询需求来进行索引的设计和优化。索引失效通常是指在数据库中创建的索引无法被查询优化器使用,从而导致查询性能下降或无法使用索引加速查询。

2023-06-17 22:20:21 1832 1

原创 docker安装mysql 8.0.20 版本 超详细教程

docker 安装mysql 版本 8.0.20版本第一步 下拉镜像docker pull mysql:8.0.20正在上传…重新上传取消第二步 启动镜像docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20正在上传…重新上传取消查看是否启动成功...

2020-05-02 15:11:37 28694 12

空空如也

空空如也

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

TA关注的人

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