
高并发
文章平均质量分 91
随着5G应用、多终端应用、物联网应用、工业互联应用、大数据应用、人工智能应用的飞速发展,高并发开发时代已然到来,能够驾驭高并发和大数据的物联网架构师、高并发架构师、大数据架构师、Java高级工程师在人才市场已经成为香饽饽,Netty、Redis、ZooKeeper、高性能HTTP服务器组
逆天至尊
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NIO Selector选择器解析
通过select系列方法,选择器会通过JNI,去进行底层操作系统的系统调用(比如select/epoll),可以不断地查询通道中所发生操作的就绪状态(或者IO事件),并且把这些发生了底层IO事件,转换成Java NIO中的IO事件,记录在的通道关联的SelectionKey的readyOps上。在事件处理过程中,对于新建立的socketChannel客户端传输通道,也要注册到同一个选择器上,这样就能使用同一个选择线程,不断地对所有的注册通道进行选择键的查询。并不是所有的通道,都是可以被选择器监控或选择的。原创 2022-09-02 12:53:14 · 1323 阅读 · 0 评论 -
浅析NIO Channel
JavaNIO中,一个socket连接使用一个Channel(通道)来表示。然而,从更广泛的层面来说,一个通道封装了一个底层的文件描述符,例如硬件设备、文件、网络连接等。所以,与文件描述符相对应,JavaNIO的通道分为很多类型。但是Java的通道更加的细化,例如,对应到不同的网络传输协议类型,在Java中都有不同的NIOChannel(通道)相对应。......原创 2022-07-26 20:39:34 · 830 阅读 · 0 评论 -
NIO组件之Buffer详解
Buffer类的capacity属性,表示内部容量的大小。一旦写入的对象数量超过了capacity容量,缓冲区就满了,不能再写入了。Buffer类的capacity属性一旦初始化,就不能再改变。原因是什么呢?Buffer类的对象在初始化时,会按照capacity分配内部数组的内存,在数组内存分配好之后,它的大小当然就不能改变了。Buffer类是一个抽象类,Java不能直接用来新建对象。属性说明capacity容量,即可以容纳的最大数据量;在缓冲区创建时设置并且不能改变limit。...原创 2022-07-25 13:20:01 · 1332 阅读 · 1 评论 -
NIO简介
在1.4版本之前,JavaIO类库是阻塞式IO;从1.4版本开始,引进了新的异步IO库,被称为JavaNewIO类库,简称为JavaNIO。JavaNIO类库的目标,就是要让Java支持非阻塞IO,基于这个原因,更多的人喜欢称JavaNIO为非阻塞IO(Non-BlockIO),称“老的”阻塞式JavaIO为OIO(OldIO)。总体上说,NIO弥补了原来面向流的OIO同步阻塞的不足,它为标准Java代码提供了高速的、面向缓冲区的IO。Channel(通道)Buffer(缓冲区)...原创 2022-07-20 21:30:00 · 1488 阅读 · 0 评论 -
常见的IO模型
同步和异步,是针对应用程序(如Java)与内核的交互过程的方向而言的。同步类型的IO操作,发起方是应用程序,接收方是内核。同步IO由应用进程发起IO操作,并阻塞等待,或者轮询的IO操作是否完成。异步IO操作,应用程序在提前注册完成回调函数之后去做自己的事情,IO交给内核来处理,在内核完成IO操作以后,启动进程的回调函数阻塞与非阻塞,关注的是用户进程在IO过程中的等待状态。前者用户进程需要为IO操作去阻塞等待,而后者用户进程可以不用为IO操作去阻塞等待。...原创 2022-07-19 09:30:00 · 509 阅读 · 0 评论 -
IO读写原理
为了避免用户进程直接操作内核,保证内核安全,操作系统将内存(虚拟内存)划分操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内核空间,也有访问底层硬件设备的权限。内核空间总是驻留在内存中,它是为操作系统的内核保留的。应用程序是不允许直接在内核空间区域进行读写,也是不容许直接调用内核代码定义的函数的。每个应用程序进程都有一个单独的用户空间,对应的进程处于用户态,用户态进程不能访问内核空间中的数据,也不能直接调用内核函数的,因此要进行系统调用的时候,......原创 2022-07-18 13:36:58 · 1087 阅读 · 0 评论