- 博客(5)
- 收藏
- 关注
原创 mvcc原理详解
前提:在介绍mvcc之前,先简单介绍一下mysql事务的相关问题,mvcc归根结底是用来解决事务并发问题的,当然这个解决不是全部解决,只是解决了其中的一部分问题!mysql事务一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistenc
2020-11-21 20:46:32
2131
1
原创 redis缓存更新、过期策略
更像是笔记,所以不会介绍的太详细缓存过期策略:redis是单线程,收割时间也会占用线程处理时间,如果收割过于频繁,会导致读写出现卡顿1、主库过期策略:1.1、定时扫描首先将每个设置了过期时间的key放到一个独立的hash中,默认每秒定时遍历这个hash而不是整个空间:并不会遍历所有的key,采用一种简单的贪心策略1.1.1、从过期key字典中,随机找20个key。1.1.2、删除2...
2019-06-02 10:55:46
4746
原创 Java 二叉树遍历 非递归
之前一篇文章写了二叉树遍历的一些东西,但是自己写完还是有些不理解,或者说就没吃透,经过多方查找,终于找到了在我看来的终极解决方案。这次说的是非递归的算法,二叉树遍历分为三种,不论是递归还是非递归都是依照这三种规则实现的:前序:根 左 右中序:左 根 右后续:左 右 根先说一下想法吧,主要是用栈来实现:这种算法要求二叉树类除了val、leftright之外,还要有一个标示。在下面的算法实...
2019-02-26 15:59:07
163
转载 Java二叉树的前序、中序、后序遍历--递归
二叉树的遍历一直都是面试的考点,今天来写一下递归的遍历实现,这里主要是想写点东西记录下来,所以很多很多地方都是雷同的。这篇文章就是摘抄:以下是我要解析的一个二叉树的模型形状接下来废话不多直接上代码一种是用递归的方法,另一种是用堆栈的方法:首先创建一棵树:public class Node { private int data; private Node lef...
2018-10-25 22:43:50
198
原创 java的加载过程之初始化和实例化
想了好久这个题目到底该叫什么,关于加载机制,已经讲的太多,今天说一下加载过程里的初始化。还有初始化之外的实例化。先来一道面试题吧!public class StaticTest { public static int k = 0; public static StaticTest t1 = new StaticTest("t1"); public static Stati...
2018-10-22 18:58:23
1903
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人