引言 上一篇文章介绍了 的线程模型及 机制,相信大家对 已经有一个基本的认识。那么本篇文章我会根据Netty提供的 来分析一下 启动流程。 启动流程概览 开始之前,我们先来分析下 服务端的启动流程,下面是一个简单的流程图 启动流程大致分为五步 1. 创建 实例, 是Netty服务端的启动辅助类,其存 ...
分类:
Web程序 时间:
2020-05-19 20:14:10
阅读次数:
73
故事背景 嘀~嘀~嘀~,生产事故,内存泄漏! 昨天下午,突然收到运维的消息,分部某系统生产环境内存泄漏了,帮忙排查一下。 排查过程 第一步,要日志 分部给到的异常日志大概是这样(鉴于公司规定禁止截图禁止拍照禁止外传任何信息,下面是我网上找到一张类似的报错): 这一看,不得了了,ByteBuf没有释放 ...
分类:
Web程序 时间:
2020-05-19 12:47:51
阅读次数:
61
工作相关使用到的JDK类及其相关源码、机制 设计模式,设计模式在工作中用到了哪些,具体使用场景 并发类的相关知识,线程安全、锁机制、信号量、闭锁、栅栏、线程池等 框架相关,Spring相关机制、Spring MVC相关机制、MyBatis相关机制、使用的细节点、框架实现原理等 JVM,内存布局、垃圾 ...
分类:
其他好文 时间:
2020-05-18 19:11:17
阅读次数:
66
一、netty 为啥要进行拆包粘包处理 简单点描述,netty底层通讯是走的TCP协议,接收到的都是字节流,然后以字节字节队列的形式存在缓存堆里面。而TCP协议每一次最大接收的字节长度是1024个字节,一旦超过这个长度,那么就会出现一下各种形式: 所以在字节长度超过1024的时候,一个完整的包可能会 ...
分类:
Web程序 时间:
2020-05-18 16:02:45
阅读次数:
70
一、概要 本系列文章主要讲述由微软Azure团队研发的.net的版本的netty,Dotnetty。所有的开发都将基于.net core 3.1版本进行开发。 Dotnetty是什么,原本Netty是由JBOSS提供的一个java开源框架后来由微软抄了一份.net的版本, 是业界最流行的NIO框架, ...
分类:
Web程序 时间:
2020-05-17 17:36:29
阅读次数:
103
Netty 底层是基于 TCP 协议来处理网络数据传输。我们知道 TCP 协议是面向字节流的协议,数据像流水一样在网络中传输那何来 “包” 的概念呢? TCP是四层协议不负责数据逻辑的处理,但是数据在TCP层 “流” 的时候为了保证安全和节约效率会把 “流” 做一些分包处理,比如: 1. 发送方约定 ...
分类:
Web程序 时间:
2020-05-17 13:11:43
阅读次数:
78
使用Java搭建一个简单的Netty通信例子 看过dubbo源码的同学应该都清楚,使用dubbo协议的底层通信是使用的netty进行交互,而最近看了dubbo的Netty部分后,自己写了个简单的Netty通信例子。 本文源地址: "实现Netty进行通信" 准备 工程截图 模块详解 rpc comm ...
分类:
编程语言 时间:
2020-05-16 18:57:51
阅读次数:
60
reactor模式 在深入了解Netty之前,我们需要先知道reactor(反应器模式),是高性能网络编程必须知道的模式。 BIO 我们先了解下原始socket编程: //这里可以是个多线程,每个线程对应一个socket,循环处理业务,此处代码就略了,主要讲逻辑while (true){ //new ...
分类:
Web程序 时间:
2020-05-12 12:02:45
阅读次数:
84
"文档" "使用手册" 近期公司通过 连接的的方式接了一个硬件设备,用了最基础的 类,参考的oracle的 "文档" 。 实现的比较简单,放在 "github" 上,不过这里应该用 才是正解。所以,过一下 的入门文档。 本文 "demo" 序言 问题 我们一般会用Http客户端库来调用web服务,获 ...
分类:
Web程序 时间:
2020-05-11 23:58:28
阅读次数:
104