10 2018 档案
摘要:四大特性:ACID 1、原子性(Atomicity,或称 不可分割性):一批操作,要么全部成功,要么全部不成功。 2、一致性(Consistency):结果唯一、精确、无脏数据。 3、隔离性(Los): 多个事务并发的时候,保证各个事务之间的隔离性。 4、持久性(Durability): 将数据存入
阅读全文
摘要:JDK 中关于wait,notify这两个方法的介绍: 1、wait:导致当前线程等待,直到另一个线程调用该对象的notify()方法或notifyAll()方法。并且释放锁(Thread.sleep()不释放锁)。后续的代码,不执行。 2、notify:唤醒线程。后续的代码继续执行。 注意的点:
阅读全文
摘要:内部类的作用: 1、隐藏内部实现,高内聚。 2、Java多继承的实现。 何为Java的多继承? Java只支持单一继承,所以如果需要多继承,那么可用内部类来实现。 如何实现? 1、父类A public class A { public int age(){ return 1; } } 2、父类B p
阅读全文
摘要:Redis的对象结构: typedef struct redisObject { unsigned type:4; //类型 unsigned encoding:4; //编码 int refcount; //引用计数 unsigned lru:22; //淘汰策略,最近最少使用 void *ptr
阅读全文
摘要:相当于Redis 中的 sorted set 跳跃表节点结构: typedef struct zskiplistNode { struct zskiplistNode *backward; //后退指针 double score; //分值 robj *obj; //值 struct zskipli
阅读全文
摘要:Redis Map 存储K-V键值对。(跟Java的Map类比) 哈希表结构: typedef struct dictht { dictEntry **table; //哈希表数组 unsigned long size; //哈希表大小 unsigned long sizemask; //哈希表掩码
阅读全文
摘要:相当于Redis 中的 list Redis 的链表结构 typedef struct list { listNode * head; //表头节点 listNode * tail; //表尾节点 unsigned long len; //链表包含的节点数量 ... //其它结构 } list; 链
阅读全文
摘要:Redis 的简单动态字符串 (simple dynamic string,SDS) SDS的结构: struct sdshdr { int len; //保存的字符串长度。 int free; //buf数组中,未使用字节的数量。 char buf[]; //字节数组,用于保存字符串。 } 区别于
阅读全文
摘要:Redis支持的类型: String,List,Map,Set,Sorted set Redis的持久化: 1、Redis DataBase (RDB): RDB是在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。 优点:使用单独子进程来进行持久化,
阅读全文
摘要:一、类的加载过程 1、加载: 1.1、通过类的全限定名来获取类的二进制字节流。 1.2、将字节流转换为方法区的运行时数据结构。 1.3、在内存中生成代表该类的java.lang.Class对象,作为该类的访问入口。 2、验证 2.1、验证字节流是否符合Class文件规范。 2.2、对字节码描述的语义
阅读全文
摘要:volatile具备的两种特性: 1、可见性 2、禁止指令重排 解析: 1、可见性:用volatile修饰的变量,会使线程在使用该变量时,每次都从主内存中读取到工作内存,再使用。 对比普通的变量,线程在使用时,如果工作内存中没有该变量,则先从主内存中拷贝,在使用。如果工作内存中已经存在了该变量,则不
阅读全文
摘要:运行时数据区域: 1、程序计数器:线程执行时的字节码行号指示器。 2、java虚拟机栈(Stack,获者称为方法栈):java方法执行的内存模型。调用方法的时候,就会创建一个虚拟机栈,用于存储局部变量表,操作数栈,动态链接,方法出口等信息。 3、本地方法栈:存放需要调用到的Native方法的相应数据
阅读全文
摘要:模板方法模式(Template Method) 定义:模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中某些步骤的具体实现。 应用举例: 在系统的导出模块中,两个导出功能的唯一不同点:数据不相同。因此可以使用模板方
阅读全文
摘要:一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责
阅读全文
摘要:坑描述: 公司的订单表数据量巨大(亿级),在进行查询的时候,发现一个慢查询。 背景: 数据库:oracle 表:T_order 索引字段:create_date (字段类型 date) 慢查询sql: select * from T_order where create_date >= #{para
阅读全文
摘要:spring 1、容器:整合其它框架,将bean纳入容器中。 2、使用IOC解耦合。 Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。 Dependency Injection,即“依赖注入”:组件之间依赖关系。 旧的方式:每个对象负责管理与自己互相协作的对
阅读全文
摘要:ref: https://www.cnblogs.com/kangfeng/articles/7990261.html 按系列罗列Linux的发行版,并描述不通发行版之间的联系与区别 Linux发行版主要有三个分支:Debian、Slackware、Redhat。(1)Debian:(以社区的方式运
阅读全文
摘要:原理: B-Tree: https://www.cnblogs.com/dongguacai/p/7239599.html B+Tree:https://www.cnblogs.com/dongguacai/p/7241860.html MySql用法: 1、MyISAM索引实现: MyISAM引擎
阅读全文
摘要:索引分类: 1、聚集索引:索引顺序与物理顺序一致。 MySql 的 InnoDB 中,主键索引就是聚集索引。好处是,进行搜索的时候,因为索引和物理顺序一致,所以找数据的时候更快。 2、非聚集索引:索引顺序与物理顺序不一致。 非主键索引。 在非主键索引中,又有组合索引(最左索引:也就是查询的时候如果w
阅读全文

浙公网安备 33010602011771号