首页
   VOID
取消

InnoDB

一. 基础:体系结构 1.1 运行模式 mysql支持的模式:单进程多线程,集群模式是多进程实例,单个数据库文件 oracle是多进程,单个数据库文件。 1.2 mysql结构 连接池 管理服务和工具组件 sql接口组件 查询分析器组件 优化器组件 缓存组件 插件式存储引擎 物理文件 存储引擎是基于表的而不是基于数据库。存储引擎是底层物理结...

并发锁 - AQS详解

一. 基础知识 1.1 CLH(非饥饿公平自旋锁) public class CLH { public static void main(String[] args) { CLHLock LOCK = new CLHLock(); } static class QNode { public volatile boolean lo...

并发工具 - Unsafe

一. 简介 sun.misc包下的一个类, 可以像C语言一样直接使用指针进行访问内存资源。 1.1 获取方式 public final class Unsafe { // 单例对象 private static final Unsafe theUnsafe; private Unsafe() { } @CallerSensitive public static...

并发工具 - Reference

一.Reference机制 一. Reference类图 类型 实现 说明 强引用   虚拟机内部实现,有引用就不会被gc 软引用 softreference 内存不足时gc ...

Maven入门

基础概念 依赖管理 maven中的的依赖以groupid, artificartid, version三个坐标进行指定 依赖关系的生命周期 指定了某一个依赖以后, 还需要指定这个依赖与这个工程的编译关系,maven定义了4种依赖关系, compiler,编译时需要这个依赖包。 test,测试时需要这个jar包。 tuntime,运行时才需要这个jar包,编译时不需要。...

并发基础 - 术语扫盲

专业术语 1.1 高速缓存 现在计算机中,由于CPU的频率远高于内存的频率,所以在cpu操作内存数据的时候,如果都需要等待去主内存中读取数据的话, 那cpu的执行速度将会相当慢。于是为了加快速度,现代CPU都会配备有L1, L2, L3级别的缓存。每一级的增加对应频率的降低和缓存大小的增加。 1.2 缓存行 高速缓存的最小单位是以“缓存行”为单位进行读取和修改。通常一个缓存行的大小是...

sql基础

DDL CREATE:创建数据库和表对象 DROP:删除数据库和表对象 ALTER:修改数据库和表对象 DML INSERT UPDATE DELETE SELECT DCL COMMIT:确认对数据的修改 ROLLBACK:回滚对数据的修改 GRANT:赋予用户权限 REVOKE:取消用户操作的权限 一. sql基本规则 分号结尾; 关键字不区分大小写 字符...

Optional 用法

用途 : 解决npe user.getAddress().getProvince(); 上面的代码可能会出现NPE, 于是常常有以下代码: if(user!=null){ Address address = user.getAddress(); if(address!=null){ String province = address.getProvince(); } } ...