当前位置: 首页 > news >正文

《Netty官方文档》本地传输接口

自4.016版本以来, Netty提供了本地的socket传输使Linux系统可以使用JNI(JAVA本地接口)。这个传输接口不仅有着高性能并且产生更少的垃圾,所以你也许会想尝试使用一下。

使用本地传输接口

由于这个本地传输接口是与NIO传输接口兼容的,你只需要查询并替代以下的内容:

  • NioEventLoopGroup → EpollEventLoopGroup
  • NioEventLoop → EpollEventLoop
  • NioServerSocketChannel → EpollServerSocketChannel
  • NioSocketChannel → EpollSocketChannel

由于这个本地传输接口不在Netty core 核心代码中,你需要修改你的pom.xml文件拉出netty-transport-native-epoll这部分代码作为依赖:

kr.motd.maven
 os-maven-plugin
 1.5.0.Final
...
io.netty
 netty-transport-native-epoll
 ${project.version}
 ${os.detected.name}-${os.detected.arch}
 ...

注意以上, 你需要指定正确的classifier配置作为依赖。在pom.xml文件extensions 扩展部分os-maven-plugin的os..detected.name和os.detected.arch 配置属性会自动配置。需要更多信息,涉及the homepage of the os-maven-plugin.
想在一个 sbt项目中使用本地传输接口,请在加上线在libraryDependencies:
配置
“io.netty” % “netty-transport-native-epoll” % “${project.version}” classifier “linux-x86_64″

构建本地传输接口包

如果你已经有了本地传输接口的jar包,那你将不用自己去构建本地接口包了,因为jar包中已经包含了已经所需要的包并且会自动加载上。
去构建本地传输接口包,你需要使用64-bit核心的2.6及其以上版本的linux操作系统。并请安装所需要的工具和库:

 # RHEL/CentOS/Fedora:
 sudo yum install autoconf automake libtool make tar \ glibc-devel libaio-devel \ libgcc.i686 glibc-devel.i686
# Debian/Ubuntu:
sudo apt-get install autoconf automake libtool make tar \ gcc-multilib libaio-dev

转载自 并发编程网 - ifeve.com

相关文章:

  • tomcat java.lang.OutOfMemoryError: PermGen space解决
  • OTL调用存储过程/函数及注意事项
  • Yahoo的流计算引擎基准测试
  • Js基本方法
  • 【Java集合源代码剖析】TreeMap源代码剖析
  • Transient修饰符的使用
  • 【算法】 算法和数据结构绪论
  • 【转】Servlet 生命周期、工作原理
  • Openssl源代码整理学习---含P7/P10/P12说明
  • LeetCode OJ 之 Ugly Number II (丑数-二)
  • [计算机术语]缺省
  • (一)Thymeleaf用法——Thymeleaf简介
  • 【Python】 命名空间与LEGB规则
  • 通用的进程监控脚本process_monitor.sh使用方法
  • Spark on Yarn集群搭建详细过程
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • ECMAScript6(0):ES6简明参考手册
  • iOS编译提示和导航提示
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js中的正则表达式入门
  • LintCode 31. partitionArray 数组划分
  • springboot_database项目介绍
  • Vue2.x学习三:事件处理生命周期钩子
  • Xmanager 远程桌面 CentOS 7
  • 当SetTimeout遇到了字符串
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用agvtool更改app version/build
  • 手写双向链表LinkedList的几个常用功能
  • 温故知新之javascript面向对象
  • 小而合理的前端理论:rscss和rsjs
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • # C++之functional库用法整理
  • # Maven错误Error executing Maven
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #define
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (第二周)效能测试
  • (二)windows配置JDK环境
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (万字长文)Spring的核心知识尽揽其中
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net(C#)中String.Format如何使用
  • .Net环境下的缓存技术介绍