BufferedReader.mark()函数注意事项

BufferedRedder.mark()注意事项,在如下代码u3 = br3.readLine();会出现java.lang.OutOfMemoryError: Java heap space异常。

主要是由于BufferedRedder.mark(2147483632),2147483632数值过大导致,所以尽量不要设置太大,更不要 BufferedRedder.mark(Integer.MAX_VALUE)。如果设置过大,通过任务管理器可以看到此进程占用内存特别大。所以设置时够用即可。

String fileName3 = System.getProperty("user.dir") + File.separator + "dict" + File.separator + "level3.txt";
Reader fi3 = new FileReader(fileName3);
BufferedReader br3 = new BufferedReader(fi3);
if (br3.markSupported()) {
System.out.println("支持mark");
br3.mark(2147483632);
}
String u3;
try {
u3 = br3.readLine();
System.out.println(u3);
}

catch (Exception e) {
e.printStackTrace();
}
br3.close();

时间: 2024-12-19 20:35:29

BufferedReader.mark()函数注意事项的相关文章

js foreach函数 注意事项(break、continue)

foreach API说明: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach 说明: forEach 遍历的范围在第一次调用 callback 前就会确定.调用forEach 后添加到数组中的项不会被 callback 访问到.如果已经存在的值被改变,则传递给 callback 的值是 forEach 遍历到他们那一刻的值.已删除的项不会被遍历到.如果已访

c语言的scanf函数注意事项

.scanf函数的注意事项 *1.回车可以刷新键盘缓冲区的内容 *2.单个字符要用单撇号括起来 *3.   scanf("%d",&b);//如果给b正确输入,那么a的值就是一个换行符. scanf("%c",&a);//如果给b输入一个字符型(不正确输入),那么这个字符型就会赋值给a *4.scanf("%d%d",&a,&b);//对于输入连续的整形或者浮点型数据,可以用空白符起到间隔数据的作用,字符型的话不用

js自执行函数注意事项

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> //仅声明了函数,不会自执行,报错 function aa(){ console.log('aa'); }() //自执行情况 </s

Excel使用SUMIF函数注意事项

sumif函数的公式使用方法如下: =sumif(查询匹配的区域,条件,汇总求和的区域) 条件可以是“>10”或"=10"这种格式.其中“查询匹配区域”和“汇总求和区域”需要注意格式是常规或数字(不能是文本). 使用方法如下图所示:

vue箭头函数注意事项

不要在选项属性或回调上使用箭头函数, 比如 created: () => console.log(this.a) 或 vm.$watch('a', newValue => this.myMethod()). 因为箭头函数是和父级上下文绑定在一起的,this 不会是如你所预期的 Vue 实例,经常导致 Uncaught TypeError: Cannot read property of undefined 或 Uncaught TypeError: this.myMethod is not a

DestroyWindow函数注意事项

最近遇到这样一个问题:将一个窗口句柄以参数的形式传递给一个线程,在线程中使用完之后要将窗口销毁,调用DestroyWindow销毁窗口是返回false,GetLastError的结果为5:拒绝访问,而在线程外则是可以销毁的. 查阅msdn,解释如下: A thread cannot use DestroyWindow to destroy a window created by a different thread. 此外,还有以下需要注意的点: If the specified window

swift pragma mark

众所周知,大家在OC中对代码进行逻辑组织 用的是#pragma mark - ,生成分隔线 用#pragma mark 函数说明,来生成一个函数的说明X 但在swift中,这个语法就不支持了,毕竟它是属于C的语法,于是就有了新的一些语法,如:// MARK: // FIXME // TODO: 等 // MARK: - 生成分隔线 // MARK: 说明 别忘了那个冒号... 参考 :http://stackoverflow.com/questions/24017316/pragma-mark-

C 入门 第六节 自定义函数

/*//  1. 无参无返回值void hello()    {        printf("hello world!\n");    }//  2. 无参有返回值int peoplweCount(){        return 10;    }//  3. 有参有返回值int max(int a, int b)    {        return a > b ? a : b;    }//  4. 有参无返回值(打印一个数)void number(int a)    { 

Linux中backtrace()系列函数的应用实例

一.引言 backtrace()系列函数可用来输出代码出错时的函数调用关系. A backtrace is the series of currently active function calls for the program. #include <execinfo.h> int backtrace(void **buffer, int size); char **backtrace_symbols(void *const *buffer, int size); void backtrac