
JAVA网络编程
文章平均质量分 96
Life journey
技术没有边界
展开
-
Netty高并发高性能架构设计&NIO空轮训BUG
Netty高并发高性能架构设计&NIO空轮训BUGNetty高并发高性能架构设计Netty线程模型Netty主从Reactor模型设计的精髓无锁串行化设计思想零拷贝直接内存Netty零拷贝ByteBuf内存池设计灵活的TCP参数配置能力ByteBuf扩容机制handler的生命周期回调接口调用顺序NIO的空轮训BUGNetty如何解决NIO空轮训BUG Netty高并发高性能架构设计 Netty线程模型 Netty是采用主从Reactor模型,简单来说就是两个线程组,每个线程组中的每一个循环的线程都原创 2021-01-26 17:16:36 · 489 阅读 · 0 评论 -
Netty启动流程源码分析
Netty启动流程源码分析源码分析EventLoopGroup 源码分析ServerBootstrap分析启动流程BindinitAndRegisterdoBind0 源码分析 Netty是一种异步非阻塞的通信框架,但是Netty底层是通过NIO来实现了, 不是AIO来实现的,Netty的线程模型在之前的笔记中已经分析了,其实Netty的线程模型是通过doug lea的一本书演化而来,Netty通过线程组的方式来启动多个多路复用器,每个多路复用器所做的事情比较明确,比如boss的线程组主要是处理链接事件,而原创 2021-01-26 17:02:31 · 404 阅读 · 3 评论 -
Netty的粘包拆包&心跳机制&断线重连
Netty的粘包拆包&心跳机制&断线重连编解码编解码的概念Netty的编解码示例自定义发送对象JDK原始的序列化protostuff序列化Netty粘包拆包解决方案Netty心跳机制IdleStateHandler源码分析Netty断线自动重连实现 编解码 编解码的概念 Netty的编解码其实很好理解,不管是Netty还是传统的socket连接也需要做编解码,比如说 tomcat,tomcat的请求过程中,比如在bio的传统交互过程中,http定义了一种协议,那么过程就是从socket中读取原创 2021-01-26 16:49:55 · 575 阅读 · 0 评论 -
Netty架构探索之NIO架构演变
Netty架构探索之NIO架构演变Netty初探Netty的使用场景Netty通讯示例NIO架构演变传统的BIO模型基本的 Reactor模型多线程的Reactor模型主从Reactor模型Netty的线程模型Netty模块组件ByteBuf详解Netty实战聊天室系统 Netty初探 NIO 的类库和 API 繁杂, 使用麻烦: 需要熟练掌握Selector、 ServerSocketChannel、 SocketChannel、 ByteBuffer等。 开发工作量和难度都非常大: 例如客户端面临断线重原创 2021-01-26 16:36:51 · 306 阅读 · 0 评论 -
Socket简单通信
最近感觉网络编程方面知道的比较少,今天做了一个小例子,就是客服端与服务器端的连接,使用了多线程,具体的代码如下: 服务器端: package com.bmldyq.sockey.server; import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import jav...原创 2012-03-20 17:37:21 · 126 阅读 · 0 评论