摘要:
1. 解析引擎 解析过程分为词法解析和语法解析。 解析引擎在 parsing 包下,包含两大组件: 词法解析器用于将SQL拆解为不可再分的原子符号,称为Token。并根据不同数据库方言所提供的字典,将其归类为关键字,表达式,字面量和操作符。 再使用语法解析器将SQL转换为抽象语法树。例如: 解析成的 阅读全文
摘要:
大纲: 数据约束 数据库设计(表设计) 关联查询(多表查询) 存储过程 触发器 mysql权限问题 1 数据约束 1.1 什么是数据约束 对用户操作表的数据进行约束。 1.2 约束种类 1.2.1 默认值 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值。 注意: 1)对默认值字段插入n 阅读全文
摘要:
DQL 操作 DQL 数据查询语言(重要) 数据库执行DQL语句不会对数据做出任何改变,而是让数据库发送结果集给客户端。 查询返回的结果是一张虚拟表。 查询关键字:SELECT -- 查询:基于表中已经存在的数据,得到我们想要的数据 1基础查询: SELECT 列名/字段名,..., FROM 表名 阅读全文
摘要:
SQL概述 SQL:Structure Query Language。(结构化查询语言) SQL的分类 DDL**(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等; CREATE、ALTER、DROP DML***(Data Manipulatio 阅读全文
摘要:
实现连续生产多个和连续消费多个。 阅读全文
摘要:
jdk1.5多线程的实现的方式: jdk1.5之前对锁的操作是隐式的 synchronized(对象) //获取锁 { } //释放锁 jdk1.5锁的操作是显示的:在包java.util.concurrent.locks中含有多线程实现方式相关的接口和类。 有一个描述锁的Lock接口,也就是把锁面 阅读全文
摘要:
一个生产线程,一个消费线程,程序不存在安全问题 两个生产线程,两个消费线程,出现了生产两次,消费一次或者生产一次,消费两次的情况。 出现问题的原因是:线程被唤醒之后没有回去判断标记,直接继续执行后边的代码。 解决方式:让线程被唤醒之后不是直接执行后边的代码,而是回去判断标志,这个问题可以通过把if改 阅读全文
摘要:
1 class Res 2 { 3 private String name; 4 private String gender; 5 private boolean flag; 6 7 //根据面向对象的原则,把和属性相关的功能写在类中。 8 //存入数据 9 public synchronized void set(Stri... 阅读全文
摘要:
代码实现上述框图: 上述代码实现存入一个输出一个的运行效果: 阅读全文
摘要:
同步的两个基本要求: 如果不使用同步,将会出现如下错误: 使用同步后,错误不再出现: 阅读全文