Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

简介 CompletableFuture是java.utils.concurrent里的一个类 作用:把串行执行的代码变为并行执行,提高代码执行速度 快速上手创建异步编排对象12345public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier);public stat...

概述 MongoDB 与传统关系型数据库相比更加简单,架构为key-value结构 MySQL数据库:数据库-表-记录MongoDB :数据库-集合-文档(记录) 文档类似于JSON对象,结构成为BSON 安装与启动1. 导入 MongoDB 官方 GPG 密钥首先需要导入 MongoDB 官方的 GPG 密钥,以便系统能够验证下载包的完整性。 123curl -fsSL htt...

分布式锁解决司机抢单因为上面写的司机抢单并没有考虑并发,类似于电商的超卖问题 **解决方案 第一种 设置数据库事务的隔离级别,设置为Serializable,效率低下 第二种 使用乐观锁解决,通过版本号进行控制 第三种 加锁解决,学习过synchronized 及lock锁,本地锁,目前微服务架构,分布式部署方式。 本地锁的局限性 我们使用锁一般都是,synchronized 及...

XXL-JOB入门案例第一步下载XXL-JOB示例代码,解压,使用idea打开 **项目组成: admin:调度中心 core:公共依赖 sample sample-frameless:不带框架的 sample-springboot:带springboot框架的 第二步创建XXL-JOB使用数据库和相关表 在示例代码文件里面doc文件夹下的db里面有相关的sql语句,直接拉到数据库即...

什么是循环依赖现在我们有两个类 ClassA 与 ClassB,但他们互相引用,直接或间接依赖对方,例如例如A类里有B的对象,B类中又有A的对象 public class ClassA { private ClassB classB; // 构造方法、getter 和 setter 等 } public class ClassB { p...

模拟场景假如现在我需要维护两个服务A和B,B服务每秒能处理100个消息,但A服务每秒能发两百个消息 结果我们也能想到,B服务非常容器就爆炸了,聪明的我一定能想到,我在B里面加一个队列来存放A发来的消息,用offset偏移量来记录消息的位置,B服务看能力来处理消息,不断更新offset值 但这又产生了一个新问题,来不及处理的消息放在内存里,如果在服务B里面的消息没有处理完的情况下B服务关机或者...

主从复制本质上就是从一台服务器master上的数据拷贝到另一台服务器slave上,数据的复制是单向的,只能由主节点到从节点,redis里提供了全量复制和增量复制两种方法: 全量复制:一般用于slave新构建的时候,slave会向master发送全量复制请求,然后master会拷贝当前数据快照给slave,slave丢弃旧的数据来加载新的数据,但需要注意redis并没有采用强一致性,所以会出...

ArrayList基于动态数组实现的非线程安全的集合;LinkedList基于链表实现的非线程安全的集合。 对于随机index访问的get和set方法,一般ArrayList的速度要优于LinkedList。因为ArrayList直接通过数组下标直接找到元素;LinkedList要移动指针遍历每个元素直到找到为止。 新增和删除元素,一般LinkedList的速度要优于ArrayList...

首先,kafka的块上会储存offset标记,kafka消费者通过offset标记来维护已经消费的数据,消费者每消费完一批数据时会更新offset值,来避免重复消费问题。 默认情况,消费完以后会自动提交offset值避免重复消费,Kafka消费端自动提交的逻辑中默认了5秒的间隔,所以在consumer的消费过程中,如果5秒内被强行kill了或者宕机导致offset没有提交,会导致重复消费问题...

SpringMVC 是属于Spring Framework生态里面的一个模块,是在servlet的基础上构建并且使用了MVC模式涉及的web框架,目的是为了去简化传统的servlet+JSP模式下的web开发方式。其次Spring MVC的架构设计是对Javaweb里面的mvc框架模式做了一些增强和扩展,主要体现在几个方面 : 把传统MVC框架里面的Controller控制器做了拆分,分为...