摘要: 1. 解析引擎 解析过程分为词法解析和语法解析。 解析引擎在 parsing 包下,包含两大组件: 词法解析器用于将SQL拆解为不可再分的原子符号,称为Token。并根据不同数据库方言所提供的字典,将其归类为关键字,表达式,字面量和操作符。 再使用语法解析器将SQL转换为抽象语法树。例如: 解析成的 阅读全文
posted @ 2018-10-21 23:35 ninan_ton 阅读(683) 评论(0) 推荐(1) 编辑
摘要: 大纲: 数据约束 数据库设计(表设计) 关联查询(多表查询) 存储过程 触发器 mysql权限问题 1 数据约束 1.1 什么是数据约束 对用户操作表的数据进行约束。 1.2 约束种类 1.2.1 默认值 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值。 注意: 1)对默认值字段插入n 阅读全文
posted @ 2016-12-29 20:03 ninan_ton 阅读(331) 评论(0) 推荐(0) 编辑
摘要: DQL 操作 DQL 数据查询语言(重要) 数据库执行DQL语句不会对数据做出任何改变,而是让数据库发送结果集给客户端。 查询返回的结果是一张虚拟表。 查询关键字:SELECT -- 查询:基于表中已经存在的数据,得到我们想要的数据 1基础查询: SELECT 列名/字段名,..., FROM 表名 阅读全文
posted @ 2016-12-15 23:15 ninan_ton 阅读(302) 评论(0) 推荐(0) 编辑
摘要: SQL概述 SQL:Structure Query Language。(结构化查询语言) SQL的分类 DDL**(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等; CREATE、ALTER、DROP DML***(Data Manipulatio 阅读全文
posted @ 2016-12-14 19:22 ninan_ton 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 实现连续生产多个和连续消费多个。 阅读全文
posted @ 2016-12-06 21:11 ninan_ton 阅读(210) 评论(0) 推荐(0) 编辑
摘要: jdk1.5多线程的实现的方式: jdk1.5之前对锁的操作是隐式的 synchronized(对象) //获取锁 { } //释放锁 jdk1.5锁的操作是显示的:在包java.util.concurrent.locks中含有多线程实现方式相关的接口和类。 有一个描述锁的Lock接口,也就是把锁面 阅读全文
posted @ 2016-12-06 16:53 ninan_ton 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 一个生产线程,一个消费线程,程序不存在安全问题 两个生产线程,两个消费线程,出现了生产两次,消费一次或者生产一次,消费两次的情况。 出现问题的原因是:线程被唤醒之后没有回去判断标记,直接继续执行后边的代码。 解决方式:让线程被唤醒之后不是直接执行后边的代码,而是回去判断标志,这个问题可以通过把if改 阅读全文
posted @ 2016-12-01 21:42 ninan_ton 阅读(945) 评论(0) 推荐(0) 编辑
摘要: 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... 阅读全文
posted @ 2016-11-28 22:59 ninan_ton 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 代码实现上述框图: 上述代码实现存入一个输出一个的运行效果: 阅读全文
posted @ 2016-11-07 21:20 ninan_ton 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 同步的两个基本要求: 如果不使用同步,将会出现如下错误: 使用同步后,错误不再出现: 阅读全文
posted @ 2016-11-05 10:41 ninan_ton 阅读(319) 评论(0) 推荐(0) 编辑