我有一个用例,其中我必须多次运行一个Java应用程序。
应用程序的性能瓶颈在于初始化时间。
初始化时,应用程序从磁盘将一千万条记录加载到内存数据结构中
然后应用程序在内存中的数据结构中进行大约1亿次查询。

我要做的是避免一次又一次从磁盘加载记录。
并且我的应用程序使用共享内存进行数据结构查找。
我不想使用远程方法调用/ Web服务调用,因为那会太昂贵
用于查找部分。

另外,我没有使用线程的选项。

最佳答案

我将在内存映射文件中构建数据结构。这些可以在流程和同一流程的运行之间共享。但是,使用它们并非易事,因为您必须确定如何在字节级别构造数据。即您不能使用Java对象。 (从正面来看,这几乎意味着没有GC开销)

07-26 09:12
查看更多