Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Javolution结构优化/配置优化提示?_Java_Disruptor Pattern_Javolution - Fatal编程技术网

Java Javolution结构优化/配置优化提示?

Java Javolution结构优化/配置优化提示?,java,disruptor-pattern,javolution,Java,Disruptor Pattern,Javolution,我正在使用一个Javolution结构类来处理Disruptor环形缓冲区中的事件——这似乎是使我的消息更加缓存友好的最简单方法。 不过,我以前没有使用Javolution的经验,也没有找到多少关于调优Javolution的教程的资料 我的问题是: 使用这种方法(即使用Javolution结构作为事件类)时,我应该注意哪些缺点 我是否应该知道任何特定于Javolution的优化? 到目前为止,我找到并使用的唯一调优参数是: @重写公共布尔值isPacked(){ 返回true; } 提前谢谢 -

我正在使用一个Javolution结构类来处理Disruptor环形缓冲区中的事件——这似乎是使我的消息更加缓存友好的最简单方法。 不过,我以前没有使用Javolution的经验,也没有找到多少关于调优Javolution的教程的资料

我的问题是:

  • 使用这种方法(即使用Javolution结构作为事件类)时,我应该注意哪些缺点
  • 我是否应该知道任何特定于Javolution的优化? 到目前为止,我找到并使用的唯一调优参数是:

    @重写公共布尔值isPacked(){ 返回true; }

  • 提前谢谢

    --编辑--

    不管付出与否,该类如下所示:

    public class DisruptorEvent extends Struct {
        Signed8 field1 = new Signed8();
        Signed32 field2 = new Signed32();
        Signed64 field3 = new Signed64();
        Signed64 field4 = new Signed64();
        Signed64 field5 = new Signed64();
        Signed32 field6 = new Signed32();
    
        @Override
        public boolean isPacked() {
            return true;
        }
    }
    

    除了打包,还应该处理byteOrder(),返回big/little-endian

    请注意,javolution
    Struct
    使用ByteBuffer,而不是byte[]。我不太清楚您是否需要序列化,但如果需要,请确保您使用的是“倒带”的ByteBuffers