2017年10月20日

简单理解红黑树

摘要: TreeMap实现了SortedMap接口,会按照Key的大小顺序对Map中的元素进行排序,Key大小的评判可以通过其本身的自然顺序,也可以通过构造时传入的比较器。 TreeMap底层通过红黑树实现的,也就意味着containKey(),get(),put(),remove()都有着log(n)的时 阅读全文

posted @ 2017-10-20 16:07 black_Style 阅读(185) 评论(0) 推荐(0) 编辑

负载均衡算法

摘要: 轮询:将请求一次分发到每台应用服务器上 加权轮询:根据应用服务器的硬件情况,在轮询的基础上,安装配置的权重将请求分发到每个服务器 随机:将请求随机分发到每个应用服务器上 最少连接:记录每个服务器正在处理的连接数,将新到的请求分发到最少连接的服务器上 原地址散列:根据请求来源的ip地址进行hash计算 阅读全文

posted @ 2017-10-20 15:54 black_Style 阅读(111) 评论(0) 推荐(0) 编辑

如何计算tomcat线程池大小?

摘要: 如何计算tomcat线程池大小? 背景 在我们的日常开发中都涉及到使用tomcat做为服务器,但是我们该设置多大的线程池呢?以及根据什么原则来设计这个线程池呢? 接下来,我将介绍本人是怎么设计以及计算的。 目标 确定tomcat服务器线程池大小 具体方法 众所周知,tomcat接受一个request 阅读全文

posted @ 2017-10-20 15:13 black_Style 阅读(1201) 评论(0) 推荐(0) 编辑

简单理解Rocket---简单代码实例

摘要: 生产者producer,用于发送消息 package com.xxx.rocketMQ; import com.alibaba.rocketmq.client.exception.MQBrokerException; import com.alibaba.rocketmq.client.except 阅读全文

posted @ 2017-10-20 14:11 black_Style 阅读(379) 评论(0) 推荐(0) 编辑

简单理解NIO

摘要: 非阻塞的IO通信思想 IO和NIO的比较: 1,IO只能实现阻塞式的网络通信;NIO能实现非阻塞的网络通信 2,标准IO是基于字节/字符流进行操作;而NIO是基于通道--Channel进行操作的。 3,流的读写通常是单向的,要么输入,要么输出,不能既是输入流又是输出流;通道是双向的,既可以写数据到通 阅读全文

posted @ 2017-10-20 13:44 black_Style 阅读(158) 评论(0) 推荐(0) 编辑

简单理解TCP粘包拆包

摘要: TCP粘包拆包的逻辑情景: 客户端与服务器建立连接,客户端发送一条或多条数据,客户端关闭与服务端的连接。 针对发送一条数据:断开连接后,服务端知道已经读完一条消息,然后进行解码和后续处理 针对发送多条数据: 断开连接后,可能出现粘包拆包问题。 正常情况:服务端读到第一条数据的完整信息,消费完后再从网 阅读全文

posted @ 2017-10-20 13:39 black_Style 阅读(209) 评论(0) 推荐(0) 编辑

导航