【JavaSE】Java问题总结
使用BufferedInputStream时OutOfMemoryError异常
- 使用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,把这个链接粘进去进行安装,安装完毕之后重启就可以了。
【JavaSE】Java问题总结的更多相关文章
- [javaSE] java获取文件列表
递归测试 import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Lis ...
- JavaSE: Java 5 新特性
Java5新特性 1.Java 语言 1.1 Generics 1.2 foreach 1.3 自动拆箱装箱 1.4 enum 1.5 可变参数 varargs 1.6 static import 1 ...
- [javaSE] java上传图片给PHP
java通过http协议上传图片给php文件,对安卓上传图片给php接口的理解 java文件: import java.io.DataOutputStream; import java.io.File ...
- JavaSE——Java对象导论
一.抽象过程 人们所能够解决问题的复杂性直接取决于抽象的类型和质量.所谓抽象的类型指的是抽象的是什么,汇编语言是对底层机器的轻微抽象,命令式语言(FORTRAN.BASIC.C)是对汇编语言的抽象.这 ...
- JavaSE复习日记 : java包机制
这里是第一个文件,命名为JavaSE_01.java,我在这个文件里面声明了一个m1()方法,通过包机制,我将在另外一个文件夹里访问这个文件里的东西,确切的说是访问这个文件生成的一个class文件; ...
- Java,来源于大神
也许你学习了那么久的Java了,但如果有人问你什么是JavaEE?你会怎么回答他呢?在此我来谈谈关于JavaEE的相关技术.(仅是个人见解) 在谈JavaEE时,我们首先来了解一下Java平台.目前, ...
- javaSE学习路线
Java SE大致可分为以下几块内容: n 对象导论:如何用面向对象的思路来开发 n 深入JVM:Java运行机制以及JVM原理 n 面向对象的特征:封装.继承.抽象.多态 n 数组和容器:容 ...
- 第一周:Java基础知识总结(1)
1.软件开发的基本步骤: 1.分析问题,建立数据模型. 2.确定数据结构类型和算法. 3.编写程序. 4.调试程序. 2.Java语言 Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移 ...
- Java笔记(一)
Java语言特征 Java之父:詹姆斯,格斯林 跨平台:一次编译,到处运行write once,run everywhere! Java是一种面向对象的编程语言(OOP)面向对象(OO -- Orie ...
- java发展史与java的语言特性
概述: Java 体系比较庞杂,功能繁多,这也导致很多人在自学 Java 的时候总是感觉无法建立 全面的知识体系, 无法从整体上把握Java 的原因. 在这里我们先简单了解一下Java 的版本. 具体 ...
随机推荐
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---5
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本 ...
- [SaltStack] Return日志入库审计
SaltStack日志return审计 在我们执行salt任务时, 默认日志是屏幕打印的, 对于我们审计任务运行情况带来很不方便, 因此我们对日志结果进行了二次开发, 将job日志处理后入库, 方便查 ...
- DOM和jquery对象之间的转换
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- linux 常用命令: runuser
rpm: coreutils-8.4-9.el6.x86_64 runuser --help 用法:runuser [选项]... [-] [用户 [参数]... ] Change the effec ...
- 洛谷 P1031 均分纸牌【交叉模拟】
题目描述 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若干张纸牌,然后移动. 移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 ...
- Hrbust 2320 OX (博弈)
题目链接 Hrbust 2320 用三进制来存储整个棋盘的状态. 设$dp[status][now]$为轮到$now$下棋的时候是必胜必败还是平局. 那么若当前能延伸出的所有状态中存在必败态的,则当 ...
- Tallest Cow
题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a p ...
- JSP-Servlet-SpringMVC
作者:码思客链接:https://zhuanlan.zhihu.com/p/37612412来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 本篇文章,我们来讲讲技术,系 ...
- .Net 多线程小结
1.简述 一般一个程序一个进程,代码是存在进程中的,进程本身不执行代码, 执行代码的是线程. 一般一个进程里就一个线程.(一个商店就一个老板娘.) 进程就是在内存中开辟了一个空间.代码,图片..等就 ...
- linux基础学习8
管理主机每天任务: 查询登录档.追踪流量.监控用户使用主机状态.主机各项硬设备状态. 主机软件更新查询.其他使用者要求: 因此shell script 就必须要学啊,虽然可以说绝大部分shell能 ...