阅读笔记-mysql innodb并发控制实现方式

参考:https://mp.weixin.qq.com/s/R3yuitWpHHGWxsUcE0qIRQ,文中例子截取自上文 redo、undo、回滚段 redo:主要解决如果每次修改数据都去磁盘上随机读写,效率很低。所以改为顺序写入到redo日志中然后定期去修改磁盘。即使是数据库奔溃也可以依靠...

2018-10-11 23:29:55

阅读数 38

评论数 0

阅读笔记-mysql 并发控制思路

参考:https://mp.weixin.qq.com/s/R3yuitWpHHGWxsUcE0qIRQ 并发控制 常见的并发控制手段有:锁、数据多版本 锁 普通锁:操作数据前锁定数据,操作完释放,保持一致性 但是简单锁太粗暴,读也无法并行 共享锁:s锁,读取数据时使用。共享锁之间...

2018-10-11 21:13:43

阅读数 23

评论数 0

阅读笔记-mysql myisam和innodb的五个差异

count(*) 对于myisam引擎,会直接存储总行数,所以比较快;但是如果一旦添加了查询条件则统计方式和innodb相同(一行一行的扫描) 所以不管用什么引擎都要建立好索引 全文索引 MyIsam支持,innodb在5.6后支持 不过在高并发大数据的情况下都不支持使用内置的全文索引,要使...

2018-10-11 21:00:33

阅读数 19

评论数 0

链表逆序

已知一个链表,将该链表进行逆序 整体思路:始终持有新链表第一个元素的索引,老链表的第一个元素始终头插到新链表 class LinkedNode{ int value; LinkedNode next; public LinkedNode(int val...

2018-10-10 20:27:01

阅读数 35

评论数 0

linux命令

搜索文件名:find /zookeeper-3.4.13/docs -name ‘zookeeper*’;find /zookeeper-3.4.13/docs -name ‘zookeeper*.pdf’ 编辑:vi ivy.xml 复制:cp zkCli.sh …/ 删除:rm zkCli....

2018-10-08 22:07:36

阅读数 22

评论数 0

动态规划

将问题拆分成小问题,先解决最小的问题,然后再一步步的解决大问题 寻找大问题和小问题间的关系,通过小问题来求解大问题 动态规划的使用条件: 子问题是离散的,不存在相互依赖的关系 存在一定的约束条件,求最值 经典题目 https://leetcode.com/problems/climbi...

2018-10-06 21:02:16

阅读数 21

评论数 0

127. Word Ladder

思路 题来自:https://leetcode.com/problems/word-ladder/description/ 经过分析:该单词转换的问题可以转变成一个图的问题,在图中寻找最小路径的问题。 解题步骤: 定义一个函数用来判断哪些字符串间可以相互转换 (canTr...

2018-10-05 22:41:12

阅读数 26

评论数 0

CopyOnWriteArrayList源码解析

依据jdk1.8源码分析 新建 创建一个零长度数组 private transient volatile Object[] array;//底层数据 添加数据 先上同步锁 对原始数组进行拷贝(浅拷贝),然后在拷贝后的数组上进行修改 将修改后的结果赋值给arra...

2018-09-26 21:15:34

阅读数 24

评论数 0

网络基础

网络架构 五层网络架构:物理层、链路层、网络层、传输层、应用层 TCP/IP 网络层的ip协议+传输层的tcp协议 在网络层利用ip协议定位主机 在传输层利用tcp协议进行可靠性保证 tcp/ip是个协议组包括了: 应用层:FTP、HTTP、TELNET、...

2018-09-25 16:55:07

阅读数 31

评论数 0

java8 stream

Java 8 中的 Stream 是对集合(Collection)对象功能的增强。 聚合操作、大批量数据操作 与Lambda结合,极大的提高编程效率和程序可读性 供串行和并行两种模式 Stream 的另外一大特点是,数据源本身可以是无限的。 流处理的一般过程:数据源(so...

2018-09-23 22:40:14

阅读数 66

评论数 0

mysql 基础知识

事务 手动开启: begin rollback commit 自动开启 SET AUTOCOMMIT=0 禁止自动提交 SET AUTOCOMMIT=1 开启自动提交 delete truncate delete按行删除,删除后会记录到日志中,可以进行事务的回滚 truncat...

2018-09-23 10:34:34

阅读数 100

评论数 0

mysql执行计划分析

MySQL5.6中支持这个功能,optimizer_trace create table test1(a int,b tinyint,c varchar(20),d int); alter table test1 add primary key (a); alter table test1 ...

2018-09-20 23:16:34

阅读数 48

评论数 0

mysql 方法和存储过程

变量 局部变量:declare:|用户可以使用DECLARE关键字来定义变量。然后可以为变量赋值。这些变量的作用范围是BEGIN…END程序段中 用户变量:@变量名:eg:@a 定义用户变量,作用域在整个链接 会话变量:在每次连接成功后会将全局变量拷贝一份到当前回话:set sessio...

2018-09-20 22:53:20

阅读数 41

评论数 0

mysql分区、分表、分库、数据分片

当读压力很大的时候,可以考虑添加Slave机器的分式解决(读写分离、一主多备),但是当Slave机器达到一定的数量就得考虑分库了。 当写压力很大的时候,就必须得进行分库操作(分表分库)。 分区 将表的数据均衡分摊到不同的硬盘,系统或是不同服务器存储介子中,实际上还是一张表。分区表...

2018-09-19 15:15:38

阅读数 268

评论数 0

mysql 分区表

mysql分区 将一个表分解成多个表来进行多磁盘存放,不过这个分解对应用来说是透明的 相比单磁盘可以存储更多数据 在进行查询的时候可以只查询必要的分区,对于sum() count()可以并行执行 对于过期数据可以直接整个分区删除,效率高 多个磁盘获取更大的吞吐量 parti...

2018-09-18 22:27:55

阅读数 29

评论数 0

java-数据类型

基础数据类型 int在64位或者32位jvm中都是32位 short、char都是16位 int和Integer int和Integer可以通过自动的拆箱装箱进行转换 Integer a=1; int b=a+1; Integer比in...

2018-09-17 13:04:19

阅读数 31

评论数 0

java HashMap

HashMap HashMap底层是使用数组+链表的形式进行存储,数组作为主干,链表作为hash冲突后的解决方案。 加入数据的时候会用hashCode()和特定的算法算出对应的位置,如果对应的位置上已经有值,则通过equal()比较,如果不同则放入到链表中。每一对值都是一个Entry。...

2018-09-17 11:06:48

阅读数 35

评论数 0

java-单例设计模式

单例模式 双重检验(懒汉式) 使用双重检查,提高效率,和线程安全性 instance记得使用volatile instance = new Singleton()做了三件事: 给 instance 分配内存 调用 Singleton 的构造函数来初始化成员变量...

2018-09-16 22:10:44

阅读数 27

评论数 0

rpc和restful

https://www.zhihu.com/question/41609070 restful接口 简单、直接、开发方便。利用现成的http协议 接口更加通用 会携带http的请求响应头,消息臃肿,会有无用的网络开销。 rpc 远程过程调用,更准确的说应该是一种协议...

2018-09-13 15:27:38

阅读数 466

评论数 0

retrofic

实现解耦是retrofic的精华 传统的http访问 构造request 创建一个线程池 将request放入到线程池中 获取数据后回调给上层 需要自己管理线程切换,需要自己解析读取数据,解析数据成对象,切换回主线程,回调给上层。 retrofic特性 可以同步请求 可以...

2018-09-12 22:28:26

阅读数 38

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