作者:chajian004_566_696 | 来源:互联网 | 2023-02-06 17:08
在开始解释我的问题之前,我应该提一下,我不是在寻找增加Java堆内存的方法.我应该严格存储这些对象.
我正在努力将大量(5-10 GB)的DNA序列及其计数(整数)存储在哈希表中.DNA序列(长度为32或更短)由'A','C','G','T'和'N'(未定义)字符组成.众所周知,当在内存中存储大量对象时,与C和C++等低级语言相比,Java的空间效率较差.因此,如果我将此序列存储为字符串(它为长度为~30的序列保存大约100 MB内存),我会看到错误.
我试图将核酸表示为'A'= 00,'C'= 01,'G'= 10,'T'= 11并忽略'N'(因为它将char烧成2位变换为5-酸).然后,将这些2位酸连接成字节数组.它带来了一些改进但不幸的是我再次看到错误几个小时后.我需要一个方便的解决方案或至少一种解决方法来处理此错误.先感谢您.