netty
忧郁之风
这个作者很懒,什么都没留下…
展开
-
Netty, SpringBoot, MyBatis搭建游戏服务器 - 1
Netty, SpringBoot, MyBatis搭建游戏服务器 - 1各框架简介Netty是步的、事件驱动的网络应用程序框架和工具,,很适合做游戏服务器。使用SpringBoot可以抛弃传统Spirng框架的繁琐配置和依赖版本管理,更方便地打包与部署。这里我们主要是使用SpringBoot的依赖注入功能。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级...转载 2019-07-23 15:32:47 · 714 阅读 · 0 评论 -
《Netty实战》-第五章-ByteBuf
《Netty实战》-第五章-ByteBuf5.1 ByteBuf的APINetty的数据处理API通过两个组件暴露—abstract class ByteBuf和interface ByteBufHolder。下面是一些ByteBuf API的优点:他可以被用户自定义的缓冲区类型扩展通过内置的复合缓冲区类型实现了透明的零拷贝容量可以按需增长(类似于JDK的StringBuilder...转载 2019-07-23 15:31:10 · 845 阅读 · 1 评论 -
Netty框架学习之(四):线程模型
转载自:https://www.cnblogs.com/TomSnail/p/6158249.html1. Proactor和ReactorProactor和Reactor是两种经典的多路复用I/O模型,主要用于在高并发、高吞吐量的环境中进行I/O处理。I/O多路复用机制都依赖于一个事件分发器,事件分离器把接收到的客户事件分发到不同的事件处理器中,如下图:1.1 select,...转载 2019-07-23 15:23:17 · 131 阅读 · 0 评论 -
Netty框架学习之(三):细说Netty的数据传输
1. 概述使用Java 自带的API开发IO系统时,如果需要对传输的方式进行切换,例如从阻塞传输切换到非阻塞传输, 那么可能会由于两种方式的API不兼容问题需要大面积的修改代码。然而 Netty 则为它所有的传输方式提供了一个通用 API,这使得只需要修改一下对象申明的类型就能完成传输方式的切换,例如从OIO切换到NIO只需要如下操作:OIO的代码:EventLoopGroup group...转载 2019-07-23 10:34:48 · 390 阅读 · 0 评论 -
Netty框架学习之(二):Netty组件简介
1. 概览从高层次的角度来看Netty, 它主要为需要开发高性能应用的开发者解决了“技术”的和“体系结构”的问题。首先,它的基于 Java NIO 的异步的和事件驱动的实现,保证了高负载下应用程序性能的最大化和可伸缩性。其次, Netty 也包含了一组设计模式,将应用程序逻辑从网络层解耦,简化了开发过程,同时也最大限度地提高了可测试性、模块化以及代码的可重用性。为了可以更好的研究 Net...转载 2019-07-23 10:28:16 · 152 阅读 · 0 评论 -
Netty框架学习之(一):Netty框架简介
1. 简介官方定义为:”Netty 是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端”,按照惯例贴上一张High Level的架构图:纵观Java系的多种服务器/大数据框架,都离不开Netty做出的贡献,本文对Netty做一个简单的概述2. 主要特性Netty有很多重要的特性,主要特性如下:- 优雅的设计- 统一的API接口,支...转载 2019-07-23 10:09:42 · 482 阅读 · 0 评论 -
NIO之缓冲区【直接和非直接缓冲区】
直接与非直接缓冲区 字节缓冲区跟其他缓冲区类型最明显的不同在于,它们可以成为通道所执行的 I/O 的源头和/或目标。其实发现通道只接收ByteBuffer作为参数这个将Channel的时候会发现。类型 优点 缺点直接缓冲区 在虚拟机内存外,开辟的内存,IO操作直接进行,没有再次复制 创建和销毁开销大非直接缓冲区 在虚拟机内存中创建,易回收 但占用虚...转载 2019-07-18 11:03:12 · 627 阅读 · 0 评论 -
NIO之缓冲区【复制缓冲区】
复制缓冲区 复制一个缓冲区会创建一个新的 Buffer 对象,但并不复制数据。原始缓冲区和副本都会操作同样的数据元素。我们将以 CharBuffer 为例来演示,但同样的操作可被用于任何基本的缓冲区类型。public abstract class CharBuffer extends Buffer implements CharSequence, Comparable{// Th...转载 2019-07-18 10:47:20 · 263 阅读 · 0 评论 -
NIO之缓冲区【基础内容】
我们知道NIO的三大核心是buffer,channel和selector,本文开始详细介绍下buffer缓冲区Buffer1.缓冲区介绍 一个Buffer对象是固定数量的数据的容器。其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。缓冲区可以写满和释放。对于每个非布尔原始数据类型都有一个缓冲区类。尽管缓冲区作用于它们存储的原始数据类型,但缓冲区十分倾向于处理字节。...转载 2019-07-18 10:37:39 · 210 阅读 · 0 评论 -
NIO概述
NIO简介 NIO也叫(New IO)或者(no-blocking io),是jdk1.4后提供的,主要目的是为了提高速度,和我们前面介绍的’内核空间’和’用户空间’相关。是一个可以替代标准Java IO API的新IO API,提供了与标准IO不同的IO工作方式。NIO和IO的区别 通过“内核空间”“用户空间”“虚拟内存”等概念的介绍,大家可能会感觉普通IO的性能要差很多,因为要做两...转载 2019-07-18 09:30:01 · 163 阅读 · 0 评论 -
Java文件读写原理和虚拟内存
后面打算系统性的介绍下NIO和Netty的内容,因为这块内容也是每个程序员必须要掌握的内容,而在介绍NIO之前我们需要先了解下一些前置的知识1.内核空间和用户空间 这两个概念对于初次接触的小伙伴来说并不是很好理解,举个简单例子如下图: 上图中的储户是没法直接从金库中存钱获取取钱的,如果这么做了,那么就非法了。这里用户空间相当于储户,内核空间相当于银行职员,而硬盘相当于金库,也就是用户...转载 2019-07-18 09:26:44 · 332 阅读 · 0 评论 -
netty实现websocket
1.搭建springbootweb项目,参考https://blog.csdn.net/u013184307/article/details/980576212.导入包<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId...原创 2019-08-01 16:12:37 · 805 阅读 · 0 评论