我探索netty在 VM 之间通信对象。我分别使用ObjectEncoder
&ObjectDecoder
来序列化这些。
我很快发现这个解决方案仅限于最大 1MB 大小的对象。由于我打算传达更大的对象并且考虑到我不打算限制这个大小,我曾经Integer.MAX_VALUE
设置最大帧长度。
不幸的是,看起来这个值被用来初始化一些缓冲区,从而导致不必要的 GC-ing 并且很可能在 OutOfMemory 中。
有没有办法在使用 DynamicChannelBuffers 时创建无限的 ObjectEncoder/Decoder,以免浪费太多内存?