说Selector
刚刚告诉我有一个准备就绪的事件。我要做的第一件事是在与我选择的密钥ByteBuffer
相同的线程上分配Iterator
...。
如果ByteBuffer
足够大(在这种情况下我会使用多达4096个字节)会不会显着减慢我的选择过程?
请讨论直接和基于堆的ByteBuffer
s。
答案 0 :(得分:0)
接受或连接时,您应该为频道分配了一个ByteBuffer。也许两个,一个用于阅读,一个用于写作。您可以通过密钥附件将这些存储为会话变量。为每个选择事件分配一个新的BB是没有意义的。例如,如果您上次只阅读部分消息,该怎么办?