关闭

高性能IO模型浅析

转自:http://www.cnblogs.com/fanzhidongyzby/p/4098546.html 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBL...
阅读(199) 评论(0)

IO基础入门之I/O多路复用技术

在I/O编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者I/O多路复用技术进行处理。I/O多路复用技术通过把多个I/O的阻塞复用到同一个select的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求。与传统的多线程/多进程模型比,I/O多路复用的最大优势是系统开销小,系统不需要创建新的额外进程或者线程,也不需要维护这些进程和线程的运行,降底了系统的维护工作量,节省了...
阅读(231) 评论(0)

Redis 一致性hash

Redis 一致性hash 1. 一致性hash的相关理论知识. * http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html * http://blog.csdn.net/cywosp/article/details/23397179/ 2. 还是写一下对一致性hash算法好坏的四个定义 * 平衡性(Balanc...
阅读(426) 评论(0)

java Jedis连接池的使用

所需jar:jedis-2.1.0.jar和commons-pool-1.5.4.jar Jedis操作步骤如下: 1->获取Jedis实例需要从JedisPool中获取; 2->用完Jedis实例需要返还给JedisPool; 3->如果Jedis在使用过程中出错,则也需要还给JedisPool; [java] view plain copy  print...
阅读(295) 评论(0)

ACID、Data Replication、CAP与BASE

转自:http://www.cnblogs.com/hustcat/archive/2010/09/07/1820970.html,好文需学习! ACID 在传数据库系统中,事务具有ACID 4个属性(Jim Gray在《事务处理:概念与技术》中对事务进行了详尽的讨论)。 (1)原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行...
阅读(184) 评论(0)

mysql悲观锁总结和实践

转自:http://chenzhou123520.iteye.com/blog/1860954 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使...
阅读(191) 评论(0)

缓存穿透与缓存雪崩

转自:http://www.cnblogs.com/Leo_wl/p/4547975.html 缓存穿透 什么是缓存穿透? 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。   如何避免? 1:对...
阅读(176) 评论(0)

TCP协议的三次握手和四次挥手

转自: http://uule.iteye.com/blog/2213562 TCP/IP协议三次握手与四次握手流程解析 Http协议三次握手过程   简述Socket,IP,TCP三次握手,HTTP协议  TCP/IP协议的三次握手及实现原理    一、TCP报文格式   TCP报文格式图:       上图中有几个字段需要重点介绍...
阅读(181) 评论(0)

HTTP协议详解

转自:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html 写的很好, 学习之。 一、概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。 HTTP协议,即超文本传输协议(Hyp...
阅读(192) 评论(0)

Netty4学习笔记(9)-- Channel状态转换

转自:http://blog.csdn.net/zxhoo/article/details/17964353 前面有一篇文章分析过Bootstrap类如何引导NioSocketChannel。上篇文章简单讨论了一下Channel接口的方法,知道有四个方法用来查询Channel的状态:isOpen()、isRegistered()、isActive()和isWritable()。这...
阅读(786) 评论(0)

Netty4学习笔记(8)-- Channel接口

转自:http://blog.csdn.net/zxhoo/article/details/17920907 Channel接口 Channel是Netty4最核心的接口之一,拥有将近40个方法和一个内部接口。本文将对Channel接口的众多方法做一个归类和总结,为进一步研究Channel实现做准备。Channel继承了AttributeMap接口,关于AttributeMap的详...
阅读(1138) 评论(0)

Netty4学习笔记(7)-- AttributeMap

转自:http://blog.csdn.net/zxhoo/article/details/17719333 IoSession MINA的IoSession接口定义了一组方法,让我们可以利用IoSession来存储一些数据: [java] view plaincopy public interface IoSession {  ...
阅读(385) 评论(0)

Netty4学习笔记(6)-- NioEventLoop继承层次结构

前一篇文章画了一张巨大的类图,但是只重点分析了NioEventLoopGroup的继承层次,这篇文章来看看NioEventLoop的继承层次。 从Executor接口说起 [java] view plaincopy public interface Executor {       void execute(Runnable co...
阅读(278) 评论(0)

Netty4学习笔记(5)-- NioEventLoopGroup继承层次结构

NioEventLoopGroup继承层次结构图 Netty4的NioEventLoopGroup继承结构很复杂,为了理解它如何工作,我画了一张类似UML的图。但是这张图也很巨大,所以我做了以下处理: 将位于不同包中的类或接口用不同的颜色加以区分 接口名后面的括号里标注了大写字母I(Interface),抽象类名的后面标注了大写字母A(Abstract) ...
阅读(299) 评论(0)
    个人资料
    • 访问:61825次
    • 积分:1342
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:72篇
    • 译文:1篇
    • 评论:15条
    最新评论