跳表是一种神奇的数据结构,因为几乎所有版本的大学本科教材上都没有跳表这种数据结构,而且神书《算法导论》、《算法第四版》这两本书中也没有介绍跳表。但是跳表插入、删除、查找元素的...
跳表是一种神奇的数据结构,因为几乎所有版本的大学本科教材上都没有跳表这种数据结构,而且神书《算法导论》、《算法第四版》这两本书中也没有介绍跳表。但是跳表插入、删除、查找元素的...
本文结构: 什么是 TDD 为什么要 TDD 怎么 TDD FAQ 学习路径 延伸阅读 什么是 TDD TDD 有广义和狭义之分,常说的是狭义的 TDD,也就是 UTDD(U...
服务拆分与架构演进 “领域驱动设计和服务自演进能力是内功。” 前言 《微服务的团队应对之道》提到,微服务帮助企业提升其响应力,而企业需要从DevOps、服务构建、团队和文化四...
1、当今的数据处理大致可以分成两大类:联机事务处理On-Line Transaction Processing联机分析处理On-Line Analytical Process...
业务概述 在电子商务企业中,企业通过优质商品、促销等手段核心追求的就是能与消费者进行交易,而订单可以认为是一次交易的生命周期,交易开始生成订单,结束的时候完成订单。交易的核心...
最近需要实现一个功能,查找车辆附近的加油站,如果车和加油站距离在200米以内,则查找成功。 加油站数量肯定不小,能否缩小查找范围,否则以遍历形式,效率肯定高不了。 Geoha...
Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。与Kafka、RabbitMQ用于服务间的消息队列不同,disrupto...
随着业务的发展,用户量日益上升,单一的系统越来越复杂,越来越庞大,单纯的提升服务器性能始终有顶天的一天,我们可以通过分布式技术,例如:服务器集群,水平业务划分,应用分解,系统...
聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。比如,InnoDB的聚簇索引使用B+Tree的数据结构存储索引和数据。聚簇索引与非聚簇对比如下图。 当表有聚簇索引时,...
B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子。 除根结点和叶子结点外,其它每个结点至少有m/2个孩子。 根结点至少有2个孩子(如果B树只有一个结点除外...
一、方法区与永久代 这两个是非常容易混淆的概念,永久代的对象放在方法区中,就会想当然地认为,方法区就等同于持久代的内存区域。事实上两者是这样的关系: 《Java虚拟机规范》只...
Redis为单进程单线程模式,采用队列模式将并发访问的请求变成串行访问,并且多客户端对Redis的访问不存在竞争关系。 以下将会讲解如何使用Redis实现一个可靠的,自旋分布...
假设一个接口里面有两个方法: 接口实现类如下: 现在我需要在CustomerService接口的每个方法被调用时都在方法前执行一些逻辑,所以需要配置一个拦截器: 把Bean加...
MongoDB 和 Redis 的区别: 简介 MongoDB 更类似MySQL,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询 JSON 数据,能存储海量数据...
Part 1 What and Why 什么是redog和binlog? redolog是对记录修改之后的物理日志,物理日志就是说redolog保存的是某一行数据修改之后的值...
作者:huashiou链接:https://segmentfault.com/a/1190000018626163 1、概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发...
什么是事务 事务是指由一系列数据库操作组成的一个完整的逻辑过程,这个过程中的所有操作要么都成功,要么都不成功。比如:常见的例子就是银行转账的例子,一次转账操作会包含多个数据库...
缘由:前段时间只是看了小强的视频,跟着视频做一些实验,这种学习方式总会给人一种 ‘我学的是假Jmeter’ 的错觉,这周有个项目需要做压力测试,我便做个全程记录,以后自己用到...
前言 使用线程池难免会用到submit和execute,但是submit是有坑的,此处做个记录 1、submit坑 此处随便写一个方法,进入内部查看execute和submi...