摘要:
B-树性质 B-树可以看作是对2-3查找树的一种扩展,即他允许每个节点有M-1个子节点。 1根节点至少有两个子节点 2每个节点有M-1个key,并且以升序排列 3位于M-1和M key的子节点的值位于M-1 和M key对应的Value之间 其它节点至少有M/2个子节点 下图是一个M=3 阶的B树 阅读全文
摘要:
Dubbo最主要功能有两个 1 RPC调用 2 SOA服务治理方案 Dubbo的架构 Dubbo常见的注册中心有2中,zookeeper以及redis 这篇文章讲解的是采用的zookeeper,要求读者对zookeeper有一定的认识。 http://www.cnblogs.com/javabigd 阅读全文
摘要:
在这里我先简单的说下bio和nio的区别 这里我以电话客服的情况来解释 bio 一个客户对应一个客服, 假如客户比较麻烦,中途不挂电话,或者去做其他事情了,而客服资源会被一直占用 导致的后果是系统处理能力大大降低 Nio 中间加入了一个协调员,假如遇到比较麻烦的用户,请求可以先到协调员这里,当用户准 阅读全文
摘要:
这里其实有多种解决方案 如果你不需要获取request对象 可以采用aop(环绕通知)的方式来统一修改 如果你需要获取request对象,那么就需要采用下面的方式 0自己定义一个注解,内容如下 1继承org.springframework.web.servlet.mvc.method.annotat 阅读全文
摘要:
先说结论,在Controller中注入Request是线程安全的。 以下是解释: 我们先来看看这两者有什么不同 在controller注入成员变量request 可以看到注入的是一个代理对象 写在方法参数上 可以看到是一个tomcat原生的RequestFacade对象 那接下来我们看看在contr 阅读全文
摘要:
上篇主要说明了jdk动态代理的基本使用,这篇文章主要说说jdk底层是怎么实现的 这里源码版本是1.8.0-b132 首先来看看它是如何生成代理类的: 接下里我们看看是怎么生成代理类的 也就是 接下来我们看看proxyClassCache是怎么实现的 源代码里面有 具体的缓存逻辑这里我们暂时不关心 这 阅读全文
摘要:
基本思路 1 client调用create()方法创建“/locks/_lock_”临时顺序节点,注意节点类型是EPHEMERAL_SEQUENTIAL 2 client调用getChildren("/locks",false)来获取所有已经创建的子节点,这里并不注册任何Watcher,只是为了看自 阅读全文
摘要:
原生API 增删改查询 注意:节点类型分为四种 临时,临时顺序 持久 持久顺序 临时节点的有效期 是当次连接开始到当次连接结束。 实际开发中,我们一般不会使用原生APi去开发,超级不好用。一般会使用 Curator或者zkclient 后面都会介绍到 Watcher 之前提到,监控机制是zookee 阅读全文
摘要:
Zookeeper的简介这里我就不说了,在接下来的几篇文章会涉及zookeeper环境搭建,watcher以及相关配置说明, 三种操作zookeeper的方式(原生API方式,zkclient,Curator),分布式锁等进行说明。 环境安装 一般来说,zookeeper安装方式有三种,单机模式和集 阅读全文
摘要:
与jdbcTemplate相似的是,Spring也提供了JmsTemplate 生产者使用JmsTemplate生产消息,消费者实现一个监听器用于获取消息 项目用maven构建,jdk1.8, 文末提供免费源码下载 项目工程截图如下 activemq.properties 主要配置连接activem 阅读全文