Java 程序发起调用 FileInputStream.read
读取磁盘文件,使用 byte[]
对象接受数据,内存调用的全过程。
文件数据从磁盘 copy 到内核缓冲区。
Transclude of Disk_to_Kernel-2022-12-19-1014-2.excalidraw
内核缓冲区将文件数据 copy 到 JVM 内存空间,byte[]
数组有了文件数据。
Transclude of kernel_to_JVM-2022-12-19-1014.excalidraw
JVM 将 byte 数组数据 copy 到 Socket 内核缓冲区
Transclude of JVM-to-Socket-2022-12-19-1014.excalidraw
内核缓冲区将数据 copy 到网卡发送。
Transclude of Socket-to-NetworkCard.excalidraw