Never Give Up
01
02
Transport 详解 Transport 详解
1. 概述在网络中传递的数据总是具有相同的类型:字节。 这些字节流动的细节取决于网络传输,它是一个帮我们抽象底层数据传输机制的概念,我们不需要关心字节流动的细节,只需要确保字节被可靠的接收和发送。 当我们使用 Java 网络编程时,可能会接
2022-01-02
02
Netty 核心组件总览 Netty 核心组件总览
1. 核心组件概述下面枚举所有的 Netty 应用程序的基本构建模块(核心组件),包括客户端和服务器: Bytebuf(字节容器) Bootstrap 和 ServerBootstrap (启动引导类) Channel(网络操作抽象类)
2022-01-02
02
02
02
从 BIO、NIO 到 Netty 从 BIO、NIO 到 Netty
1. BIO① 传统的阻塞式通信流程早期的 Java 网络相关的 API(java.net包) 使用 Socket(套接字)进行网络通信,不过只支持阻塞函数使用。 要通过互联网进行通信,至少需要一对套接字: 运行于服务器端的 Server
2022-01-02
12
21
虚拟内存管理 虚拟内存管理
在讲解内存管理之前,我们首先介绍一下虚拟内存。 在没有虚拟内存之前,如果内存中同时运行的两个程序都在同一个位置上面写入值,那么第二个程序写的值就会覆盖第一个程序写的值,可能之后第一个程序继续在该位置上面写值又会覆盖第二个程序写的值,那这样就
2021-12-21
16
磁盘调度算法还不会,我教你啊 磁盘调度算法还不会,我教你啊
在讲解具体的磁盘调度算法之前,我们先看看磁盘的结构,如下图所示: 磁盘调度算法的目的很简单,就是为了提高磁盘的访问性能,一般是通过优化磁盘的访问请求顺序来做到的。寻道的时间是磁盘访问最耗时的部分,如果请求顺序优化的得当,必然可以节省一些
2021-12-16
02
生产者消费者模型 生产者消费者模型
生产者和消费者问题是线程模型中老生常谈的问题,也是面试中经常遇到的问题。今天我们就盘它!!! 一、生产者消费者模型何为生产者消费者模型呢? 生产者消费者模型是由两类线程构成: 生产者线程:“生产”产品,并把产品放到一个缓冲区里; 消费者线
2021-12-02
02
Git常用命令 Git常用命令
常见名词 Master:默认开发分支 Origin:默认远程版本库 Index / stage:暂存区 Workspace:工作区 Repository:仓库区(或本地仓库) Remote:远程仓库 代码提交和同步代码: 代码撤销和
2021-12-02
02
11 / 17