たくさんのデータ(オブジェクト)を(計算のために)メモリに保存する必要があります。
計算はこのデータに基づいて行われるため、すべてのデータが同じJVMプロセスメモリに存在することが重要です。
ほとんどのデータは、文字列、整数、およびその他のサブオブジェクト(Collections、HashSetなど)から構築されます。
Javaのオブジェクトのメモリオーバーヘッドは重要であるため(文字列はUTF-16であり、各オブジェクトには8バイトのオーバーヘッドがあります)、このようなデータをより低いオーバーヘッドでメモリに格納できるライブラリを探しています。
メモリの削減に関する興味深い記事を読みました:
* http://www.cs.virginia.edu/kim/publicity/pldi09tutorials/memory-efficient-java-tutorial.pdf
* http://blog.griddynamics.com/2010 / 01 / java-tricks-reducing-memory-consumption.html
そのようなシナリオ用のライブラリがそこにあるのか、それとも最初から始める必要があるのか、私はただ疑問に思っていました。
私の要件をよりよく理解するために、大量のレコードを処理し、メモリに保存されている他の何百万ものレコードに基づいてそれらを分析する必要があるサーバーを想像してください(高い処理速度のため)。