
java nio
文章平均质量分 84
华山拎壶冲
不积跬步,无以至千里。。。
面试必备:https://www.jianshu.com/u/c3be0f69940b
展开
-
深入研究Netty之线程模型详解
本文主要介绍Netty线程模型及其实现,介绍Netty线程模型前,首先会介绍下经典的Reactor线程模型,目前大多数网络框架都是基于Reactor模式进行设计和开发,Reactor模式基于事件驱动,非常适合处理海量的I/O事件。下面简单介绍下Reactor模式及其线程模型。Reactor模式Reactor模式首先是事件驱动的,有一个或多个并发输入源,有一个Service Handler,有多个Request Handlers;这个Service Handler会同步的将输入的请求(Event)多路转载 2021-06-25 23:06:39 · 311 阅读 · 0 评论 -
Java NIO实现原理之Channel
Channel类似与流,通道的特点:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。channel的类结构图如下:channel类结构.png其中:AbstractInterruptibleChannel:NIO中可中断channel的基本实现,可参考Java NIO中线程的中断机制ReadableByteChannel,WritableByteChannel,S.转载 2021-06-22 10:58:43 · 282 阅读 · 0 评论 -
Java socket详解
刚给大家讲解Java socket通信后,好多童鞋私信我,有好多地方不理解,看不明白。特抽时间整理一下,详细讲述Java socket通信原理和实现案例。整个过程楼主都是通过先简单明了的示例让大家了解整个基本原理,后慢慢接近生产实用示例,先概况后脉络给大家梳理出来的,所有涉及示例都可以直接拷贝运行。楼主才疏学浅,如有部分原理错误请大家及时指正. 整理和总结了一下大家常遇到...转载 2019-10-31 15:53:35 · 1115 阅读 · 2 评论 -
java.nio.buffer详解
Buffer简介在Java NIO中,主要有三大基本的组件:Buffer、Channel和Selector,上一篇文章我们具体介绍了Selector,现在让我们深入理解下在实际编程中使用的最多的Buffer。定义首先先让我们来认识一下Buffer:A container for data of a specific primitive type.A buffer is a li...转载 2019-08-13 17:34:14 · 274 阅读 · 0 评论 -
java.nio.ByteBuffer详解
一、ByteBuffer原理关于这个类,其实他有两个子类:一个是HeapByteBuffer和DirectByteBuffer关于这两个类的区别很好理解:DirectByteBuffer不是分配在堆上的,它不被GC直接管理(但Direct Buffer的JAVA对象是归GC管理的,只要GC回收了它的JAVA对象,操作系统才会释放Direct Buffer所申请的空间),它似乎给人感觉是“内...转载 2019-08-14 11:33:39 · 2937 阅读 · 0 评论 -
堆外内存解读之DirectByteBuffer的实现
概述广义的堆外内存说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:MaxPermSize来指定持久代的最大值,那么我们认识的Java堆的最大值其实是-Xmx和-XX:MaxPermSize的总和,在...转载 2019-08-15 17:21:12 · 443 阅读 · 0 评论