I/O
文章平均质量分 56
Song柏承
这个作者很懒,什么都没留下…
展开
-
I/O学习:NIO的原理与使用
NIO学习 标签(空格分隔): I/O NIO概念 NIO支持面向缓冲区的、基于通道的IO操作。NIO能以更加高效的方式进行文件的读写操作。NIO可以理解为非阻塞IO,传统的IO的raed和write只能阻塞执行,线程在读写IO期间不能干其他事情,比如调用socket.raed()时,如果服务器一直没有数据传输过来,线程就一直阻塞,而NIO中可以配置soket为非阻塞式。 NIO的三大核心部分:Channel(通道)、Buffer(缓冲区)、Selector(选择器) NIO非阻塞模式:使一个线程从某通原创 2021-01-29 16:43:04 · 217 阅读 · 0 评论 -
BIO实现一个聊天室
BIO实现一个聊天室 需要实现一个客户端的消息可以发送给所有客户端去接受。(群聊的实现)(B站黑马程序员里的代码) 客户端代码 package BIO_instantmassging.client; import BIO_instantmassging.util.Constants; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;原创 2021-01-29 11:29:14 · 312 阅读 · 5 评论 -
伪异步I/O编程-笔记2
伪异步I/O编程 标签(空格分隔): I/O ------在简单的客户端服务端交流案例中,客户端的并发访问增加时,服务端将呈现1:1的线程开销,访问量越大,系统将发生线程栈溢出,线程创建失败,最终导致进程宕机或者僵死,从而不能对外提供服务。 ------我们需要一个伪异步I/O的通信框架,通过线程池和任务队列实现。 ------当客户端接入时,将客户端的Socket封装成一个Task(该任务实现java.lang.Runnable线程任务接口)交给后端的线程池中进行处理。JDK的线程池维护一个消息队列和N原创 2021-01-05 18:16:56 · 63 阅读 · 0 评论 -
Java的BIO学习与剖析-笔记1
Java的BIO学习与剖析 标签(空格分隔): I/O BIO基本介绍 javaBIO就是传统的java io编程,其相关的类和接口在java.io BIO(blocking I/O):同步祖册,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户连接服务器) BIO工作机制 实例 package com.allwinter.one; import java.i原创 2021-01-05 18:14:20 · 95 阅读 · 1 评论