Ant*_*kov 3 c++ java memory-management
我是C++背景的java世界的新手.我想将一些C++代码移植到Java.代码使用稀疏向量:
struct Feature{
int index;
double value;
};
typedef std::vector<Feature> featvec_t;
Run Code Online (Sandbox Code Playgroud)
据我所知,如果一个人创建一个对象,内存使用会有一些开销.因此,当一组featvec_t中将有10-100百万个特征时,特征的天真实现将显着开销.
如何在Java中有效地表示这种结构内存?
如果内存确实是您的瓶颈,请尝试将数据存储在两个独立的阵列中:
int[] index和double[] value.
但在大多数情况下,如此大的结构性能(时间)将是主要问题.根据主要对数据执行的操作(插入,删除,获取等),您需要选择适当的数据结构来存储类Feature的对象.使用java.util.Collection接口,其子接口(List,Set等)及其在java.util包中提供的实现开始您的探索.
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |