加载中
MySQL索引模型

数据库索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。 索引的常见模型 哈希表 数组加链表实现,添加新数据较快,但是由于不是有序的,所以区间查询速度是很慢的。 哈希表适用...

MySQL事务隔离

事务就是一组数据库操作要么全部成功,要么全部失败。 事务的四大特性:ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性) MySQL中事务支持是在引擎...

01/14 14:34
36
MySQL日志系统

在MySQL基础架构中,我们通过查询流程了解了MySQL的基础架构;本篇我们将通过更新流程了解MySQL的两个重要日志模块:重做日志和归档日志。 重做日志(redo log) MySQL使用了WAL(Write-Ahe...

01/13 20:55
88
MySQL基础架构

总体上,MySQL分为Server层和存储引擎层。 Server层 Server层包含连接器、查询缓存、分析器、优化器以及执行器等,包含MySQL的大多数核心服务以及所有的内置函数(比如日期、时间、数学及加密...

01/13 20:51
41
递归与排序

递归 递归需要满足的三个条件 一个问题的解可以分为几个子问题的解 此问题与子问题,除了数据规模不一样,求解思路完全一样 存在递归终止条件 怎么写递归代码 写递归代码的关键就是找到如何将...

2019/10/14 17:15
6
栈与队列

栈 后进者先出,先进者后出,这就是典型的“栈”结构;从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。 比如浏览器的前进、后退功能或者取放盘子。 栈的特点 ...

2019/10/11 17:08
13
数组与链表

数组 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表与非线性表 线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前...

2019/10/10 17:28
7
复杂度分析

大O复杂度表示法 不用具体的测试数据来测试,就可以粗略地估计算法的执行效率的方法。这就是我们今天要讲的时间、空间复杂度分析方法。 这里有段非常简单的代码,求 1,2,3…n 的累加和。 in...

2019/10/09 16:24
11
源码分析之BSTMap

BSTMap简介 BSTMap是自己基于二叉树写的一个简单的Map 实现了增删查改 public class MyBSTMap<K extends Comparable<K>, V> extends AbstractMap<K, V> implements Map<K, V>, Cloneable, S...

2019/09/19 17:50
15
源码分析之HashMap (JDK7)

HashMap简介 public class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>, Cloneable, Serializable { } HashMap继承了AbstractMap抽象类,实现了Map接口。 保存的键值对是...

2019/09/18 17:22
1
Hash表与树

jdk1.7中HashMap是由Hash表(即数组加链表)这种结构组成,而在jdk1.8后升级成了Hash表+红黑树用来提升数据的查询效率。下面将介绍hash表与红黑树。 Hash表 讲解hash表中我们先介绍线性检索与二...

2019/09/05 09:24
35
Map的基本介绍

Map的架构 Map是一个映射接口,不同于List和Set的是他不继承于Collection接口,Map中存储的内容是键值对(key-value)。 AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API。其它Map...

2019/09/02 18:16
40
源码分析之TreeSet

TreeSet简介 public class MyTreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable { } TreeSet继承了AbstractSet抽象类且实现了NavigableSet接口,是一...

源码分析之LinkedHashSet

LinkedHashSet继承自HashSet,它的添加、删除、查询等方法都是直接用的HashSet的,唯一的不同就是它使用LinkedHashMap存储元素。 LinkedHashSet的四个构造方法都是调用父类的super(initialCa...

2019/08/30 14:30
17
源码分析之HashSet

HashSet简介 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable { } HashSet继承了AbstractSet,实现了Set; 是一个由HashMap实现的没有重复元素...

2019/08/30 11:19
30
Set的基本介绍

Set的架构 Set是一个继承于Collection的接口,它是一个不允许重复元素的集合。 AbstractSet是一个抽象类,继承了AbstractCollection,AbstractCollection实现了Set中的绝大部分函数,为Set的...

2019/08/29 18:01
48
List的线程安全

非线程安全的原因 ArrayList与LinkedList都是线程不安全的,以ArrayList的add方法源代码为例: public boolean add(E e) { ensureCapacityInternal(size + 1); elementData[size++] = e; ret...

2019/08/29 15:34
2.9K
源码分析之Vector

Vector简介 public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ } Vector继承了AbstractList,实现了List;所以它是一个...

2019/08/29 15:22
8
源码分析之LinkedList

LinkedList简介 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable{ } LinkedList继承了AbstractSequentialL...

2019/08/27 18:09
17
源码分析之ArrayList

成员变量 /** ArrayList的初始化容量 **/ public static final int DEFAULT_CAPACITY = 10; /** 数组能存储的最大元素容量 **/ private static final int MAX_ARRAY_SIZE = Integer.MAX_VALU...

2019/08/26 18:18
15

没有更多内容

加载失败,请刷新页面

返回顶部
顶部