07 2019 档案

摘要:关键抽象 1.定义一个HashMap<String,SocketChannel>用户存储每个用户的管道。 2.服务端监听read事件,获取消息后轮询hashmap发送消息给用户模型内的所有用户 3.客户端简单read事件,读取聊天消息;发送消息给服务端 1.服务端代码 2.客户端代码 阅读全文
posted @ 2019-07-03 00:58 非尚 阅读(366) 评论(0) 推荐(0)
摘要:关键抽象 1.Buffer缓冲区 NIO数据传递模型,是一个连续的内存区域、所有数据传递均通过buffer类处理;NIO提供了字符串、整形、字节、堆等多种缓冲区。 2.Channel(通道) NIO把它支持的I/O对象抽象为Channel。它模拟了通信连接,类似于原I/O中的流(Stream),用户 阅读全文
posted @ 2019-07-02 22:25 非尚 阅读(179) 评论(0) 推荐(0)
摘要:现在很多大的互联网公司都有明文规定在使用集合的时候需要初始化集合大小,但为什么要在这么做的原因以前不是很清楚,这两天想了下原因,以ArrayList举例 1.ArrayList扩容实现原理 1.扩容:把原数组的数据复制到扩容后的数组 2.添加元素:把新增元素添加到新数组中 2.ArrayList源码 阅读全文
posted @ 2019-07-02 21:06 非尚 阅读(527) 评论(0) 推荐(0)