VM 間でオブジェクトを通信するためにnettyを調べます。ObjectEncoder
&をそれぞれ使用ObjectDecoder
して、これらをシリアル化します。
このソリューションは最大 1MB サイズのオブジェクトに制限されていることがすぐにわかりました。より大きなオブジェクトを通信するつもりであり、このサイズを制限するつもりはないためInteger.MAX_VALUE
、最大フレーム長を設定していました。
残念ながら、この値は一部の buffer を初期化するために取得されているように見えるため、不必要な GC が発生し、OutOfMemory になる可能性が非常に高くなります。
DynamicChannelBuffers を使用しているときに無制限の ObjectEncoder/Decoder を作成して、メモリが無駄にならないようにする方法はありますか?