gpt4 book ai didi

java - 替代 Java 选择器实现

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:44 26 4
gpt4 key购买 nike

我正在编写一个高性能/低垃圾应用程序(微秒很重要)具有网络组件。我遇到的痛点之一是 Java NIO 的内置选择器的实现。

一些有问题的事情:

  • 大量对象创建。几乎每次调用 selectedKeys() 都会创建很多对象。迭代器、装箱/拆箱,应有尽有。大多数其他情况都不是问题,但我正在编写的应用程序需要尽可能少地产生垃圾。
  • 层层锁定和同步。在构建 selectorImpls 时,一堆 Java 锁原语并不存在。结果,它很笨重而且不是最佳的。在我的用例中,只有一个线程调用 select,所以锁定实际上是无用的。

扩展或更改选择器实现是行不通的。大多数类都是最终类,私有(private)成员和包私有(private)成员位于 sun.nio.ch.* 包中。 native 方法也使事情复杂化。

是否有任何其他可能性能更高的更现代的选择器实现?

我检查过的网络库只是在幕后使用内置的 Java 选择器。任何帮助将不胜感激。

最佳答案

也许这个库能满足您的需求?我自己没用过,但看起来很有前途。 http://www.coralblocks.com/index.php/the-simplicity-of-coralreactor/

关于java - 替代 Java 选择器实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43807568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com