自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 红黑树 的特性

一、红黑树的性质(重点)每个节点不是红色就是黑色 根节点都是黑色 不可能有相连的两个红色节点 每个红色节点的孩子都是黑色;叶子节点都是黑色:出度为0,满足了性质就可以近视平衡啦,不一定是红黑,也可以是其他的二、旋转的规则所有插入的节点 都默认红色变颜色的情况:当前节点的父亲是红色,且他的祖父的 另一个子节点也是红色(叔叔节点): (1)、父亲节变为黑色 (2)、把叔叔节点设置为黑色 (3)、把祖父节点设置为红色 ...

2020-08-11 17:57:47 155

原创 JVM 垃圾回收

一、如何判定对象为垃圾对象 1、可达性分析法(主流):一系列的称为“GC Roots” 的对象为起始点,从这些点开始向下搜索,搜索所走的路径称为引用链,当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象不可用。 GC Roots 对象包括:1、虚拟机栈中引用对象;2、方法区中类静态属性引用的对象;3、方法区中常量引用对象;4、本地方法栈中JNI(即 ...

2020-07-06 11:44:21 128

原创 分布式事务

一、事务的过程建立连接1、拿到事务的控制权;2、事务组管理者开启事务 执行方法 提交/回滚二、事务管理者保存本地事务状态(回滚、提交) 统计结果:整个分布式事务的结果(回滚、提交) 通知:告诉每个本地事务...

2020-06-15 14:11:45 139

原创 AVL 代码的实现

一、 AVL代码的实现public class Node { private Node left; private Node right; private Node parent; private int value; private int height; public Node(int value) { super(); this.value = value; this.height = 0; } public Node getParent() { re

2020-05-25 09:59:58 339

原创 交易系统的设计原则

一、高并发的设计原则无状态:应用无状态,配置文件有状态。例如通过不同的配置文件来连接不同的数据库; 拆分:一般按照功能模块进行拆分,这个要按照环境进行权衡,这也是一种隔离。拆分的几个情况:系统维度:按照系统功能/业务拆分,比如:商品系统,购物车,结算,订单系统等。 功能维度:对系统进行功能拆分,比如,优惠券系统可以拆分为后台优惠券创建、领劵系统、用卷系统等。 读写维度:根据读写比例进行拆分;读系统可以用缓存提升性能,写的量大时,可以考虑分库分表。 AOP维度:根据访问特征,按照AOP进行拆分,

2020-05-21 16:55:21 355

原创 redis基础总结

一、redis基础 1、解决键冲突:使用的是链地址法,每个哈希表节点都有一个next指针,多个哈希节点可以用next指针连接成一个单链表,被分配到同一个索引上的节点可以用这个单链表连接起来。2、内存回收:C语言不具备自动回收功能,Redis的对象引用了“计数”技术实现内存回收机制;对象引用计数会随着对象使用状态不断改变: 创建一个新对象时,引用计数会被初始化为 1; 当对象被一个新对象引用时,引用计数会加 1; 当对象不被引用时,会进行减 1; 当对象的引用计数变为0时,对象所占内...

2020-05-19 14:09:00 225

原创 innoDB 索引结构详解

1、数据库索引innoDB和MyISAM对比 区别 innoDB MyISAM 事物支持 支持 不支持 锁粒度 行锁 表锁 并发性 高并发 低并发 构成结构和缓存机制 数据和索引文件都存在在.Idb文件里,并且都缓存在内存里。 数据文件都扩展名.MYD(MYData) 索引文件都扩展名.MYI(MYI...

2020-02-29 13:18:35 1444 2

原创 shardingjdbc 读写分离

一、配置MySQL主从复制亲测主从配置:https://blog.csdn.net/CSDN_526654341/article/details/100887834注意:Java 部分代码在分库分表哪里,请先阅读那部分二、程序配置sharding官网:https://shardingsphere.apache.org/环境: jdk8, springboot + jp...

2019-09-16 15:18:30 145

转载 MySQL主从复制配置

2019-09-16 14:53:07 135

原创 sharding-jdbc 分库分表

sharding官网:https://shardingsphere.apache.org/环境: jdk8, springboot + jpa +sharding-jdbc 实现分表分库导包:<dependency> <groupId>io.shardingsphere</groupId> <artifa...

2019-08-16 14:33:20 308

原创 高并发的一些实战的总结

高并发解决方案1、Redis分布式锁,缺点同一时刻只能有一个人进入;优化方案库存分段来增强并发数。// 释放锁 public static void unlock(String key, String value) { StringRedisTemplate stringRedisTemplate = SpringContextHolder.getApplicati...

2019-05-06 15:04:34 475

转载 AVL树 算法思想与代码实现

AVL树是高度平衡的二叉搜索树,按照二叉搜索树(Binary Search Tree)的性质,AVL首先要满足:若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不为空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。AVL树的性质:左子树和右子树的高度之差的绝对值不超过1 树中的每个左子树和右子树都是AVL树 每个...

2019-03-20 16:33:21 223

原创 mysql的sql语句的优化策略

特别注意:索引跟出参也有相关联系索引注意:是否能使用索引,取决于mysql查询优化器对统计数据分析后,是否认为使用索引更快。因此,单纯的讨论一条sql是否可以使用索引有点片面,还需要考虑数据。一个表最多可有16个索引。最大索引长度是256个字节,尽管这可以在编译MySQL时被改变;理想状态约 5个左右。SQL语句优化策略:1、表的主键、外键必须有索引;2、sql有个最左原则,字...

2019-02-20 14:05:26 487

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除