使用BufferedInputStream时OutOfMemoryError异常

eclipse Luna安装subversion(SVN)

  • 使用BufferedInputStream时OutOfMemoryError异常。

为了InputStream可以重复读取,我们会把某个InputStream实例用BufferedInputStream装饰。

BufferedInputStream bis = new BufferedInputStream(is);
bis.mark(Integer.MAX_VALUE);
//while bis.read(...)
bis.reset

实际上是BufferedInputStream将mark之后的数据存起来,调用reset时恢复,因此,当InputStream数据过多时,就会出问题,尤其是我在手机上做Android开发时,当数据超过13K时,就可能出内存不足,即抛下下面的异常:

java.lang.RuntimeException: An error occured while executing doInBackground()
…………
Caused by: java.lang.OutOfMemoryError
at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:156)
at java.io.BufferedInputStream.read(BufferedInputStream.java:309)
at java.io.InputStream.read(InputStream.java:163)
at ……

因此,mark方法需要记录的字节数目上限尽量不要设置成Integer.MAX_VALUE。

  • eclipse Luna安装subversion(SVN)

最新的eclipse的svn插件安装起来很奇怪,和以前不大一样,弄了好一会才好,第一步和以前一样,安装subversion插件:

打开http://www.eclipse.org/subversive/downloads.php,拖拽“install”到eclipse里面就会自己安装,但是和以前不一样的是,安装完成之后不能直接使用了,缺一个svn connector,第二步呢就是要安装svn的connector,打开http://www.polarion.com/products/svn/subversive/download.php?utm_source=eclipse.org&utm_medium=link&utm_campaign=subversive,根据指示找到链接(http://community.polarion.com/projects/subversive/download/eclipse/4.0/luna-site/),进入Eclipse->Help->Install New Software,把这个链接粘进去进行安装,安装完毕之后重启就可以了。

最新文章

  1. js字符拼接
  2. 【转载】S2SH
  3. C# HttpWebRequest 绝技
  4. Unplugging一个PDB
  5. Window.document对象(1)
  6. C# 读取txt文本内容写入到excel
  7. [转] unix/linux下线程私有数据实现原理及使用方法
  8. NIO内存映射
  9. PHP(PHP-FPM)手动编译安装
  10. 漫谈GUI开发—各种平台UI开发概况
  11. nice coding (与其亡羊补牢,不如未雨绸缪)
  12. 12.7 Test
  13. easyui combobox下拉框文字超出宽度有横向滚轮
  14. Win10系列:VC++数据绑定
  15. Brainwashing
  16. arguments对象的callee属性和caller属性
  17. Django ModelForm类生成表单
  18. 使用生活实例理解Asp.net运行时
  19. 34.More-healthyful Menu Options for Kids 给孩子提供的更健康菜式选择
  20. day 104 luffy项目第二天

热门文章

  1. Mac air苹果笔记本安装Win10双系统教程(绝对能成功,超详细!)[转]
  2. 【Linux】自主实现my_sleep【转】
  3. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---40
  4. Z划分空间
  5. 浅谈.Net异步编程的前世今生----EAP篇
  6. Network | 802.1x
  7. vim display line number
  8. 使用Git Gui从Bonobo服务器中克隆Repository(仓库)
  9. new子类会先运行父类的构造函数
  10. XCODE 4.5 IOS多语言设置 及NSLocalizedString和NSLocalizedStringFromTable的用法。