- 博客(18)
- 资源 (1)
- 收藏
- 关注
翻译 JavaNIO selector (7)
Why Use a Selector? Creating a SelectorRegistering Channels with the SelectorSelectionKey’s Interest SetReady SetChannel + SelectorAttaching ObjectsSelecting Channels via a SelectorselectedK...
2018-05-23 16:28:52 168
翻译 Java NIO Channel to Channel Transfers(6)
NIO 通道之间数据传输transferFrom()transferTo()假如两个Channel中有一个是FileChannel,NIO允许你将数据从其中一个Channel直接传输到另一个Channel。FileChannel有TransferTo() 、TransferFrom()的API可供使用。TransferFrom()FileChannel.transfrom(...
2018-05-20 17:23:17 288
翻译 JavaNIO Scatter\Gather(5)
NIO支持scatter/gather。Scatter/Gather概念适用于从Channel读写数据的场景。分散读(Scattering Read)是指将channel的数据读出写入多个Buffer中的操作。正如字面所表达的,将Channel的数据 读出,并“分散”(Scattering)到多个Buffer中聚集写(Gathering Write)是指将多个Buffer的数据写到同一个c...
2018-05-20 15:40:07 209
翻译 Java NIO Buffer(4)
Basic Buffer UsageBuffer Capacity, Position and LimitCapacityPositionLimitBuffer TypesAllocating a BufferWriting Data to a Bufferflip()Reading Data from a Bufferrewind()clear() and compact...
2018-05-18 19:32:06 163
翻译 JavaNIO Channel(3)
JavaNIO channels 和 streams相似中带有不同channels是全双工,支持同时读、写数据,streams同一时刻只能读,或者写channels支持异步读写channels总是从buffers 中读写如上所言:程序可以从channel中读取数据到buffer中,也可以从buffer中读数据到channel中Channel Implementation...
2018-05-18 10:47:17 239
翻译 Java NIO Overview(2)
Java NIO consist of the following core components: Java NIO由下面三个核心部分组成: 通道 Channels 缓冲 Buffers 多路复用器 SelectorsNIO当然还有更多的类和组件,但在我看来上面三个概念是NIO API的核心了,其余的,比如Pipe、FileLock只是用这三个核心组件联用的工具类而已。因此,在本篇概...
2018-05-18 00:33:11 137
原创 NIO introduction(1)(from Jakob Jenkov)
本系列是NIO基础的译篇,原文地址请戳: http://tutorials.jenkov.com/java-nio/index.htmlJava NIO (新NIO)是JavaIO的替代(从Java1.4 开始)。JavaNIO提供了一种有别的旧的标准IO的新的IO方式。JavaNIO:Channels(通道)和(Buffers)缓冲 在旧IO的API中主要用到字节流、字符流,而在NI...
2018-05-18 00:06:30 187
原创 Servlet 三大器
一、Filterhttps://blog.csdn.net/reggergdsg/article/details/52821502 http://naotu.baidu.com/file/fbda5d22eae856a26486ef3774dd0a64?token=98f4600ed798292d二、
2018-05-17 14:35:51 494
原创 Guava 集合工具(不可变集合)
不可变集合一、不可变对象对象的不可变形式是安全的: 1)在多线程条件下不存在竞态问题 2)不可变集合不需要考虑变化,节省空间和时间。不可变集合比可变形式有更好的内存利用率 3)不可变集合常做常量容器创建对象的不可变拷贝是一种有效的防御性编程技巧,可以避免原来假想为不可变的对象被误改。以ImmutableList 为例:List<String> list =...
2018-05-16 20:20:57 1025
原创 Guava Files 简单API使用
关键工具类import com.google.common.io.Files; 类似的,在Java8中也有一个Files工具类: java.nio.file.Files 注意两者的区别。1、将字节内容写入到文件File,可以指定编码 com.google.common.io.Files#write(byte[], java.io.File)final File newFile ...
2018-05-16 14:26:15 5085
原创 NIO编程
NIO的场景: 与Socket、ServerSocket对应,NIO提供了SocketChannel、ServerSocketChannel两种不同的套接字通道实现,两种新增通道都支持阻塞、非阻塞两种模式。阻塞模式使用简单,但是性能、可靠性不好;非阻塞模式相反。 一般,低负载、地并发的应用可选择同步阻塞以降低编程复杂度;高负载、高并发的应用要使用NIO的非阻塞模式NIO类库关键概念b...
2018-05-14 23:12:38 91
原创 BIO 伪异步 NIO
一、传统BIO网络编程基本模型Client/Server模型,即两个进程之间的互相通信,服务端提供位置信息(binding IP & Port) ,客户端通过连接操作向服务端监听地址发起连接, 三次握手建立连接,若成功,双方基于Socket通信。传统BIO模型: ServerSocket:绑定IP,启动监听port; Socket:发起连接。成功后,双方通过输入输出流同步阻塞通...
2018-05-14 21:21:49 286
原创 Netty与NIO
Linux的 网络IO一、简介1、Linux上所有外部设备都抽象为file。 2、对一个文件的读写会调用kernel命令,返回file descriptor (fd); 3、对一个socket的读写会调用kernel命令,返回socketfd 4、描述符实际就是一个数字,指向内核中一个结构体(文件路径、数据区等一些属性)二、Linux 对Socket IO模型的抽象...
2018-05-12 23:37:06 5266
原创 Chapter5 与HTTP协作的web server
Chapter5 与HTTP协作的web server1 虚拟主机虚拟主机(virtual host)::: 一台服务器可以搭建多个Web站点。 对托管服务来说,一台物理机可为客户持有的域名运行各自不同的网站。 一台物理机部署多个应用,IP都相同,由于虚拟主机可寄存多个不同主机名、域名,发送HTTP请求时,必须在Host首部指定主机名或域名的URI。 ...
2018-05-12 14:58:56 107
原创 Chapter4 HTTP状态码
Chapter4 HTTP状态码类别: 1、 2XX200 处理成功, GET::请求资源的实体会作为响应返回 HEAD::对应请求资源实体值返回首部204 no content 请求成功,但不允许返回任何实体主体。返回204,浏览器页面不刷新。 一般在只需要client –> server,而对客户端不需要更新内容信息的情况下使用206 partial c...
2018-05-12 14:58:23 113
原创 Chapter3 HTTP报文
Chapter3 HTTP报文1 HTTP 报文HTTP报文:::用于HTTP协议交互的信息 HTTP报文= 报文首部(client or server要请求或响应的内容、属性)+报文主体(要被发送的数据) 报文:::HTTP通信中的基本单位,由8位组字节流组成,用HTTP通信传输2 压缩编码服务器端发送的实体内容,指定编码方式后压缩,客户端接收后根据格式解码 ,如g...
2018-05-12 14:57:34 139
原创 Chapter2 简单HTTP协议
Chapter2 简单HTTP协议HTTP协议:::适用于客户端和服务器端之间的通信使用HTTP协议通信的同一条线路上的两台计算机,必然一台是客户端,一台是服务器端1 通过请求、响应通信HTTP协议:::必须从客户端开始建立通信,服务器端在没有接受到请求之前不会发送响应 请求报文 响应报文 2 HTTP是无状态的协议基于HTTP协议,每次有新的请求,都...
2018-05-12 14:56:24 156
原创 Chapter1 网络基础
Chapter1 网络基础通常使用的网络都是基于TCP/IP协议族的,HTTP是该协议内部的一个子集TCP/IP 的分层应用层 说明了向用户提供应用服务时的通信的活动 TCP/TP预存了各类通用应用服务如FTP协议、DNS服务传输层 提供网络中两台计算机之间的数据和传输 TCP协议、UDP协议网络层 用来处理网络上流动的数据包。包是网络传输的最小单位。规定通过什...
2018-05-12 14:55:08 199
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人