首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
NIO
订阅
特靠谱
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
Java NIO:Buffer、Channel 和 Selector
本文将介绍 Java NIO 中三大组件 Buffer、Channel、Selector 的使用。本来要一起介绍非阻塞 IO 和 JDK7 的异步 IO 的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放到另一篇文章中进行介绍。
Java并发编程之NIO简明教程
在传统的架构中,对于客户端的每一次请求,服务器都会创建一个新的线程或者利用线程池复用去处理用户的一个请求,然后返回给用户结果,这样做在高并发的情况下会存在非常严重的性能问题:对于用户的每一次请求都创建一个新的线程是需要一定内存的,同时线程之间频繁的上下文切换也是一个很大的开销。
从零讲解搭建一个NIO消息服务端
假设你已经了解并实现过了一些OIO消息服务端,并对异步消息服务端更有兴趣,那么本文或许能带你更好的入门,并了解JDK部分源码的关系流程,正如题目所说,笔者将竟可能还原,以初学者能理解的角度,讲诉并构建一个NIO消息服务端。 感谢Java一直在持续更新,对应的各个API也做得越来…
Java NIO分析(9): 从BSD socket到SocketChannel
前面我们讲了高并发核心Selector的源码分析,看到其对操作系统I/O多路复用的简单封装。 有了I/O多路复用之后,我们还需要非阻塞的socket读写操作. 因为内核告诉你A连接有数据可读,你想要读1K, 事实上只读到了0.5K, 如果使用传统的 socket API, 那么…
近2万字详解JAVA NIO2文件操作,过瘾!
从classpath中读取过文件的人,都知道需要写一些读取流的方法,很是繁琐。最近使用IDEA在打出.这个符号的时候,一行代码让人激动不已:竟然提供直接读出bytes字节的方法。 这真是太让人振奋了,再也不用写一些丑陋的,还容易忘记关闭流的代码了。 可惜的是,代码提示给了当头一…
【NIO系列】——之Netty
如果你看过前面三篇文章,我们从最低层来分解NIO底层原理和使用方式,帮忙我们理解了NIO是什么,解决了什么问题,以及又有那些不足。 原则上NIO的出现,已经提升和加快了网络IO的处理方式,但它只能帮忙我们解决了IO层次的读写问题,在软件层次上我们需要更好的编程架构模型,来解决扩…
Netty(一) SpringBoot 整合长连接心跳机制
Netty 是一个高性能的 NIO 网络框架,本文基于 SpringBoot 以常见的心跳机制来认识 Netty。 客户端每隔 N 秒检测是否需要发送心跳。 服务端也每隔 N 秒检测是否需要发送心跳。 服务端可以主动 push 消息到客户端。 基于 SpringBoot 监控,…
NIO原理及实例
阻塞:往往需要等待缓冲区中的数据准备好过后才处理其他事情,否则就一直等待。 简单的说,必须等待数据接受完毕之后才能处理,否则一直阻塞,形象地说就好比一个人去买奶茶,但是奶茶店前排了很多人的队,你就在队伍后面排队等待,期间你啥都做不了,这就是bio。 多路复用要跟bio进行对比才…
Java NIO分析(10): JVM堆外内存利用改进: DirectBuffer详解
前面我们详细讲了Java NIO分析(8): 高并发核心Selector详解和Java NIO分析(9): 从BSD socket到SocketChannel, 分别是NIO的事件分发器和非阻塞处理器. 为了支持Channel的双向读写和Scatter/Gather操作,我们还…