上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 1、serverhandler package server; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import lombok.exte 阅读全文
posted @ 2020-02-16 17:29 以梦为码 阅读(1215) 评论(0) 推荐(0) 编辑
摘要: 在网络传输过程中粘包和半包中经常出现的现象。 在TCP传输中,客户端发送消息时,实际上是将数据写入TCP的缓存,此时数据的大小和缓存的大小就会造成粘包和半包的原因。 例如: 客户端给服务端发送了两条消息ABC和DEF,服务端这边的接收会有多少种情况呢?有可能是一次性收到了所有的消息ABCDEF,有可 阅读全文
posted @ 2020-02-15 19:47 以梦为码 阅读(882) 评论(0) 推荐(0) 编辑
摘要: 1、为何高并发下容易oom 1)首先我们了解当执行垃圾回收的时候,会导致进程暂停,从而使我们的程序卡死;进程长时间暂停,又会导致大量的请求积压等待处理,垃圾回收刚刚结束,更多的请求立刻涌进来,迅速占满内存,再次被迫执行垃圾回收,进入了一个恶性循环。如果垃圾回收的速度跟不上创建对象的速度,还可能会产生 阅读全文
posted @ 2020-02-13 22:14 以梦为码 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 1、协议抽象实体 1 package protocal.model; 2 3 import lombok.Data; 4 5 /** 6 * @author liupengr 7 * @date 2020/2/12 18:21 8 */ 9 @Data 10 public abstract clas 阅读全文
posted @ 2020-02-12 19:22 以梦为码 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 1、序列化接口 1 package serializer.service; 2 3 /** 4 * 序列化接口 5 * 6 * @author liupengr 7 * @date 2020/2/12 18:17 8 */ 9 public interface Serializer { 10 11 阅读全文
posted @ 2020-02-12 19:18 以梦为码 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 目前有很多通用的序列化实现,比如java和go都内置了序列化实现,还有一些开源的序列化框架,比如Google 的 Protobuf、Kryo、Hessian 等, 以及像json,二进制这种标准会的数据格式也可以作为序列化的实现。 首先我们选用数列化实现有哪几个维度呢? 序列化后数据要有良好的可读性 阅读全文
posted @ 2020-02-11 22:02 以梦为码 阅读(782) 评论(0) 推荐(0) 编辑
摘要: 1、同步网络IO模型 网络IO模型分两段,一个write,一个read,write操作我们不需要考虑,这里我们看read操作。 接受线程会一直阻塞,当有数据到来的时候,操作系统会先把数据写入接收缓存,然后给接收数据的线程发一个通知, 线程收到通知后结束等待,开始读取数据。处理完这一批数据后,继续阻塞 阅读全文
posted @ 2020-02-10 19:25 以梦为码 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 1、用户空间和内存空间 为了不让用户线程直接操作内核,保护内核的安全,操作系统将虚拟空间分为两部分,一部分为内核空间,一部分为用户空间。 针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x 阅读全文
posted @ 2020-02-10 18:52 以梦为码 阅读(526) 评论(0) 推荐(0) 编辑
摘要: Q:为何要采用异步编程 A:异步编程首先不会节约线程,因为异步操作都会重新开一个线程。异步编程是提高了CPU的使用率,采用同步编程的方式,整个服务器的所有线程大部分都没有在工作,而是在等待。因为线程同步操作 要等整个事件处理完成才能提交,所以CPU的利用率很低;当采用异步编程,线程不需要等待,减少时 阅读全文
posted @ 2020-02-09 17:51 以梦为码 阅读(944) 评论(0) 推荐(0) 编辑
摘要: java线程池 1、以下是ThreadPoolExecutor参数完备构造方法: public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit, BlockingQueu 阅读全文
posted @ 2020-02-09 12:46 以梦为码 阅读(10074) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页