※ 引述《CPHunter.bbs@bbs.badcow.com.tw (IT工人)》之銘言:
: ※ 引述《montreal.bbs@ptt.cc (╮(╯3╰)╭)》之銘言:
: : 請問一下
: : 一個java的網路程式
: : 如果要處理傳輸100M的檔案
: : 是不是表示要給jvm (-Xmx) 至少100M的記憶體?
不一定,看你怎麼寫的,不用設也能傳成功,試試看便知。
只不過先allocate 100M "好像"會比較快傳完吧...
: : 另外 如果給jvm的記憶體大小超過電腦的實體記憶體大小
: : jvm與os之間會自行以虛擬記憶體等其他方式達成嗎?
是的,但這部分主要是看OS的技術,通常都會自己吃SWAP
(不過這部分我只有在Linux上測確定會自己吃SWAP,Windows不確定...)
: : 謝謝
: 可以收下來,就先存下來哦...
: 全部接完再存的話,就 memory 就要比較大
: 先存在 file 中吧
是阿
我比較喜歡把資訊存放的Object直接做Serialization後直接丟
只不過java在傳送大量的檔案還是很沒效率 (應該是我不會用...)
例如我需要一次傳個4G、6G的XML檔案過去,JAVA常常就給我丟IO Exception了
可能我要再多研究Java NIO這一塊吧,看有沒有比較好的解決方案
現階段的作法是......
寫個cron job (crontab)定時定期用rsync把檔案給送過去 XD
用rsync的好處除了快以外,由於他只同步檔案彼此之間不同的部分內容
我那4G每次大概有一半是重複的吧,所以又更省時省力了,哈哈
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.31.168.236
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):