大树叶 技术专栏

骨灰攻城狮 架构师

Object的wait、notify来实现线程同步原理

认识Object.wait()方法:        导致当前线程等待,直到该对象的notify或notifyAll被执行。换句话说,这个方法行为效果完全与简单调用wait(0)一样。当前线程必须拥有对象监视器。线程释放对象监视器的所有权,等待直到另一个线程通过调用notify或notifyAll来...

2017-06-29 11:38:02

阅读数 958

评论数 0

LintCode rain trap 接雨水

题目 Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after rai...

2017-06-29 10:26:50

阅读数 288

评论数 0

MyCAT 部署 MySQL 读写分离

https://kefeng.wang/2016/12/22/mycat-mysql/

2017-06-29 01:12:32

阅读数 589

评论数 0

mycat 的那些事(推荐)

偶然路过下面的博文,专门讲mycat ,包括技术和它的一些杂七杂八的趣事。 去看看吧 http://blog.csdn.net/mchdba/article/details/51162243

2017-06-29 01:01:35

阅读数 1066

评论数 0

ThreadPoolExcutor(线程池)

1、概念:      用于管理java的多线程。线程的生命周期包括创建、就绪、运行、阻塞、销毁,当有大量的线程任务需要创建时,内存的开销就大了,此时,使用线程池,在一定程度上能够很好的缓解线程的大开销。 2、优势:      (1)降低资源消耗。通过重复利用已创建的线程降低线...

2017-06-27 12:36:57

阅读数 603

评论数 0

java线程内存模型,线程、工作内存、主内存

java线程内存模型: 线程、工作内存、主内存三者之间的交互关系图:   key edeas 所有线程共享主内存 每个线程有自己的工作内存 refreshing local memory to/from main memory must  comply ...

2017-06-27 12:26:30

阅读数 229

评论数 0

HashMap中插入null key的过程分析

在HashMap中添加key==null的Entry时会调用putForNullKey方法 下面是HashMap的put方法: [java] view plain copy public V put(K key, V value) {   ...

2017-06-27 11:09:00

阅读数 219

评论数 0

深入Java集合学习系列:HashMap的实现原理

1.    HashMap概述:    HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。   2.    HashMap的数据结构:    在java编程语言中,最基本的...

2017-06-27 09:41:02

阅读数 185

评论数 0

推荐读:MYSQL中的where条件,在数据库中提取与应用浅析

原文: http://hedengcheng.com/?p=577 1        问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查...

2017-06-26 16:53:54

阅读数 508

评论数 0

MySQL的GAP LOCK(间隙锁) 的陷阱

http://fucheng.blog.51cto.com/2404495/1619359  mysql(innodb storage engine)的行锁主要是通过在相应的索引记录来实现,作为一个最佳的实践方式就是 使用innodb的时候,最好是每个表明确定义主健,如果没有显式定义主健,...

2017-06-26 14:36:09

阅读数 4685

评论数 0

MySQL InnoDB四个事务级别 与 脏读、不重复读、幻读

MySQL InnoDB事务隔离级别脏读、可重复读、幻读 MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。 · 未提交读(READUNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的...

2017-06-26 11:54:33

阅读数 283

评论数 0

推荐读:MySQL 加锁处理分析

原文地址 http://hedengcheng.com/?p=771 这是一篇目前看来很有深度的文章张,值得读。 1    背景    1 1.1    MVCC:Snapshot Read vs Current Read    2 1.2    Cluster Index:聚簇索...

2017-06-26 10:33:30

阅读数 351

评论数 0

推荐:mysql锁 innodb下的记录锁,间隙锁,next-key锁

你需要知道的 之前我们介绍了排他锁,其实innodb下的记录锁(也叫行锁),间隙锁,next-key锁统统属于排他锁。 行锁 记录锁其实很好理解,对表中的记录加锁,叫做记录锁,简称行锁。 生活中的间隙锁 编程的思想源于生活,生活中的例子能帮助我们更好的理解一些编程中的思想。 生活中排队的场景,...

2017-06-26 01:06:44

阅读数 8464

评论数 1

Mysql innodb 间隙锁: 记录不存在也会加间隙锁

前段时间系统老是出现insert死锁,很是纠结。经过排查发现是间隙锁!间隙锁是innodb中行锁的一种, 但是这种锁锁住的却不止一行数据,他锁住的是多行,是一个数据范围。间隙锁的主要作用是为了防止出现幻读,但是它会把锁定范围扩大,有时候也会给我们带来麻烦,我们就遇到了。 在数据库参数中, 控制间隙...

2017-06-26 00:45:08

阅读数 534

评论数 0

SpringMVC @RequestBody接收Json对象字符串 例子

pringmvc 的这个 @RequestBody 用得比较少,今天看了一下,还是很方便.  @RequestBody 接收类似 [{name: "test"}, {name: "张三"}] 这样的json字符串.   先看页面: ...

2017-06-25 23:26:12

阅读数 2983

评论数 0

如何搭建一个 Redis 集群

http://www.redis.cn/topics/cluster-tutorial.html 本文档是Redis集群的一般介绍,没有涉及复杂难懂的分布式概念的赘述,只是提供了从用户角度来如何搭建测试以及使用的方法,如果你打算使用并深入了解Redis集群,推荐阅读完本章节后,仔细阅读 ...

2017-06-24 21:24:30

阅读数 1942

评论数 0

数据库为什么要用B+树结构--MySQL索引结构的实现

B+树在数据库中的应用 { 为什么使用B+树?言简意赅,就是因为: 1.文件很大,不可能全部存储在内存中,故要存储到磁盘上 2.索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数(为什么使用B-/+Tree,还跟磁盘存取原理有关。) 3.局部性原理与磁盘预读,预读的长度一般为页(page)的整...

2017-06-23 17:46:34

阅读数 1976

评论数 0

数据库采用B+树而不是B-树 b树的原因

总结:  1. 不包含Data ,每页的包含的内容会比较多,出度比较高. 深度低,有效保证性能          2. 叶子节点包含所有内容,便于全局遍历.

2017-06-23 13:22:17

阅读数 548

评论数 0

B-树,B+树与B*树的优缺点比较

首先注意:B树就是B-树,"-"是个连字符号,不是减号。  B-树是一种平衡的多路查找(又称排序)树,在文件系统中有所应用。主要用作文件的索引。其中的B就表示平衡(Balance)  B+树有一个最大的好处,方便扫库,B树必须用中序遍历的方法按序扫库,而B+树直接从叶子结点挨...

2017-06-23 13:17:05

阅读数 8435

评论数 0

MySQL B 和 B + 树

在介绍B树之前,先来看另一棵神奇的树——二叉排序树(Binary Sort Tree),首先它是一棵树,“二叉”这个描述已经很明显了,就是树上的一根树枝开两个叉,于是递归下来就是二叉树了(下图所示),而这棵树上的节点是已经排好序的,具体的排序规则如下: 若左子树不空,则左子树上所...

2017-06-23 13:09:24

阅读数 504

评论数 0

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