十一月 12, 2023NIO有一个非常重要的组件——多路复用器,其底层有3种经典模型,分别是epoll、select和poll。与传统IO相比,一个多路复用器可以处理多个Socket连接,而传统IO对每个连接都需要一条线程去同步阻塞处理。NIO有了多路复用器后只需要一条线程即可管理多个Socket连接的接入和读写事件。 Netty的多路复用
十一月 8, 2023客户端的心跳检测对于任何长连接的应用来说,都是一个非常基础的功能。要理解心跳的重要性,首先需要从网络连接假死的现象说起。 一、网络连接假死现象 什么是连接假死呢?如果底层的TCP连接已经断开,但是服务器端并没有正常地关闭套接字,认为这条连接仍然是存在的。 连接假死的具体表现如下: 1. 在服务器端,…
十月 28, 2023介绍 Netty 编解码器的原理与使用,包括入站方向将 ByteBuf 解码为 Java POJO 对象、出站方向将 POJO 编码为 ByteBuf 的流程,以及 ByteToMessageDecoder 基类的工作机制和自定义解码器的实现。
十月 25, 2023Netty 框架的基础入门,介绍 Netty 的异步回调模型,包括对 Java Future 接口的扩展、GenericFutureListener 非阻塞回调机制,以及 Netty 自有 Future 接口的增强方法。
十月 13, 2023介绍 Java NIO 的三大核心组件:Channel(通道)、Buffer(缓冲区)和 Selector(选择器),对比 NIO 与传统 OIO 在面向流/面向缓冲、阻塞/非阻塞以及 IO 多路复用方面的差异。
九月 14, 2022一、refresh方法 Spring容器启动时会创建IOC容器,在创建容器时会调用refresh()方法,整个容器就是通过该方法完成所有bean的创建以及初始化。 spring有四种作用域: - singleton (单例): 唯一 bean 实例,Spring 中的 bean 默认都是单例的。 -…
五月 2, 2022本文可能较长,但是通读一定能让你对整个shiro请求的执行流程有清晰的了解 总体流程: 1、在过滤的过程中创建subject doFilter -SecurityManager -SubjectContext -创建subject -解析各种信息并赋值 2、若该subject未认证则进行认证…