作者mysmppt (小桑)
看板java
标题[问题] 存大笔资料时(存0,1,2),资料型态选择
时间Sat Jan 28 20:24:30 2012
各位前辈好~
小弟的目的是要降低对I/O频繁的读取负担,
所以把档案中存的资料全部读进记忆体以备读取,
读进来後会有 (1024*1024) x 190 = 199229440笔资料,
打算以阵列来储存,而每一笔资料内存的是 0或1或2 ,
若使用boolean阵列则不足以表示0或1或2,
若使用short阵列的话,则该阵列大小也有380MB,
请问这样的话是否能有把资料读进记忆体时更节省记忆体空间、
在读取时又好处理的方法呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.177.56.149
1F:→ gwokae:硬要塞进记忆体的话,想到两个方法笨方法是宣告布林阵列 01/28 20:53
2F:→ gwokae:然後自己判断false=0 true=1 null=2这样... 01/28 20:56
3F:→ stimim:用 short array + 3进位 ? 01/28 21:01
4F:→ stimim:不然至少还有 byte array 可以用 01/28 21:03
6F:→ tkcn:有现成的 BitSet 01/28 23:34
7F:推 LaPass:BitSet啊.... 知道了个好东西呢 01/29 00:59
8F:→ jej:有进就有出..看看你的输出的需求..如果没有急迫性.. 01/29 06:09
9F:→ jej:分段读出去~~ 01/29 06:13
10F:推 PsMonkey:囧... 还真的什麽 class 都有 XD 01/29 09:53
11F:推 ClareQ:BitSet只能存0,1吧?原PO的需求应该要客制化资料结构 01/29 13:01
12F:推 ClareQ:不过我比较好奇甚麽需求要用三元状态? 未来有可能变更多吗? 01/29 13:15
13F:→ mysmppt:谢谢各位前辈的建议,现在需求改成只要0或1,可以用布林了 02/16 02:49
14F:→ mysmppt:之前的需求是需要存测试结果,有1有0,也有随机0或1的结果 02/16 02:52