SpringBoot应该是每个Java程序猿都会使用的基础框架了,对于SpringBoot的核心内容自动装配原理的掌握就显得非常重要了。 自动装配原理分析 1 理论介绍 Sp...
SpringBoot应该是每个Java程序猿都会使用的基础框架了,对于SpringBoot的核心内容自动装配原理的掌握就显得非常重要了。 自动装配原理分析 1 理论介绍 Sp...
Redis 通常是我们业务系统中一个重要的组件,比如:缓存、账号登录信息、排行榜等。 一旦 Redis 请求延迟增加,可能就会导致业务系统“雪崩”。 我在单身红娘婚恋类型互联...
背景双十一大促期间, 收到客服反馈通知,说 APP 领券接口缓慢。找到一个case,通过调用链路发现,是操作redis 缓慢,并且还搜到一些redis 异常。 最后定位到原因...
什么是 WAL 数据库中一种高效的日志算法,对于非内存数据库而言,磁盘I/O操作是数据库效率的一大瓶颈。 在相同的数据量下,采用WAL日志的数据库系统在事务提交时,磁盘写操作...
要说 IO 的性能优化就不得不提 Zero Copy(零拷贝),虽然名字叫零拷贝,但其实并不是完全没有拷贝过程,而是尽量减少不必要的拷贝及上下文切换。各种消息队列可以说是将零...
1、消息整体处理过程 这里我们将消息的整体处理阶段分为3个阶段进行分析: Producer发送消息阶段。 Broker处理消息阶段。 Consumer消费消息阶段。 Prod...
什么是Nginx? Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载...
1. 概念 责任链模式(Chain of Responsibility),行为型设计模式之一。 这个链的形式更像是数据结构中的单链表,链中的每个节点都有自己的职责,同时也持有...
1. AOP的核心概念 切面(Aspect):似于 Java 中的类声明,常用于应用中配置事务或者日志管理。一般使用 @Aspect 注解或者 来定义一个切面。 连接点(...
添加@Component注解没有报错,而且也存在。但是maven编译无法访问org.springframework.stereotype.Component pom文件 使用...
通过查阅官网可知,服务注册实际上就是向Nacos服务端发起一个http请求。 对应的controller(InstanceController)如下: 1. 客户端服务注册流...
Spring在正常创建Bean的时候,实际上是调用了createBean方法中的doCreateBean方法。 createBean方法关键源码如下: Instantiati...
首先看一个问题:Java对象的内存分配过程是如何保证线程安全的? 对象的内存分配过程中,主要是对象的引用指向这个内存区域,然后进行初始化操作。 但是,因为堆是全局共享的,因此...
WebSocket是应用层上的一个应用层协议,持久化的协议,他必须依赖http协议进行一次握手,成功后就直接从tcp通道传输,后续就与http无关了。 WebSocket是以...
1. 重传机制 TCP 实现可靠传输的方式之一,是通过序列号与确认应答。在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个确认应答消息,表示已收到消息。但是在...
AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如ReentrantLock,Semaphore,其他的诸如ReentrantR...
1. 设计模式 1.1 装饰者模式 装饰者(Decorator)和具体组件(ConcreteComponent)都继承自组件(Component),具体组件的方法实现不需要依...
Redis是C语言开发的,C语言自己就有字符类型,但是Redis却没直接采用C语言的字符串类型,而是自己构建了动态字符串(SDS)的抽象类型。Redis的key以及字符串数据...
kafka是一个分布式基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。 发布/订阅:消息的发布不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类型,订...