自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

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

2018-10-11 23:29:55 182 0

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

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

2018-10-11 21:13:43 79 0

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

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

2018-10-11 21:00:33 88 0

原创 链表逆序

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

2018-10-10 20:27:01 173 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 65 0

原创 动态规划

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

2018-10-06 21:02:16 57 0

原创 127. Word Ladder

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

2018-10-05 22:41:12 252 0

原创 CopyOnWriteArrayList源码解析

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

2018-09-26 21:15:34 53 0

原创 网络基础

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

2018-09-25 16:55:07 69 0

原创 java8 stream

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

2018-09-23 22:40:14 182 0

原创 mysql 基础知识

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

2018-09-23 10:34:34 143 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 439 0

原创 mysql 方法和存储过程

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

2018-09-20 22:53:20 230 0

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

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

2018-09-19 15:15:38 2562 0

原创 mysql 分区表

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

2018-09-18 22:27:55 68 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 93 0

原创 java HashMap

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

2018-09-17 11:06:48 105 0

原创 java-单例设计模式

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

2018-09-16 22:10:44 61 0

原创 rpc和restful

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

2018-09-13 15:27:38 1334 0

原创 retrofic

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

2018-09-12 22:28:26 66 0

原创 elastic-job

这里描述下我们项目中如何使用elastic-job在分布式环境中进行定时调度。 主要功能包括:创建定时任务,激活暂停删除定时任务 关键类 ZjobService 维护一个 jobMap 微服务启动 监听zk上 /notifyJob-start...

2018-09-12 14:02:25 123 0

原创 java 中public protected default private

访问权限 类中被public修饰的字段、方法:可以被该类的 实例、子类(无论子类和父类是否在同一个包中) 访问。 所有可见 类中被protected修饰的字段、方法:可以被该类的 同一包的实例、子类(无论子类和父类是否在同一个包中) 访问。包可见同时子类可见 类中被default修饰的字段、方...

2018-09-11 20:28:59 51 0

原创 java基础

基础概念 匿名类:对于只使用一次,不会再重复使用的类 主函数:不是所有类都需要主函数,如果需要独立运行就需要定义主函数,主函数由jvm调用 成员变量和局部变量: 成员变量:定义在类中;成员变量在整个对象中有效;存在在堆中的对象中,生命期和对象相同; 局部变量:定义在函数中;局部...

2018-09-11 17:17:06 53 0

原创 设计模式

设计模式 单例设计模式 使用场景:需要对象的唯一性,性能浪费太多时使用 更关键的是有的类存在多个实例会存在逻辑错误,例如序号生成器 例如:例如数据库链接,配置信息读取 工厂模式 用一个方法来代替new关键字,隐藏复杂的初始化 适用场景:适用...

2018-09-10 22:08:12 50 0

原创 finally注意事项及异常丢失

注意事项 finally和try相对应,每次try结束后都会调用相对应的finally。(除非直接System.exit()这样不会调用finally) https://blog.csdn.net/ech00o00/article/details/76474825 pri...

2018-09-09 23:26:50 177 0

原创 zookeeper-编程

使用cli操作zookeeper //创建节点 create /test "hello" create /test/dr1 null create -s /test/index null //创建顺序节点 create -s -e /test/index null //创...

2018-09-09 22:47:02 129 0

原创 kafka(三):和storm整合保序

