substance
substance
全部文章
未归档
题解(7)
归档
标签
去牛客网
登录
/
注册
substance的博客
做最好的自己
全部文章
/ 未归档
(共176篇)
BIO,NIO,AIO区别
BIO:实现模式为一个客户端请求,服务器就需要创建一个线程处理客户端的请求,如果客户端连接了服务器但是不做任何操作就会造成不必要的线程开销,可以使用线程池优化但不能解决根本问题,主要应用在连接数量比较少的架构中; NIO:实现模式为一个客户端请求,通过使用channel传输将其注册到多路服用选择器上...
2022-06-21
0
419
NIO同步非阻塞实现多客户端连接服务端
1.不同于BIO实现的多人聊天软件(使用多线程的方式实现),NIO使用了IO多路复用选择器实现一个服务端就能为多个客户端实现连接; 服务端 import java.io.IOException; import java.net.InetSocketAddress; import java.nio.B...
2022-06-21
0
416
NIO服务端客户端编写
1.Server import java.io.IOException; import java.net.InetSocketAddress; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; impo...
2022-06-21
0
368
NIO编程
1.NIO三大核心部分 缓冲区buffer:每个客户端连接对应一个buffer,读写数据通过缓冲区读写; 通道ChannelL每个channel用于连接buffer和selector,通道支持双向读写; 选择器(selector)一个选择器可以对应多个通道,用于监听多个通道的事件,selector可...
2022-06-20
0
386
poll,epoll模型
1.select模型中使用的是bitmap实现文件描述符的记录,poll使用的是链表或者数组来实现的; 2.好处是: **解决了bitmap只能最大监控1024个连接; 使用了数组或者链表,解决了bitmap不能重复使用的问题;** 3.epoll(三个常见的函数) epoll_create:创建一...
2022-06-20
0
493
NIO的系统调用(select模型)
实现NIO需要的系统调用: 1.select系统调用模型 select系统调用,这个系统调用中会需要参数,nfds文件描述符数量(用来限制遍历的文件数量,加速便遍历的速度),读的文件键描述符集合,写文件描述符的集合,被例外条件监控的文件描述符集合,将来使用的时候需要传入一个bitmap用来监控制定编...
2022-06-19
0
434
NIO
1.框架中封装了NIO实现高性能的网络通信,例如redis,nginx,tomcat等都利用了NIO。 2.使用BIO的问题在于,如果想实现多人通信,需要为每个客户端创建一个对应的服务线程来实现,或者使用双重循环,后者需要程序执行到制定的地方新的客户端才能连接完成实现数据的通信。 3.即使使用多线程...
2022-06-19
0
432
javaSocket编程
1.InetAddress类 package com.ydlclass.sorketTest; import org.junit.Test; import java.net.InetAddress; import java.net.UnknownHostException; import jav...
2022-06-14
0
620
将类被@Singleton注解修饰的类创建一个对象
1.获取类路径的方式 package com.ydlclass.reflect; import java.net.URL; public class Bootstrap { public static void main(String[] args) { //获取Clas...
2022-06-12
0
478
反射获取指定对象的字段、方法、构造器、注解
1、自定义的MyAnnotation注解 package com.ydlclass.reflect; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.a...
2022-06-11
0
473
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页