KM

mysql Server层架构

mysql的基本架构由两部分组成,一部分是Server层、另一部分是存储引擎部分 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎部分就是我们比较熟悉的InnoDB、MyISAM等引擎了。由于该架构是...

JDK源码阅读—HashMap(1)

public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { } HashMap实现了AbstractMap,可以看一下之前写过的 JDK源码阅读—AbstractMap 特殊常量 //默认初始化容量...

自底向上的语法分析

自底向上分析过程是自顶向下分析过程的逆过程,这里的分析过程也是用到了栈,同样也有一个指针指向输入语句,依次将非终结符推入栈,然后判断栈顶的多个元素是否符合某个产生式的右部,如果符合,则将这几个栈顶元素弹出,将产生式的左部入栈,直到指针指向末尾,如果指针指向末尾时,栈顶元素仅有开始符号,那么代表匹配成功,否则匹配失败。这种方法叫做移入-规约法 该算法存在的问题是,如...

JDK源码阅读—LinkedList

public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable { transient int size = 0; transie...

JDK源码阅读—ArrayList

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { private static final long serialVersionUID = 8683...

JDK源码阅读—AbstractMap

public abstract class AbstractMap<K,V> implements Map<K,V>{ protected AbstractMap() { } } AbstractMap实现了Map接口,Map接口定义的方法在AbstractMap上都有体现,就不具体分析Map了 public int size() { ...

JDK源码阅读—AbstractList

上图可以看出AbstractList是抽象类,继承了AbstractCollection,实现了List接口 由于该类是抽象类,因此其构造方法设置为protected public boolean add(E e) { add(size(), e); return true; } abstract public E get(int index)...

JDK源码阅读—AbstractCollection

该类内部有iterator()和size()两个抽象方法 public abstract Iterator<E> iterator(); public abstract int size(); 判断是否为空 public boolean isEmpty() { return size() == 0; } 判断是否含有某对象,通过迭代器进行遍历 public...

JDK源码阅读—AbstractStringBuilder

从该名字可以得知该类是一个抽象类,实际上,该类是StringBuilder和StringBuffer的父类 该类使用char[]数组存放数据,count表示已存字符的长度 构造方法 AbstractStringBuilder(){} 无参构造函数方法为空 AbstractStringBuilder(int capacity) { value = new char[capacit...

JDK源码阅读—String

String字符串在底层是以字符数组的形式进行存放的,默认实现了序列化接口 构造方法 public String(){this.value = ““.value;} public String(String original) public String(String original) { this.value = original.value; ...