我们很高兴地宣布,针对即将到来的 netty 版本 4.2.0 的第二个版本 canidate 即将发布。每个使用 netty 4.1.x 的人都应该能够升级到 4.2.0.Alpha4,而不会有任何 API 损坏。唯一的新要求是 JDK8 或更高版本。
我们鼓励 netty 4.1.x 的用户试用此 alpha 版本,因此如果发现任何损坏,请提供反馈。这将有助于我们在发布周期的早期了解任何问题。也就是说,请注意,这只是一个版本,因此还不应考虑用于生产用途。
Netty 4.2.0 将带来一些令人兴奋的新功能,您可以在 netty 4.2.0.Alpha1 的公告中了解更多信息。
此版本中最重要的更改是:
- IoUring:IoUringRegistration.cancel() 在仅调用一次时未删除注册 (#14536)
- IoUring:当我们确定套接字上没有更多数据时,请使用 IORING_RECVSEND_POLL_FIRST (#14552)
- Spdy:添加了对 SpdyFrameCodec 的 UnknownFrame 解析支持 (#14561)
- 自适应:在失败时正确恢复 allocatedBytes 值 (#14577)
- 为 AdaptivePoolingAllocator 添加 BlockHound 异常 (#14564)
- Adapt:如果未使用,则仅将 Chunk 添加到中央队列 (#14580)
- 适应:当我们在具有 1 个内核的主机上运行时,不要失败 (#14582)
- 计时器:添加用户可以覆盖的回调以在取消时进行清理 (#14571)
- 适应:确保重用来自中央队列的 Chunk,即使存在 Magazine 本地缓存的 Chunk (#14581)
- 允许 PcapWriteHandler 输出大于 2GB 的 PCAP 文件 (#14587)
- IoUring:允许配置是否应使用 POLLIN (#14605))
- 通过超时限制每个 EventLoop tick 的任务运行 (#14557)
- IoUring:使用 IORING_CQE_F_SOCK_NONEMPTY 和 IORING_ACCEPT_DONT_WAIT (#14610))
- IoUring:也使用 IORING_RECVSEND_POLL_FIRST 进行接受 (#14617))
- 支持 BouncyCastle FIPS 读取 PEM 文件 (#14620)
- 修复 GlobalEventExecutor 中的类加载器泄漏 (#14622)
- Dns:正确编码 DnsPtrRecord (#14630)
- FWD:使 DefaultResourceLeak 对 OOM 更具弹性 (#14638)
- SslHandler:确保在 wrap(…) 生成 SSLException 时永远不会泄漏缓冲区 (#14651)
- 提供没有 com.aayushatharva.brotli4j 依赖项的 Brotli 设置 (#14655)
- OpenSslSession:添加对防御性检查对等证书的支持 (#14653)
- 自适应:在临时 byte[] 分配的情况下,仅当从 FastThreadLocalThread 调用时,才使用 ThreadLocal (#14625)
- 正确处理附加到名称服务器声明的注释 (#14663)
- IoUring:添加 IoUringChannelOption.IOSQE_ASYNC (#14633))
- IoUring:提交失败时释放 IovArray (#14667)
- IoUring:使用 MsgHdrMemoryArray 时正确处理提交失败 (#14666)
- 还原 “IoUring:删除不需要的延迟关闭逻辑 (#14665)
- IoUring:继续读取数据,直到套接字上没有要读取的内容 (#14668)
- IoUring:通过跟踪级别记录提交失败,这是预期的 (#14671)
- IoUring:使用 IORING_ACCEPT_POLL_FIRST 而不是 IORING_RECVSEND_POLL_FIRST (#14669))
- IoUring:添加对 IORING_REGISTER_IOWQ_MAX_WORKERS 的支持 (#14650)
- IoUring:正确处理接受的 IORING_CQE_F_SOCK_NONEMPTY (#14682))
- IoUring:仅在内核支持的情况下使用 IORING_ACCEPT_POLL_FIRST 和 IORING_ACCEPT_DONTWAIT (#14680)
- IoUring:使用前检查是否支持 IORING_RECVSEND_POLL_FIRST (#14683)
- IoUring:当 Channel 变得不可写时,强制提交并立即运行补全 (#14693)
- IoUring:处理完队列后提交 (#14696)
对于所有更改,请查看我们的 issue-tracker。
请问是否像安卓一样使用JAVA虚拟层?还是像LINUX一样基于C的?