03 2024 档案
Spring中如何解决循环依赖
摘要:八字真言:“三级缓存,提前暴露” 此文只是介绍简单的情况便于理解,实际上场景会更复杂、情况会更多,但是原理相通。 一、什么是循环依赖? 从字面上来理解就是A依赖B的同时B也依赖了A,就像下面这样 上图是简单的循环依赖,也会存在A依赖B,B依赖C,C依赖A这种循环,或者更复杂的情况。 (在实际工作中应
Java经典垃圾回收器介绍
摘要:先看总结: 垃圾回收器 分类 作用位置 使用算法 特点 适用场景 Serial 串行 新生代 复制算法 响应速度优先 适用于单CPU环境下的Client模式 ParNew 并行 新生代 复制算法 响应速度优先 多CPU环境Server模式下与CMS配合使用 Parallel 并行 新生代 复制算法
Netty整体架构解析
摘要:一、整理架构 下图是Netty官网上给出的整体功能模块: 1. Core 核心层 Core核心层是Netty最精华的部分了,它提供了底层网络通信的抽象和实现,包括可扩展的事件模式、通用的通信API和支持零拷贝的ByteBuf 2. Protocol Support 协议支持层 协议支持层上基本覆盖了
Netty入门程序
摘要:本章使用Netty开发一个入门程序,使用ServerBootstrap开发时间服务TimeServer,使用Bootstrap开发客户端TimeClient请求TimeServer获取时间。 开发 TimeServer之前,先回顾一下使用 NIO 进行服务端开发的步骤。 (1)创建 ServerSo
JAVA非阻塞IO、异步IO(NIO、AIO)
摘要:一、JAVA NIO 在介绍NIO编程之前,我们首先需要澄清一个概念:NIO到底是什么的简称?有人称之为New I/O,因为它相对于之前的I/O类库是新增的,所以被称为New I/O,这是它的官方叫法。但是,由于之前老的I/O类库是阻塞I/O,New I/O类库的目标就是要让Java支持非阻塞I/O
JAVA阻塞IO(BIO)简介
摘要:一、BIO编程 传统的BIO编程 网络编程的基本模型是C/S模型,即两个进程间的通信。 服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。 传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,
Linux中的IO模型介绍
摘要:一、IO是什么 I/O(Input/Output),中文名为输入/输出,指的是一切操作程序或设备与计算机之间发生的数据传输的过程。它分为IO设备和IO接口两个部分。 IO设备,就是指可以与计算机进行数据传输的硬件。最常见的I/O设备有打印机、硬盘、键盘和鼠标。从严格意义上来讲,它们中有一些只能算是输