在学习操作系统时,我们都知道DMA(直接内存读取)的作用,以前I/O是调用一次系统中断去告诉cpu我搬来4k的数据块让cpu来计算, 如此循环往复,这样cpu与I/O的交互次数就变得非常多,而DMA是将以大块数据块(远大于4k)全部传输完再去调用中断让cpu工作。 因此在DMA传输任务完成之前,cp ...
分类:
编程语言 时间:
2018-01-28 12:50:57
阅读次数:
142
在缓冲区中,最重要的属性有下面三个,它们一起合作完成对缓冲区内部状态的变化跟踪: capacity position limit position和limit的含义取决于Buffer处在读模式还是写模式。不管Buffer处在什么模式,capacity的含义总是一样的。 这里有一个关于capacity ...
分类:
编程语言 时间:
2018-01-25 18:19:16
阅读次数:
154
一、阻塞和非阻塞 传统的 IO 流都是阻塞式的。也就是说,当一个线程调用 read() 或 write()时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行 IO 操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当 ...
分类:
编程语言 时间:
2018-01-23 16:46:32
阅读次数:
143
Netty在Java NIO领域基本算是独占鳌头,涉及到高性能网络通信,基本都会以Netty为底层通信框架,Dubbo 也不例外。以下将以Dubbo实现为例介绍其是如何在NIO非阻塞通信基础上实现同步通信的。 Dubbo为一种RPC通信框架,提供进程间的通信,在使用dubbo协议+Netty作为传输 ...
是由于Kafka server.properties中的advertised.host.name 属性没有配置。这个属性代表客户端访问Kafka的地址。如果没配置默认是主机名。 ...
分类:
编程语言 时间:
2018-01-18 18:01:06
阅读次数:
192
近期在用springboot封装一些对外服务的API接口,在本机测试都很顺利,可是当我打包jar文件放到服务器上测试的时候发现了类似下面的异常信息: java.nio.file.NoSuchFileException: file:/app.jar!/BOOT-INF/classes!/xxx.pro ...
分类:
编程语言 时间:
2018-01-18 14:11:59
阅读次数:
1263
Java NIO笔记(一):NIO介绍 http://blog.csdn.net/abc_key/article/details/29695653 Java NIO 实战 聊天室 http://blog.csdn.net/abc_key/article/details/29029879 Java N ...
分类:
Web程序 时间:
2018-01-14 17:43:04
阅读次数:
179
读取 package com.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio ...
分类:
编程语言 时间:
2018-01-12 15:30:34
阅读次数:
211
现代的酒店服务方式跟传统的区别有两个:1、增加了一个角色,要有一个专门负责收集客人需求的人。NIO里对应的就是Selector。2、由阻塞服务方式改为非阻塞服务了,客人吃着的时候服务员不用一直侯在客人旁边了。传统的IO操作,比如read(),当没有数据可读的时候,线程一直阻塞被占用,直到数据到来。NIO中没有数据可读时,read()会立即返回0,线程不会阻塞。NIO中,客户端创建一个连接后,先要将
分类:
编程语言 时间:
2018-01-09 18:39:16
阅读次数:
132
package cn.itcast.utils; import java.io.File; import java.nio.file.Path; import java.util.HashMap; import com.google.zxing.BarcodeFormat; import com.g ...
分类:
其他好文 时间:
2018-01-06 19:03:21
阅读次数:
149