- 博客(9)
- 收藏
- 关注
原创 归并排序图解
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。分而治之可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就...
2020-02-18 22:32:39
178
原创 乐观锁与悲观锁
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程...
2020-02-17 11:32:53
152
原创 Mysql中MyISAM和InnoDB 的区别
区别:1. InnoDB 支持事务,MyISAM 不支持事务。这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一;2. InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败;3. InnoDB 是聚集索引,MyISAM 是非聚集索引。聚簇索引的文件存放在主键索引的叶子节点上,因此 InnoDB 必须要...
2020-02-17 11:17:52
190
原创 Mysql使用B+树原理
在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树!学过数据结构的一般对最基础的树都有所认识,因此我们就从与我们主题更为相近的二叉查找树开始。一、二叉查找树(1)二叉树简介:二叉查找树也称为有序二叉查找树,满足二叉查找树的一般性质,是...
2020-02-17 11:07:01
2316
转载 深入理解并发之CompareAndSet(CAS)
一、CAS简介CAS:Compare and Swap, 翻译成比较并交换。java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁,使用这些类在多核CPU的机器上会有比较好的性能.CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。今天我们主要是针对Atomi...
2020-01-09 10:40:37
427
原创 垃圾回收器
7种垃圾回收器特点,优劣及使用场景一、常见垃圾收集器新生代收集器SerialParNewparallel老年代收集器Serial OldCMSParallel Old新生代和老年代收集器G1每种垃圾回收器之间不是独立操作的,下图表示垃圾回收器之间有连线表示,可以协作使用。垃圾回收器二、新生代垃圾收集器1、Serial收集器概述:Serial是一类用于新生代的单线程...
2019-12-28 23:22:11
278
原创 注解Annotation详解
五种元注解元注解就是注解的注解,用于对注解的规范。可以用于其他注解上。@Retention:解释说明注解的存活时间。它的取值如下:—— RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。——RetentionPolicy.CLASS 注解只被保留到编译进行的时候,它并不会被加载到 JVM 中。——RetentionPolicy.RUN...
2019-12-27 23:44:16
270
转载 JVM内存:年轻代、老年代、永久代
Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象,如下图所示:这里写图片描述在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old)。新生代 ( Young ) 又被划分为三个区域:Eden、S0、S1。 这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。Java 中的堆也是 GC ...
2019-12-12 19:59:31
400
转载 Java String 对象经典问题
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-11-30 23:15:51
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人