作者baconcsie (Bacon)
看板java
标题[问题] 请问不使用缓冲读取,和用大量物件储存数据的缺点?
时间Sat Aug 30 15:48:52 2014
read load,如果不使用缓冲区,除了因为直接硬碟读写,可能比较慢之外
还会有什麽缺点吗?
还有就是,最近在算数据时,都会先把数据大量读入程式,理论上就是先放入了RAM
这样在运算数据时会比较快,每笔数据我用一个物件储存,物件中约有10来个变数,
总共会有30万~75万个物件。
可是RAM好容易就爆掉,不知道是真的数据太大,还是我程式的缺陷,还是java的缺陷。
大家有任何的建议吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.118.173.46
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1409384934.A.8DB.html
※ 编辑: baconcsie (122.118.173.46), 08/30/2014 15:49:34
1F:推 RealJack: 在compile的时後可以加一些flag去指定用到的记忆体大小 08/30 17:38
2F:→ RealJack: 你有加吗? 08/30 17:39
这方面的技术跟指令,我从未用过耶,可以给我关键字google,或是说的详细点吗?
※ 编辑: baconcsie (122.118.173.46), 08/30/2014 17:59:29
3F:推 LPH66: 楼上讲的应该是执行的 -Xmx 这个 flag 吧... 08/30 19:18
4F:→ LPH66: 跟编译期没有关系, 是在执行时指定的 08/30 19:18
5F:→ LPH66: google 可以直接搜寻「java Xmx」 08/30 19:19
6F:推 RealJack: 是的就是这个,谢谢楼上更正 08/30 22:08
7F:推 Killercat: java似乎没有直接支援unbuffered disk io... 08/31 00:02
8F:→ Killercat: socket是有 所以真的想unbuffered只能这样连起来 08/31 00:03
9F:→ Killercat: 另外会爆除了Xmx以外 还有一个permgen也是个可能点 08/31 00:04
10F:→ Killercat: 可以拿这关键字看怎麽改,通常好发於极大量class数量 08/31 00:04
11F:→ Killercat: ...er.. java的write/read算可以支援unbuffered啦 08/31 00:05
12F:→ Killercat: 只是通常都会自己拿个buffer去把他兜起来 08/31 00:06