代码编织梦想

mysql索引底层数据结构——java全栈知识(28)-爱代码爱编程

Mysql索引底层数据结构 1、什么是索引 索引在项目中还是比较常见的,它是帮助MySQL高效获取数据的数据结构,主要是用来提高数据检索的效率,降低数据库的IO成本,同时通过索引列对数据进行排序,降低数据排序的成本,也能

redis的集群模式——java全栈知识(20)-爱代码爱编程

1、主从模式 Redis 支持主从模式的集群搭建,这是 Redis 提供的最简单的集群模式搭建方案,目的是解决单点服务器宕机的问题。当单点服务器发生故障的时候保证 Redis 正常运行。 主从模式主要是将集群中的 Redi

redis 哨兵机制的工作原理——java全栈知识(22)_redis哨兵机制工作原理-爱代码爱编程

Redis 哨兵机制的工作原理 在之前的文章我们讲到了 Redis 的三种集群架构:跳转文章:Redis集群模式 接下来我们详细讲哨兵机制的作用以及实现原理 以下是 Redis 哨兵的结构图 1、Redis 哨兵的作

redis的数据淘汰策略——java全栈知识(19)-爱代码爱编程

Redis的数据淘汰策略 什么是数据淘汰策略 数据过期策略是 redis 中设置了 TTL 的数据过期的时候 Redis 的处理策略。数据淘汰策略是 Redis 内存不够的时候, 数据的淘汰策略:当 Redis 中的内存

rabbitmq是怎么做消息分发的?——java全栈知识(14)-爱代码爱编程

RabbitMQ是怎么做消息分发的? RabbitMQ 的消息分发分为五种模式:分别是简单模式、工作队列模式、发布订阅模式、路由模式、主题模式。 1、简单模式 publisher 直接发送消息到队列消费者监听并处理

rabbitmq 是如何做延迟消息的 ?——java全栈知识(15)-爱代码爱编程

RabbitMQ 是如何做延迟消息的 ? 1、什么是死信? 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter): 消费者使用 basic.reject 或 basic.nack 声明消费失败,

rabbitmq是如何保证消息可靠性的?——java全栈知识(16)-爱代码爱编程

RabbitMQ 的消息不可靠也就是 RabbitMQ 消息丢失只会发生在以下几个方面: 生产者发送消息到 MQ 或者 Exchange 过程中丢失。Exchange 中的消息发送到 MQ 中丢失。消息在 MQ 或者 Ex

分布式 id 的实现方案——java全栈知识(13)-爱代码爱编程

分布式 ID 的实现方案 当我们分表的情况下,如何实现全局唯一 ID 也是一个问题,数据库的唯一索引在 分布式 ID 也就是全局唯一 ID 生产方案需要满足以下几个条件: 高可用高性能安全性自增性唯一性 1、UUID

arraylist源码分析——java全栈知识(7)-爱代码爱编程

1、概述: ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(

java集合详解(1)——java全栈知识(6)-爱代码爱编程

1、Java中有哪些集合 java.util包下面中最顶层的接口时是Collection接口,Collection下面又有三个接口分别是: Set:表示无序不可重复集合List:表示有序可以重复集合Queue:表示先入先出的队列 常见的实现类包含Set接口下有HashSet,TreeSet List接口下面含有ArrayList,LinkedList

java全栈知识(5)泛型机制详解-爱代码爱编程

1、为什么要引入泛型 泛型的引入是为了实现类型的参数化,使得我们在创建函数但是需要调用者来指定使用的类型的时候,不用使用Object类型。而泛型被作用于类,接口,方法中。这些也被叫做泛型类,泛型接口,泛型方法。 泛型的好处

java全栈知识(2)string类string常量池-爱代码爱编程

1、String类的不可变性 我们打开源码 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage.

java全栈知识(1)缓存池-爱代码爱编程

我们先看这么一道题 Integer x = new Integer(123); Integer y = new Integer(123); System.out.println(x == y); // false Integer z = 123; Integer k = 123; System.out.println(z == k); //