摘要: 一、什么时候扩容: 网上总结的会有很多,但大多都总结的不够完整或者不够准确。大多数可能值说了满足我下面条件一的情况。 扩容必须满足两个条件: 1、 存放新值的时候当前已有元素的个数必须大于等于阈值 2、 存放新值的时候当前存放数据发生hash碰撞(当前key计算的hash值换算出来的数组下标位置已经 阅读全文
posted @ 2020-03-24 20:11 Moonbow233 阅读(1041) 评论(0) 推荐(0) 编辑
摘要: 简单介绍 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。 Spring MVC是Spring的一个模块,一个web框架。通过Dispatcher Servlet, ModelAndView 和 View R 阅读全文
posted @ 2020-03-23 15:25 Moonbow233 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 分布式锁场景 互联网秒杀 抢优惠券 ..... 两个redis的命令 "SETNX key value" "GETSET key value" 只在键key不存在的情况下,将键key的值设置为value。 若是键key已存在值,则此命令不做任何操作。 这个就更简单了,先通过key获取value,然后 阅读全文
posted @ 2020-03-13 00:06 Moonbow233 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 引言 数据库的增删改查等操作是开发过程中最为常见也是尤为重要的,尤其是现在大数据的兴起,导致数据存储量急剧增加,提升数据的操作效率就变得尤为关键。 大部分数据库的索引都采用树的结构存储,这是因为树的查询效率相对较高,且保持有序。 对于二叉搜索树的时间复杂度是O(logN),在算法以及逻辑上来分析,二 阅读全文
posted @ 2020-03-12 23:52 Moonbow233 阅读(253) 评论(0) 推荐(0) 编辑
摘要: Spring 事务中的隔离级别有哪几种? TransactionDefinition 接口中定义了五个表示隔离级别的常量: TransactionDefinition.ISOLATION_DEFAULT: 使用后端数据库默认的隔离级别,Mysql 默认采用的 REPEATABLE_READ隔离级别 阅读全文
posted @ 2020-03-11 23:46 Moonbow233 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 前言 ReentrantLock可以有公平锁和非公平锁的不同实现,只要在构造它的时候传入不同的布尔值,继续跟进下源码我们就能发现,关键在于实例化内部变量 的方式不同,如下所示 公平锁内部是FairSync,非公平锁内部是NonfairSync。而不管是FairSync还是NonfariSync,都间 阅读全文
posted @ 2020-03-11 22:21 Moonbow233 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1、InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务; 2、InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败; 阅读全文
posted @ 2020-03-10 21:30 Moonbow233 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 在前一阵子,大哥问过我:”你知道MySQL的原子性是怎么保证的吗“。我懵逼了,MySQL怎么保证原子性?我不会啊。 谁都知道在事务里边原子性的意思:” 一个事务包含多个操作,这些操作要么全部执行,要么全都不执行 “ 于是大哥就给我讲:”用的就是 啊“。 我:”卧槽,又是知识盲区“ 后来在网上翻了一下 阅读全文
posted @ 2020-03-10 15:45 Moonbow233 阅读(1338) 评论(1) 推荐(0) 编辑
摘要: TCP的概述 TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种断点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:80。 TCP报文首部 1. 源端口和目的端 阅读全文
posted @ 2020-03-09 19:38 Moonbow233 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 什么是雪花算法? 雪花算法( )是一种经典的分布式ID生成算法。 在分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时 阅读全文
posted @ 2020-03-09 17:03 Moonbow233 阅读(203) 评论(0) 推荐(0) 编辑