网络编程
柚子味儿的西瓜
这个作者很懒,什么都没留下…
展开
-
HttpClient发送POST和GET请求
1、使用HttpClient添加的maven依赖(尽量版本平齐或者比我的高,低的可能会出现找不到类的情况) <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</ar...原创 2019-03-13 10:42:36 · 137 阅读 · 0 评论 -
NIO和IO
1、BIOServer端package com.strive.bio;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.concurrent.ExecutorService;im...原创 2019-06-19 09:43:43 · 113 阅读 · 0 评论 -
JDK的ByteBuffer与Netty的ByteBuf之间的差异对比
JDK的ByteBuffer与Netty的ByteBuf之间的差异对比:Netty的ByteBuf采用了读写索引分离的策略(readerIndex与writerIndex),一个初始化(里面尚未有任何数据)的ByteBuf的readerIndex与writerIndex值都为0。当读索引与写索引处于同一个位置时,如果继续读取,那么就会抛出IndexOutOfBoundsException。对...转载 2019-06-19 17:29:40 · 362 阅读 · 0 评论 -
Reactor模式演化的过程
最初始的IO模型由于IO在阻塞时会一直等待,因此在用户负载增加时,性能下降的非常快。server导致阻塞的原因:1、serversocket的accept方法,阻塞等待client连接,直到client连接成功。2、线程从socket inputstream读入数据,会进入阻塞状态,直到全部数据读完。3、线程向socket outputstream写入数据,会阻塞直到全部数据写完。...原创 2019-06-21 17:07:01 · 225 阅读 · 0 评论 -
Java中将InputStream读取为String, 各种方法的性能对比
如下, 一共存在11种实现方式及其对应的性能测试结果:1. 使用IOUtils.toString (Apache Utils)String result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);2. 使用CharStreams (guava)String result = CharStreams.toStri...转载 2019-06-18 16:08:36 · 2445 阅读 · 0 评论 -
BIO与NIO、AIO的区别(这个容易理解)
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒...转载 2019-06-18 17:08:12 · 283 阅读 · 0 评论