2019年1月16日
摘要:
【TCP协议】(3) TCP粘包黏包 有关TCP协议之前写过两篇博客: 1、【TCP协议】(1) TCP协议详解 2、【TCP协议】(2) TCP三次握手和四次挥手 一、TCP粘包、拆包图解 假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到字节数是不确定的,故可能存在以下四种情
阅读全文
posted @ 2019-01-16 15:32
雨点的名字
阅读(3105)
推荐(5)
2019年1月15日
摘要:
TCP协议 本文内容如下: 1)TCP协议概念 2)TCP头部结构和字段介绍 3)TCP流量控制 滑动窗口 4)TCP拥塞控制 慢启动、拥塞避免、快重传、快恢复 有关TCP的三次握手四次挥手单独写了一篇博客:【TCP协议】 TCP三次握手和四次挥手 有关TCP粘包和黏包,也单独写一篇博客,下一篇博客
阅读全文
posted @ 2019-01-15 11:19
雨点的名字
阅读(24957)
推荐(31)
2019年1月9日
摘要:
Netty编解码器 在了解Netty编解码之前,先了解Java的编解码: 编码(Encode)称为序列化, 它将对象序列化为字节数组,用于网络传输、数据持久化或者其它用途。 解码(Decode)称为反序列化,它把从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象的拷贝),以方便后续的业务逻辑
阅读全文
posted @ 2019-01-09 21:59
雨点的名字
阅读(11379)
推荐(6)
2019年1月7日
摘要:
ChannelPipeline ChannelPipeline不是单独存在,它肯定会和Channel、ChannelHandler、ChannelHandlerContext关联在一起,所以有关概念这里一起讲。 一、ChannelHandler 1、概念 先看图 ChannelHandler下主要是
阅读全文
posted @ 2019-01-07 22:26
雨点的名字
阅读(18704)
推荐(22)
2018年12月28日
摘要:
SpringBoot整合Druid实现多数据源和可视化监控 先献上github代码地址:https://github.com/yudiandemingzi/spring-boot-many-data-source 代码拉下来换下自己的mysql数据库地址,就可以直接运行。Druid的优点很明显,它的
阅读全文
posted @ 2018-12-28 22:27
雨点的名字
阅读(16563)
推荐(4)
2018年12月20日
摘要:
Mybatis逆向工程 逆向工程的目的就是缩减了我们的开发时间。所谓Mybatis逆向工程,就是Mybatis会根据我们设计好的数据表,自动生成 、`mapper mapper.xml`。 接下来就是项目搭建过程。 : "mybatis逆向工程代码" 一、pom.xml文件 二、generato
阅读全文
posted @ 2018-12-20 23:43
雨点的名字
阅读(1049)
推荐(1)
2018年12月19日
摘要:
【Netty】(7) 搭建websocket服务器 说明:本篇博客是基于学习某网有关视频教学。 目的:创建一个websocket服务器,获取客户端传来的数据,同时向客户端发送数据 ## 一、服务端 ####1、Main主类 public class WSServer { public static
阅读全文
posted @ 2018-12-19 22:57
雨点的名字
阅读(6552)
推荐(4)
2018年12月17日
摘要:
【Netty】6 源码ServerBootstrap 之前写了两篇与Bootstrap相关的文章,一篇是ServerBootstrap的父类,一篇是客户端Bootstrap类,博客地址: 【Netty】源码AbstractBootstrap 【Netty】源码 Bootstrap 所以接下来 有关S
阅读全文
posted @ 2018-12-17 21:46
雨点的名字
阅读(1930)
推荐(1)
2018年12月11日
摘要:
【Netty】5 源码 Bootstrap 上一篇讲了AbstractBootstrap,为这篇做了个铺垫。 一、概述 Bootstrap 是 Netty 提供的一个便利的工厂类, 我们可以通过它来完成 Netty 的客户端或服务器端的 Netty 初始化. Bootstrap: 用于客户端,只需要
阅读全文
posted @ 2018-12-11 23:23
雨点的名字
阅读(1969)
推荐(2)
2018年12月9日
摘要:
源码AbstractBootstrap 一、概念 AbstractBootstrap是一个工具类,用于服务器通道的一系列配置,绑定NioEventLoopGroup线程组,指定指定NIO的模式,指定子处理器,用于处理workerGroup,指定端口等。 通过类图我们知道AbstractBootstr
阅读全文
posted @ 2018-12-09 20:24
雨点的名字
阅读(1688)
推荐(0)
2018年12月6日
摘要:
netty(3)—源码NioEventLoopGroup 一、概念 NioEventLoopGroup对象可以理解为一个线程池,内部维护了一组线程,每个线程负责处理多个Channel上的事件,而一个Channel只对应于一个线程,这样可以回避多线程下的数据同步问题。 我们先回顾下 上篇博客的服务器代
阅读全文
posted @ 2018-12-06 21:20
雨点的名字
阅读(3142)
推荐(3)
2018年12月5日
摘要:
netty(2) 搭建一个简单服务器 效果:当用户访问:localhost:8088 后 服务器返回 “hello netty”; 一、服务端线程模型 下面的做法是服务端监听线程和 IO 线程分离,类似于 Reactor 的多线程模型,它的工作原理图如下(盗的图): 这里netty版本是4.1.25
阅读全文
posted @ 2018-12-05 21:19
雨点的名字
阅读(2721)
推荐(3)
2018年11月22日
摘要:
Linux(2) 记录一次线上服务 CPU 100%的排查过程 当时产生CPU飙升接近100%的原因是因为项目中的websocket时时断开又重连导致CPU飙升接近100% 。如何排查的呢 是通过日志输出错误信息: 得知websocket时时重新 连接的信息,然后找到原因 解决了。 当然这里幸好能通
阅读全文
posted @ 2018-11-22 21:52
雨点的名字
阅读(3114)
推荐(4)
2018年11月18日
摘要:
BIO NIO AIO演变 Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠的网络服务器和客户端程序。Netty简化了网络程序的开发,是很多框架和公司都在使用的技术。 Netty并非横空出世,它是在BIO,NIO,AIO演变中的产物,是一种NIO框架。 一、BIO的理解 网
阅读全文
posted @ 2018-11-18 22:29
雨点的名字
阅读(3136)
推荐(9)
2018年11月8日
摘要:
springboot项目打包镜像中的Dockerfile文件 在讲Dockerfile文件之前应该先讲下maven的一个插件叫:dockerfile-maven-plugin。他们是组合一起用的 一、dockerfile-maven-plugin 该maven插件可以实现由java源代码直接到doc
阅读全文
posted @ 2018-11-08 08:52
雨点的名字
阅读(3685)
推荐(1)