- 博客(8)
- 资源 (13)
- 问答 (3)
- 收藏
- 关注
原创 学习地址记录
MongoDB:http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html该博客内的文章都不错
2016-05-19 15:03:39 256
原创 NIO框架(4)---聊天室
前几篇文章介绍了NIO的几个主要构件,包括缓冲区Buffer、传输通道Channel、消息选择器Selector以及消息类别SelectionKey,接下来我们通过一个聊天室的例子来了解一下以上各种组件的用法。聊天室分为服务器端和客户端,服务器端接收客户端发来的请求消息,并生成一个Channel来处理客户端的消息;客户端生成Channel来连接服务器,发送消息,然后再注册一个新的Channel来接收
2016-05-17 14:53:24 387
原创 NIO框架(3)---Selector
前两篇NIO文章介绍了Buffer和Channel,在介绍Channel的时候,我们我们通过生成一个线程来处理一个Channel事件,如果我们处理很多个事件,那么我们就需要启用多个线程来处理Channel事件,可不可以使用尽量少的线程来处理检测Channel事件呢? 接下来介绍一下Channel的传达室门卫Selector,为什么说Selector是门卫呢?因为Selector就像一个门卫一样监控
2016-05-13 17:13:27 320
原创 NIO框架(2)---Channel
上一次,我们总结了常用buffer种类和方法,这一次我们来总结一下常用的Channel,我们将Channel根据不同的用途分为三种:网络Channel,文件Channel,管道Channel一. 网络Channel 名称 描述 ServerSocketChannel 监听socket流的channel SocketChannel 连接socket的channel Datag
2016-05-13 09:01:35 434
原创 NIO框架(1)---Buffer
NIO作为非阻塞框架,在多线程并发开发中应用比较广,现在让我们一起来深入的了解一下NIO框架。 首先确定一下文章的结构: 1.NIO的Buffer 2.NIO的管道Channel 3.NIO的选择器Selector,SelectionKey 4.NIO的编码 5.最后我们用一个例子来总结一下NIO的使用 一、NIO的Buffer Buffer常用缓冲区数据类型 名称 描述
2016-05-11 14:29:40 355
原创 Concurrent包中Queue(2)----ArrayBlockingQueue
ArrayBlockingQueue:该类实现了BlockingQueue接口,采用数组Array作为数据结构,在弹出队列时,采用FIFO的策略,初始化的时候需要手动指定初始大小。接下来看一下部分代码:/***初始化代码**/public ArrayBlockingQueue(int capacity, boolean fair) { if (capacity <= 0)
2016-05-11 12:52:30 341
原创 Concurrent包中Queue(1)----LinkedBlockingQueue
LinkedBlockingQueue:该类实现了BlockingQueue接口,采用链接的Node作为数据结构,在弹出队列时,采用FIFO的策略,存储默认数据量为 Integer.MAX_VALUE。接下来看一下它的部分实现方法:/***数据结构**/ static class Node<E> { E item; Node<E> next; Nod
2016-05-11 12:50:42 330
原创 Concurrent包中ConcurrentHashMap
自从jdk1.5之后,JDK增加了ConcurrentMap接口,这个接口是对应的 java.util.Map并发集合,提供了putIfAbsent, remove,replace三个接口方法,concurrent包也提供了ConcurrentMap的实现类ConcurrentHashMap:首先说一下ConcurrentHashMap的实现方式: 相比线程安全的HashTable各种方法都加了
2016-05-05 13:49:50 461
关于ReentrantLock使用的疑问?
2016-03-04
mysql先查询后插入或者更新的事务并发问题?
2015-12-16
python中a,b=b,a+b怎么理解?是怎么运行的呢?小白提问
2015-04-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人