240 发简信
IP属地:北京
  • 延时任务处理

    使用Redisson提供的RDelayedQueue接口。好处: 性能好,基于redis。 支持分布式服务。 不需要轮询。 RedissonDelayedQueue 添加延时...

  • 跳表-白话查询和插入过程

    假设初始跳表结构为: 一、查询过程 假如要查找 50。步骤 1:从顶层开始从最高层(Level 3)的 HEAD 开始。 在这一层中,我们发现下一个节点 100 大于 50,...

  • kafka高频题

    kafka如何保证顺序消费 想要顺序消费的业务消息使用相同的key。这些具有相同key的消息会被发往同一个分区,kafka能保证同一个分区内的消息被顺序消费。 比如订单的事件...

  • kafka消费过程

    这篇文章讲的很详细很好:一文搞懂 kafka consumer 与 broker 交互机制与原理[https://www.automq.com/zh/blog/underst...

  • raft一致性算法

    raft算法保证集群元数据的一致性。 保证cap中的cp,当发生严重的网络分区后,放弃可用性。 raft算法流程:所有跟随者(follower)有一个随机超时时间接收lead...

  • kafka生产者发消息的完整过程

    前提:kafka使用默认的配置。 生产者初始化:生产者初始化后,向集群中任一broker请求元数据(配置、主题、分区leader等),并将元数据缓存到本地,后续会定期请求并更...

  • TCP

    三次握手 tcp三次握手目的是确认双方的初始序列号(ISN,Initial Sequence Number)。 序列号按字节累加。其作用是: 数据包排序:序列号使接收方能够重...

  • 脏读、不可重复读、幻读

    脏读 (Dirty Read):脏读发生在一个事务读取了另一个事务尚未提交的数据。如果那个事务回滚,读取的数据就会变得不准确或错误。例如,事务 A 修改了一条记录但尚未提交,...

  • Java线程阻塞

    Java能使得线程阻塞的基础工具(其余能阻塞线程的方法都是基于它们的)有4种: synchronized关键字控制对资源的同步访问,如果另一个线程已经持有了对象锁,那么尝试获...

  • 120
    DB受影响行数

    update返回值是受影响的行数(Affected rows)。对于条件update,我们有时需要根据返回的受影响行数判断更新是否成功。 有一种情况需要格外注意,如果字段已经...

  • 快速了解内存映射文件

    一、虚拟内存 1.1 什么是虚拟内存 虚拟内存让每个进程都好像在使用一个连续的、独占的内存空间,实际上这些空间可能是分散存储在物理内存和硬盘上的。 1.2 虚拟内存的实现原理...

  • spring和mybatis是怎么配合工作的?

    一个事务中的所有sql都只能在同一个数据库连接中执行。 spring和mybatis配合时,事务的开启、提交、回滚由spring负责,而sql的执行由mybatis负责。两者...

  • JDBC接口

    JDBC(Java Database Connectivity)是 Java 编程语言中用于连接和执行数据库操作的一套 API。JDBC 提供了一种基于标准的方法来建立数据库...

  • JWT(JSON Web Token)

    由头部、载荷、签名三部分组成。头部指定使用的签名算法。载荷携带已认证用户的非敏感信息。签名就是使用头部指定的签名算法对头部和载荷的签名。 使用token的好处是,服务端可以仅...

  • Java线程池源码中最重要的部分

    Java线程池里有两个东西: 若干个线程 阻塞队列 这两个东西要分开看,两者是解耦的,不能当成一个整体。 不管什么线程池。提交任务时,负责触发两块主要内容: 把任务放到阻塞队...

  • 精讲 标准输入输出、管道和重定向

    1. 标准输入输出 stdin:标准输入stdout:标准输出stderr:标准错误输出 我们运行程序,在控制台看到的输出,就是stdout+stderr。 在shell中执...

个人介绍
解除封印!!!!