我正在使用Javolution Struct类来处理Disruptor环形缓冲区中的事件 - 这似乎是使我的消息更加缓存友好的最简单方法。 我之前没有Javolution的经验,并且发现关于调整Javolution的教程的材料很少。
我的问题是:
我应该注意哪些特定于Javolution的优化? 到目前为止,我找到并使用的唯一调整参数是:
@Override public boolean 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;
}
}
答案 0 :(得分:0)
除了打包外,还应注意byteOrder()并返回big / little endian。
请注意,javolution Struct
使用ByteBuffer而不是byte []。对我来说还不清楚,是否需要序列化,但是如果需要,请确保对“倒带”的ByteBuffer进行处理