解决方案 »
- 求高效解析URL参数的算法
- 【求助】我知道这个问题很愚蠢,但是还是忍不住要问一下。
- 怎样在Jlist中添加图片,我想做成qq 好友列表那个效果
- 【求助】同一个程序在cmd中是死循环,在netbeans中正常~
- 安装SQL2005时提示已经存在更高版本..怎么解决?
- finalize()方法什么时候执行?
- BeanListHandler 用法 高手进来帮下忙谢谢了
- 各位大哥救命啊..........
- 散分
- 在Jbuilder7下如何使用JDK1.4? 我现在porject属性中指定的JDK是1.4的,甚至JBUILDER7使用的JDK也改成1.4的了,但assert还是用不了,谁有
- 求问如何抓取谷歌图片搜索的结果
- 说好的今天发布Java 8 的呢
byte[]的大小,说明你一次操作最大字节是多少,当然,这个越大,一次处理,所占内存就多大.is.available()返回的应该是文件可读字节数,也就是文件总大小,你这是要一次读完9M到内存后才进行操作.这太奢侈了吧.
如果是一次性读取的话,是不是读完之后,内存就释放了?还是还要等GC处理一下,这个内存才能释放啊?当你独到内存中后,将数据读出,gc会去释放内存
如果是一次性读取的话,是不是读完之后,内存就释放了?还是还要等GC处理一下,这个内存才能释放啊?当你独到内存中后,将数据读出,gc会去释放内存
好像问的离题了。我是不知道怎么设置 这个byte[]的数组的大小呀。所以才来请教你们的,不知道你有没有什么好的建议啊。byte[]的设置和文件的大小也有关系吧?谢谢哈
楼主有认真看我们的回答么?这个byte[]数组的大小跟你读文件时候内存用到的大小有关,byte[]数组的使用是说,你一次读文件的时候最多读多少进内存,比如你的程序,设的是文件的大小,也就是9M,也就是说,程序会一次性读完9M的文件到内存里,如果你的内存不足了,就会溢出,如果程序读得慢,没读完9M之前,你是不能操作其他的.如果你设的大小是1M(1024*1024),就是说程序会分9次来读这个文件,第一次读1M到内存,然后马上处理这1M的内容,处理完后又继续读.虽然读的是9M的文件,其实你的内存只用1M来处理,节省了很多空间.当然,设得小,说明I/O操作会比较频繁,I/O操作耗时比较长,这多少会有点性能上的影响.这看你是想用空间换时间,还是想用时间换空间了.
回到楼主的问题,这个大小怎么设,根据你的实际情况,或者根据你的心情,都可以.我个人习惯是1KB,也就是1024.时间慢总比内存溢出程序崩溃强.如果内存足够的话,我会考虑设大点.
楼主有认真看我们的回答么?这个byte[]数组的大小跟你读文件时候内存用到的大小有关,byte[]数组的使用是说,你一次读文件的时候最多读多少进内存,比如你的程序,设的是文件的大小,也就是9M,也就是说,程序会一次性读完9M的文件到内存里,如果你的内存不足了,就会溢出,如果程序读得慢,没读完9M之前,你是不能操作其他的.如果你设的大小是1M(1024*1024),就是说程序会分9次来读这个文件,第一次读1M到内存,然后马上处理这1M的内容,处理完后又继续读.虽然读的是9M的文件,其实你的内存只用1M来处理,节省了很多空间.当然,设得小,说明I/O操作会比较频繁,I/O操作耗时比较长,这多少会有点性能上的影响.这看你是想用空间换时间,还是想用时间换空间了.
回到楼主的问题,这个大小怎么设,根据你的实际情况,或者根据你的心情,都可以.我个人习惯是1KB,也就是1024.时间慢总比内存溢出程序崩溃强.如果内存足够的话,我会考虑设大点.哈哈 明白了 谢谢你