
Java网络编程
有机后浪
正在慢慢深入中。。。
展开
-
Java网络编程(10)零拷贝
前言前面已经学习了NIO的基本思想和三大组件:Buffer、Channel、Selector,接下来学习一种性能优化:零拷贝目录传统IO经历的拷贝传统IO发送文件优化3.1. MMAP优化3.2. sendFile优化NIO中的实现总结传统IO经历的拷贝通过流一次read、write拷贝文件需要经过四次上下文切换和四次拷贝(两次DMA拷贝,两次CPU拷贝)具体步骤...原创 2020-03-08 11:43:19 · 475 阅读 · 1 评论 -
Java网络编程(9)NIO - 群聊系统
目标完成一个群聊系统:服务器可接收多个客户端的连接并接收信息服务器向除了发送消息的客户端的其他客户端发送消息客户端可以发送消息和接收消息完成服务器package com.company.GroupChat;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuf...原创 2020-03-07 19:03:19 · 697 阅读 · 0 评论 -
Java网络编程(8)NIO - Selector详解
前言大概的了解了NIO的运行与三个组件Java网络编程(4)NIO的理解与NIO的三个组件并详细学习了:Buffer和ChannelJava网络编程(5)NIO - Buffer详解Java网络编程(6)NIO - Channel详解...原创 2020-03-07 14:18:34 · 962 阅读 · 1 评论 -
Java网络编程(7)MappedByteBuffer
前言前面学会了Buffer和Channel这里学习一个特殊的Buffer:MappedByteBuffer概念ByteBuffer分两种模式:直接与间接间接的就是我们普通用的ByteBuffer,叫HeapByteBuffer,在JVM堆上,处理byte数组,但堆内存是有限的,当需要处理大文件时使用直接模式:MappedByteBuffer,文件映射,直接调用操作系统底层的缓存(虚拟内...原创 2020-03-05 17:27:45 · 293 阅读 · 0 评论 -
Java网络编程(6)NIO - Channel详解
前言NIO的三个核心组件:Buffer、Channel、SelectorJava网络编程(4)NIO的理解与NIO的三个组件完成了大概的了解Java网络编程(5)NIO - Buffer详解详细了解了Buffer现在开始详细的学习Channel目录Channel概念Channel类继承结构FileChannel3.1. 常用方法3.2. 案例分散读取与聚集写入通道复制数据...原创 2020-03-05 16:02:16 · 414 阅读 · 0 评论 -
Java网络编程(5)NIO - Buffer详解
前言前面已经大概的了解了NIO和NIO的三个组件Java网络编程(4)NIO的理解与NIO的三个组件并且编程了一个简单的聊天系统现在详细的理解Buffer的作用与使用Buffer首先应该知道NIO的结构:...原创 2020-03-05 10:55:30 · 777 阅读 · 0 评论 -
Java网络编程(4)NIO的理解与NIO的三个组件
前言前面通过Socket实现了一个简单的聊天系统,且对Socket进行了一定的了解Java网络编程(3)Socket实现一个简单的聊天系统而前面的Socket都是通过IO实现的现在来系统的了解IO与NIOJava的IO演变BIO在jdk1.4之前,Java的Socket通信都是通过同步阻塞模式BIO(block-IO)同步阻塞式模式在应用时性能和可靠性是非常差的在前面的应用也可以...原创 2020-03-01 16:21:34 · 740 阅读 · 1 评论 -
Java网络编程(3)Socket实现一个简单的聊天系统
前言Java网络编程(2)Socket前面对Socket有了一定的了解,仅仅完成了发送一次信息就关闭的通信,现在写一个可以多次通话的聊天系统思考前面发送了信息就关闭了Socket,现在设置一个输入“bye”就关闭实现创建发送线程...原创 2020-02-29 11:03:36 · 1244 阅读 · 1 评论 -
Java网络编程(2)Socket
前言当得到IP地址,我们可以与其他主机联系,但一个主机会有多个进程,需要区别这些进程运输层定义了端口(port),每个进程都会分配一个端口号传输层:就是端口与端口之间的通信通过IP地址+端口号即可实现客户端进程与服务器的通信目录Socket定义Socket流程具体实现Socket类型Socket操作ServerSocket总结Socket定义Socket - “套...原创 2020-02-27 20:36:03 · 597 阅读 · 2 评论 -
Java网络编程(1)IP地址通信
前言对网络通信有了一定的概念:IP协议、TCP\UDP协议开始接触网络编程:网络层通信IP地址我们知道想要网络通信,必须要知道IP地址IP地址是网络层规定网络的地址,现在常用的IPv4是32位二进制,以点分十进制表示(每次启动路由器随机分配)例如我的IP地址:192.168.88.1通过子网掩码可以区分网络号、主机号网络通信过程(来自网络):其中IP地址用于定位获得本机IP地...原创 2020-02-27 16:01:25 · 747 阅读 · 1 评论