netty
原理+实战
xgc_java
这个作者很懒,什么都没留下…
展开
-
packetdrill工具安装
下载packetdrill源码上传到linux文件目录解压进入源码目录cd gtests/net/packetdrill安装 bison和 flex 库:sudo yum install -y bison flex为避免 offload 机制对包大小的影响,修改 netdev.c 注释掉 set_device_offload_flags 函数所有内容执行 ./configure修改 Makefile,去掉第一行的末尾的 -static执行 make 命令编译确认编译无误地生成了 packe.原创 2021-08-09 13:20:03 · 308 阅读 · 0 评论 -
理解channel
概述在 Java NIO 中,基本上所有的 IO 操作都是从 Channel 开始。数据可以从 Channel 读取到 Buffer 中,也可以从 Buffer 写到 Channel 中。如下图所示:NIO Channel 对比 Java StreamNIO Channel 类似 Java Stream ,但又有几点不同:对于同一个 Channel ,我们可以从它读取数据,也可以向它写入数据。而对于同一个 Stream ,通畅要么只能读,要么只能写,二选一( 有些文章也描述成“单向”,.原创 2020-10-17 14:24:41 · 3253 阅读 · 0 评论 -
(二)理解Buffer
内附备注,大概了解一下Buffer类的实现public abstract class Buffer { // Invariants: mark <= position <= limit <= capacity /** 一个备忘位置。调用 mark( )来设定 mark = postion。调用 reset( )设定 position = mark。标记在设定前是未定义的(undefined)。 **/ private int mark = -1;.原创 2020-08-05 09:52:19 · 495 阅读 · 0 评论 -
(一)理解IO
一. 要理解IO操作,首先需要了解计算机的组成、用户空间与内核空间。计算机是由硬件系统(hardware system)和软件系统(software system)两部分组成的。软件系统包括操作系统、语言处理系统、服务程序、数据库管理系统。操作系统分为用户态、内核态。当进程运行在内核空间时,它就处于内核态;当进程运行在用户空间时,它就处于用户态。当我们需要进行IO操作时,如读写硬盘文件、读写网卡数据等,进程需要切换到内核态,否则无法进行这样的操作,无论是从内核态切换到用户态,还是从用原创 2020-08-04 11:05:20 · 704 阅读 · 0 评论