摘要: 乐观锁 一般而言,在并发情况下我们必须通过一定的手段来保证数据的准确性,如果没有做好并发控制,就可能导致脏读、幻读和不可重复度等一系列问题。乐观锁是人们为了应付并发问题而提出的一种思想,具体的实现则有多种方式。 乐观锁假设数据一般情况下不会造成冲突,只在数据进行提交更新时,才会正式对数据的冲突与否进 阅读全文
posted @ 2020-10-23 16:10 低吟不作语 阅读(541) 评论(0) 推荐(2)
摘要: 计算机中数据的存储 一般而言,我们都是在内存中处理数据,但假如我们要操作的数据集非常大,内存无法处理了,在这种情况下对数据的处理需要不断地从硬盘等存储设备中调入或调出内存页面。 对外存设备的读写,效率并不乐观。为了降低对外存设备的访问次数,我们需要新的数据结构来处理这个问题。之前学习过的树,一个结点 阅读全文
posted @ 2020-10-18 01:47 低吟不作语 阅读(1333) 评论(0) 推荐(0)
摘要: 概述 volatile 是 Java 提供的一种轻量级的同步机制。相比于传统的 synchronize,虽然 volatile 能实现的同步性要差一些,但开销更低,因为它不会引起频繁的线程上下文切换和调度。 为了更好的理解 volatile 的作用,首先要了解一下 Java 内存模型与并发编程三要素 阅读全文
posted @ 2020-10-17 13:56 低吟不作语 阅读(680) 评论(0) 推荐(1)
摘要: 八种排序算法可以按照如图分类 前置知识 1. 算法稳定性 在一个序列中,能保证两个相等的数,经过排序之后,其在序列的前后位置顺序不变(A1 = A2,排序前 A1 在 A2 前面,排序后 A1 还在 A2 前面) 2. 时间复杂度 时间复杂度是用于衡量一个算法的运算时间的一个描述,常用大 O 来表示 阅读全文
posted @ 2020-10-13 16:36 低吟不作语 阅读(2267) 评论(0) 推荐(4)
摘要: 概述 对于一组元素 [7, 3, 10, 12, 5, 1, 9] 可以有很多种存储方式,但无论使用哪种数据结构,都或多或少有缺陷。比如使用线性结构存储,排序方便,但查找效率低。二叉排序树的特点就是能在保证元素有序的同时,提高查找的效率。 二叉排序树的定义 二叉排序树,也叫二叉查找树,二叉搜索树,英 阅读全文
posted @ 2020-09-29 16:06 低吟不作语 阅读(1161) 评论(0) 推荐(2)
摘要: 本文基于 JDK8 分析 Comparable Comparable 接口位于 java.lang 包下,Comparable 接口下有一个 compareTo 方法,称为自然比较方法。一个类只要实现了这个接口,意味着该类支持自然排序 所谓自然排序,就是按默认规则组成的排序,例如 1234 就是自然 阅读全文
posted @ 2020-09-25 14:21 低吟不作语 阅读(2185) 评论(2) 推荐(1)
摘要: Java 中的 Set 是非常常用的数据类型。Set 是无序的 Collection,Java Set 有三个常用的实现类,分别是:HashSet、LinkedHashSet、TreeSet 本文基于 JDK8 分析 HashSet HashSet 继承自 AbstractSet,实现了 Set 接 阅读全文
posted @ 2020-09-24 19:28 低吟不作语 阅读(803) 评论(0) 推荐(1)
摘要: Java 中的 List 是非常常用的数据类型。List 是有序的 Collection,Java List 一共有三个实现类,分别是:ArrayList、Vector、LinkedList 本文分析基于 JDK8 ArrayList ArrayList 继承自 AbstractList,实现了 L 阅读全文
posted @ 2020-09-23 13:17 低吟不作语 阅读(1004) 评论(0) 推荐(5)
摘要: 缓存 1. 什么是缓存? 缓存就是数据交换的缓冲区,用于临时存储数据(使用频繁的数据)。当用户请求数据时,首先在缓存中寻找,如果找到了则直接返回。如果找不到,则去数据库中查找 缓存的本质就是用空间换时间,牺牲数据的实时性,从而减轻数据库压力,尽可能提高吞吐量,有效提升响应速度 2. 缓存的分类 缓存 阅读全文
posted @ 2020-09-22 18:25 低吟不作语 阅读(786) 评论(0) 推荐(1)
摘要: 树的概述 树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。形同下图。 树有如下基本概念: 根结点 根结点是树的一个组成部分,也叫树根。每一颗树都有且仅有一个根结点。它是同一棵树中除本身外所有结点的祖先,没有父结点。按上图的树结构来 阅读全文
posted @ 2020-08-19 18:55 低吟不作语 阅读(1072) 评论(0) 推荐(0)