netty epoll api支持arm aarch64

阅读数:208 评论数:0

跳转到新版页面

分类

python/Java

正文

一、概述

netty 从4.1.50开始提供了对arm aarch64架构的epoll api的支持。

我们在使用 Netty 的过程中,可能会使用 netty-transport-native-epoll 提高部署在 Linux 服务器的性能。

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-transport-native-epoll</artifactId>
    <version>4.1.49.Final</version>
    <classifier>linux-x86_64</classifier>
</dependency>

在代码中使用

bossGroup = Epoll.isAvailable() ? new EpollEventLoopGroup(1) : new NioEventLoopGroup(1);
workerGroup = Epoll.isAvailable() ? new EpollEventLoopGroup(workerThreads) : new NioEventLoopGroup(workerThreads);
new ServerBootstrap()
		.group(bossGroup, workerGroup)
        .channel(Epoll.isAvailable() ? EpollServerSocketChannel.class : NioServerSocketChannel.class)
        // 省略部分代码...

二、使用

在netty 4.1.50.Final之后,可以使用classifier 为linux-aarch_64

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-transport-native-epoll</artifactId>
    <version>4.1.50.Final</version>
    <classifier>linux-aarch_64</classifier>
</dependency>

三、关于windows

netty-transport-native-epoll 是 Netty 提供的一个用于 Linux 操作系统的传输实现,它使用了更高效的 EPOLL I/O 模型。由于 EPOLL 是 Linux 特有的,因此 netty-transport-native-epoll 并不适用于 Windows 系统。

如果你想为你的 Netty 应用程序添加特定平台的传输支持,你应该根据目标操作系统来选择合适的模块。对于 Linux,你会使用 netty-transport-native-epoll;对于 macOS 或 FreeBSD,你会使用 netty-transport-native-kqueue;而对于 Windows,你只需依赖 Netty 的核心库,因为它已经足够高效并且与 Windows 的 NIO 实现兼容。

在 Maven 中,你可以这样添加 Netty 的依赖(不需要特定的 classifier):

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-transport</artifactId>
    <version>你的Netty版本</version>
</dependency>

确保替换 你的Netty版本 为你想要使用的 Netty 版本号。Netty 的这个核心传输模块适用于所有平台,包括 Windows。




相关推荐

Java NIO根据操作系统不同,比如macosx是KQueueSelectorProvider、windows有WindowsSelectorProvider、Linux有EPollSelec

Netty提供了丰富的解码器抽象基类:主要分为两类: (1)解码字节到消息(ByteToMessageDecoder和ReplayingDecoder) (2)解码消

一、概述 Netty的强大的地方,是他能方便的实现自定义协议的网络传输。Netty基于Reactor模式:http://1024s.top/mbstudy/mbBlog/blogDetail?blog

查看是否是中文路径问题 当genymotion-arm-translation.zip在中文目录下时,会出现拖拽无法安装的情况。

netty提供了6种不同的websocket类型: (1)BinaryWebsocketFrame,二进制数据类型 (2)TextWebSocketFrame,文本数

一、概述 在计算机中,我们以字节为单位,一个字节为8bit。 而数据存储中的字节顺序多取决于硬件设计,即所谓的大端存储和小端存储。Intel处理器使用小端存储,PowerPc的处理器采用大端存储。 当

一、Channel的四大类型 1、FileChannel FileChannel是操作文件的Channel,可以通过FileChannel从一个文件中读取数据,也

ByteBuf是对字节的封装,有基于堆内存和直接内存。若是堆内存,应用程序无需考虑什么时候释放,因为GC是帮助做,如果是直接内存,那么需要主动释放。 每个ByteBuf对象都有一个引用计数,当这个数值

Netty中的HashedWheelTimer可以用于提交延迟任务,Java里的Time组件也具备相同的功能,不过Time是基于执行是基于优先队列实现的,相当于需要对所有的任务基于执行的时间排个序。而

一、netty客户端流控 1、这几种情况下,如果客户端没有流控保护,很容易发生内存泄露。 (1)网络瓶颈,当客户端发送速度超过网络链路处理能力,会导致客户端发送队列积压。 (2)当对端读取速度小于已方