保证storm和kafka上的消息有序 整体流程:kafka生产者->kafka消费者->spout->bolt: kafka的生产者按制定字段发送到指定主题上,保证一类消息的先后次序(如果想要所...

2018-09-06 16:40:09 104 0

原创 java 内存管理

引用 强引用:Person p=new Person();一般使用的都是强引用 jvm不会回收强引用 如果内存不足则oom 如果想切断强引用:Person p=null 软引用:SoftReference 在内存不足时,抛出oom前会回收软引用.通常被用来缓存一些非必须的数据 ...

2018-09-05 14:36:24 55 0

原创 文档整理

storm https://blog.csdn.net/lulongzhou_llz/article/details/46433099 https://blog.csdn.net/xiaolang85/article/details/38492277 https://blog.csdn.ne...

2018-09-04 18:49:24 392 0

原创 mysql-优化案例

优化分页 select title,content from product_comment where status=1 and product_id=1111 limit 10,5; 第一步优化在status和product_id上构建联合索引 联合索引的顺序依据选...

2018-09-04 15:27:24 115 0

原创 动态代理和静态代理

代理是一种软件设计模式,目的地希望能做到代码重用 不直接访问被代理对象的方式,而访问被代理对象的方法.eg:商户—->明星经纪人(代理)—->明星这种模式 使用场景 之前的代码很难修改,但是需要扩展方法 ...

2018-09-03 18:16:02 44 0

原创 数据库表设计

数据库异常 由于数据库设计不合理,造成在增删改时可能出现问题 插入异常:想要插入的值依赖于其他无关紧要的值。如果在无关紧要的值不插入的时候,想要插入的值无法进行插入操作 更新异常:只想修改某一个数据,却不得不修改多行数据 删除异常:删除某一数据的时候,不得不同时删除其他无关紧要的数...

2018-09-03 10:37:29 54 0

原创 innodb索引使用

本文针对的是mysql的innodb数据引擎来谈 索引分成两类:聚集索引、辅助索引 聚集索引:数据存放在聚集索引的叶子节点上,聚集索引依据主键进行顺序排序 辅助索引:除聚集索引外的索引,在innodb中叶子节点上存放的是主键,可以通过主键在聚集索引上找到对应的数据 这...

2018-09-02 22:40:30 398 0

原创 mysql-读懂explain

explain id:执行顺序,数字越大优先级越高 select_type:每个子句的类型 simple:不包含子查询和union PRIMARY:内部包含子查询 SUBQUERY:子查询(select和where中的) DERIVED:子查询(from中的) UNION:...

2018-09-02 20:09:24 56 0

原创 zookeeper 概念

数据结构 zk的数据结构设计成类似于文件系统树的结构 zk的数据放在内存中保证了它的高效 每个节点都是一个znode,既是文件也是文件夹,可以存储数据 在zk的命名空间中,用path路径定义一个节点 znode znode中包含的数据 消息版本 时间戳 acl(Access Co...

2018-08-30 18:26:21 75 0

原创 storm(三) 编程关键类

Storm概念 storm的编程其实就是设计topology的过程,该过程中最主要的就是Spout、bolt还有grouping 关键类 创建topology 这个部分可以直接参考官网,使用TopologyBuilder类 To...

2018-08-28 23:50:28 81 0

原创 storm(一) 集群架构

storm关键概念 storm不用来处理静态数据,主要用来处理动态数据 storm 架构 Nimbus:管理节点,用于提交 Supervisor:从节点,接受来自于Nimbus节点的任务,管理Worker Worker:工作进程,具体执行业务的工作进程 ...

2018-08-28 23:27:45 249 0

原创 java-集合

数据结构 树:二叉树是一种非常常用的树形结构 图 数组:长度固定,可以用下标索引 列表:ArrayList 栈:peek(),push()和pop() ,先进后出 队列:peek(),offer()和poll(), 先进先出 链表:每个节点包含有数据以及指向下一个节点的引用,...

2018-08-25 17:05:37 64 0

原创 java-io

IO主要内容 File 同步阻塞的输入输出流 NIO多路复用、同步非阻塞的io channel Selector Buffer NIO2异步非阻塞的io(利用事件回调机制来实现) 概念 bit一个二进制位 byte由8个bit组成你 char java中是2个byte,16位 ...

2018-08-23 16:33:01 36 0

原创 spring-mvc

mvc:数据模型model(数据的对象,和视图交互)+视图view(包含jsp、freemarker)+控制器controller (@Controller类) 三层架构:展现层+应用层+数据访问层 mvc只是三层架构的展现层 应用层一般是Service,数据访问层一般是DAO。 启用...

2018-08-22 07:03:29 55 0

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