![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 66
lionsinba
这个作者很懒,什么都没留下…
展开
-
Java NIO原理 图文分析及代码实现
想再次学习下NIO的原理,转载地址:http://weixiaolu.iteye.com/blog/1479656 Java NIO原理图文分析及代码实现 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protoc转载 2017-01-04 18:01:12 · 247 阅读 · 0 评论 -
Zookeeper的watcher数据变更通知机制
在zookeeper中,引入了watcher机制来通知客户端,服务端的节点信息发生了变化。其允许客户端向服务端注册一个watcher监听,当服务端的一些指定事件触发了这个watcher,就会向指定的客户端发送一个事件通知。zookeeper的watcher机制主要包括客户端线程、客户端watchermanager和zookeeper服务器三部分。其具体工作流程为,客户端在向zo原创 2016-12-28 23:55:09 · 6651 阅读 · 1 评论 -
多线程中的Future模式及其在高性能IO框架netty中的应用
1 Further模式的原理 在多线程编程中,一个很重要的问题就是同步和阻塞,按照一般的处理流程,当发出一个请求之后,需要一直等待直到这个请求返回结果之后,调用者才能继续做其他事情,这样就造成了阻塞,降低了效率。而采用Future模型,则可以无需等待结果而直接返回,继续执行其他操作,而当调用者需要去获取结果的时候,才会去真正阻塞,直到拿到结果或者超时;或者是通过一种机制能够在结原创 2016-12-28 23:05:41 · 2658 阅读 · 0 评论 -
多线程中的Runnable、Callable、Future、FutureTask的作用
在Java多线程编程中,创建启动一个线程可以继承Thread类,也可以实现Runnable接口,但是想要获取线程的结果,则需要实现Callable接口,获取结果则需要使用Future接口。下面分别介绍这几个接口或者类的实现。Runnable接口Runnable接口只有一个run方法,其线程执行逻辑在run方法中实现。但是该方法没有返回值,所以不能获得线程执行的结果。其接口定义如下:原创 2016-12-28 18:50:12 · 365 阅读 · 0 评论 -
责任链模式以及责任链模式在netty中的使用
职责链模式将对象连成一条链,使得请求可以在链中进行传递,直到有一个对象处理他为止。 责任链中的角色抽象处理者角色(Handler):定义出一个处理请求的接口。如果需要,接口可以定义出一个方法以设定和返回对下家的引用。这个角色通常由一个Java抽象类或者Java接口实现。具体处理者角色(ConcreteHandler):具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下原创 2016-12-28 22:58:17 · 4480 阅读 · 0 评论 -
DubboX参数验证失败的返回错误信息的格式转换和时间参数序列化的问题解决
Dubbox中的参数验证失败返回信息的格式问题在使用dubbox进行实际项目开发的过程中,对输入的参数进行验证是一个很常见的问题,所以在Dubbo中提供了参数化验证的机制。但是,在具体项目实施的过程中,发现当参数验证失败的时候,返回的结果数据是一个xml格式的文本,而我们的客户端所接受的数据均为json格式,那我们怎么做这样一个格式转换呢?其实,可以采用两种方式进行解决,一种是扩展一个Dubb原创 2016-12-28 22:08:21 · 2752 阅读 · 1 评论 -
Dubbo的协议比较
1、默认协议 Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。Dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。缺省协议,使用基于mina1.1.7+hessian3.2.1实现。连接个数:单连接连接方式:长连接传输协议:TCP传输方式:NIO异步传输序列转载 2016-12-28 22:07:41 · 5921 阅读 · 0 评论 -
Redis的持久化机制学习
纵所周知,redis相比于memcache的最大区别就是,redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。下面分别对这两种方式进行介绍。 Snapshotting(快照)方式快照是默认的持转载 2016-12-28 22:03:33 · 283 阅读 · 0 评论 -
乐观锁机制学习探究
在并发控制中,锁是一种很重要的机制,它提供了在并发访问资源的时候,资源的一致性保证。也就是说保证了在同一时间只能有一个进程或者线程改变资源的状态。在数据库中,一般可以采用“乐观锁”和“悲观锁”两种机制实现。悲观锁又称悲观并发控制,是一种非常严格的并发控制策略,它具有很强的排他性和独占性,也就是在整个数据处理过程中,都会讲数据进行锁定,在这期间,其他事务无法对这个数据进行更新操作,直到锁原创 2016-12-28 20:35:51 · 264 阅读 · 0 评论 -
红黑树(五)之 Java的实现
转载地址: http://www.cnblogs.com/skywang12345/p/3624343.htmlR-B Tree简介 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。红黑树的特性:(1)每个节点或者是黑色,或者是转载 2016-12-28 10:08:56 · 287 阅读 · 0 评论 -
hibernate延迟加载(get和load的区别)
转载 http://www.cnblogs.com/xiaoluo501395377/p/3371776.htmlhibernate延迟加载(get和load的区别)在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是转载 2016-12-29 23:06:50 · 252 阅读 · 0 评论