
Netty
王老狮
现500强企业担任核心技术骨干,有多年的技术开发和管理经验。曾在公司主导过开放平台系统架构的设计,大数据平台架构设计。现主要负责公司数据中台体系的从0到1的建设,擅长分布式,高并发,大数据等技术领域。在系统安全、微服务、技术架构等领域输出多篇技术专利。对新技术有着极高的热情,喜欢钻研和研究未知的领域,善于分享,输出技术文章全网阅读200W左右。善于目标驱动,抛弃过往的经验,回到问题的本质。
展开
-
Netty组件EventLoopGroup和EventLoop源码分析
一、UnSafe相关介绍1、JAVA中Unsafe简介为什么先介绍Unsafe这个东西呢?我们知道JDK中也有UnSafe,Java中的Unsafe类为我们提供了类似C++手动管理内存的能力。封装这一系列的native方法。并且是禁止我们开发者自己使用的。当然你可以通过反射进行获取。JAVA中的UnSafe提供以下的功能可以看到,java中的unsafe提供的都是至关重要的一些...原创 2020-02-13 11:56:24 · 19414 阅读 · 7 评论 -
Netty相关面试题汇总
目录1、Netty的特点2、Netty的线程模型3、TCP 粘包/拆包的原因及解决方法?4、请概要介绍下序列化5、Netty的零拷贝实现6、Netty是如何解决JDK中的Selector BUG的?7、Netty 的优势有哪些?8、Netty 高性能表现在哪些方面?9、Netty 中有哪些重要组件?10、Netty 发送消息有几种方式?11、Net...原创 2020-05-10 18:20:46 · 20660 阅读 · 2 评论 -
Netty实战三-如何让单机下Netty支持百万长连接?
目录一、操作系统优化二、Netty调优1、设置合理的线程数2、心跳优化3、接收和发送缓冲区调优4、合理使用内存池5、IO线程和业务线程分离三、JVM层面相关性能优化1、确定GC优化目标2、确定服务端内存占用3、GC优化过程单机下能不能让我们的网络应用支持百万连接?可以,但是有很多的工作要做。而且要考虑到单机的系统资源消耗能否支撑百万并发一、操作系...原创 2020-01-23 15:20:30 · 16530 阅读 · 2 评论 -
Netty实战二-实现UDP的单播和广播
当时犹豫和很久这些网络相关的实现放在网络编程里还是Netty里,但因为都是通过Netty实现的,顾还是放在Netty实战系列里比较合适,毕竟网络编程里实现方式很多种嘛?一、UDP单播和广播在网络编程一 - 计算机网络体系基础知识中,我们已经讲过UDP协议。在UDP 这样的无连接协议中,并没有持久化连接这样的概念,并且每个消息(一个UDP 数据报)都是一个单独的传输单元。此外,UDP 也...原创 2020-01-12 11:13:04 · 26817 阅读 · 2 评论 -
Netty实战一 Netty实现文件的上传和下载
目录一、Netty应用场景二、Netty实现文件的上传和下载三、程序演示1、下载演示2、上传演示一、Netty应用场景讲了一些Netty的组件,来聊一聊大家最关心的事情吧,他能够做什么?毕竟,我们学习就是拿来用的嘛。我可以简单的概括一下,凡是牵扯到网络相关的,都可以使用Neety去实现!构建高性能、低时延的各种 Java 中间件,例如 MQ、分布式服务框架、E...原创 2019-12-28 10:39:56 · 30093 阅读 · 5 评论 -
高性能IO框架Netty四 - 解决粘包/半包问题
目录前言:demo演示执行结果一、什么是TCP粘包半包?二、TCP粘包/半包发生的原因三、解决粘包半包问题1、在包尾增加分割符2、消息定长3、将消息分为消息头和消息体前言:demo演示首先,我们来看个demo1、EchoServer/** * 作者:DarkKing * 类说明: */public class EchoServer { ...原创 2019-11-11 11:23:24 · 22995 阅读 · 2 评论 -
高性能IO框架Netty五 - Netty内置的编解码器
目录一、什么是编解码器二、解码器2.1ByteToMessageDecoder2.2MessageToMessageDecoder2.3 TooLongFrameException三、编码器3.1 MessageToByteEncoder3.2 MessageToMessageEncoder四、编解码器类五、Netty内置的编解码器和ChannelH...原创 2019-12-09 08:15:56 · 18955 阅读 · 0 评论 -
高性能IO框架Netty三 - ByteBuf详解
目录一、ByteBuf介绍二、分配方式堆缓冲区直接缓冲区ByteBufAllocatorUnpooled 缓冲区三、ByteBuf的操作可丢弃字节可读字节可写字节索引管理查找操作派生缓冲区引用计数工具类资源释放一、ByteBuf介绍网络数据的基本单位总是字节。Java NIO 提供了ByteBuffer 作为它的字节容器...原创 2019-10-24 18:12:30 · 19458 阅读 · 1 评论 -
高性能IO框架Netty二-Netty重要组件介绍
目录一、Netty事件响应机制1.1 Netty的事件响应机制事件回调事件二、 Netty重要组件介绍2.1 Channel、EventLoop(Group)和ChannelFuture2.1.1Channel2.1.2EventLoop和EventLoopGroup2.1.3 ChannelFuture2.2ChannelHandler、Ch...原创 2019-10-20 10:00:39 · 26335 阅读 · 1 评论 -
高性能IO框架Netty一-第一个Netty程序
目录一、Netty简介1、Netty是什么?2、为什么要用Netty?3、为什么Netty使用NIO而不是AIO?4、为什么不用Netty5二、HelloNetty!1、NettyServer2、NettyServerHandler3、NettyClient4、NettyClientHandler5、程序演示6、总结Netty作为一个高性能I...原创 2019-10-02 13:19:27 · 37951 阅读 · 0 评论