请教高手:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
来源:百度知道 编辑:UC知道 时间:2024/06/22 21:19:03
我 写了这样的代码static Vector v=new Vector();
public static void randomWrite() throws IOException
{
int i,j;
char t = 0;
boolean append=true;
FileWriter fw=new FileWriter("xulie.txt",append);
for (i=0;i<1000000;i++)//不要忘了改回原状
{
j=(int)((Math.random()*10)%4+1);
switch (j)
{
case 1:t='A';
break;
case 2:t='T';
break;
case 3:t='C';
break;
case 4:t='G';
break;
}
v.add(t);
//写文件
fw.write(t);
}
在main()函数中让上面的程序重复执行1000次的时候会出Exception in thread "main" java.lang.OutOfMemoryError: Java heap space的错误,如何解决?
如果执行5次的时候是正常的!这样就相当于生成了500万个。要生成30亿个,如果用多线程行吗?如可以的话如何实现?
public static void randomWrite() throws IOException
{
int i,j;
char t = 0;
boolean append=true;
FileWriter fw=new FileWriter("xulie.txt",append);
for (i=0;i<1000000;i++)//不要忘了改回原状
{
j=(int)((Math.random()*10)%4+1);
switch (j)
{
case 1:t='A';
break;
case 2:t='T';
break;
case 3:t='C';
break;
case 4:t='G';
break;
}
v.add(t);
//写文件
fw.write(t);
}
在main()函数中让上面的程序重复执行1000次的时候会出Exception in thread "main" java.lang.OutOfMemoryError: Java heap space的错误,如何解决?
如果执行5次的时候是正常的!这样就相当于生成了500万个。要生成30亿个,如果用多线程行吗?如可以的话如何实现?
多线程是不可以的,但你可以制作一个缓冲类。用缓冲管理,然后把存于内存中的内容存成多个临时文件。
内存溢出,你在for (i=0;i<1000000;i++)//这里的数设置的太大了 呵呵内存不够了,估计你电脑不行啊
用缓冲流包装下
然后 flush()
内存溢出是说你要存的东西太多,内存里存不下了,没办法解决,你为什么要生成3亿个字母啊,3亿个字母是 3E/1024/1024 = 285兆,你加跟内存试试?
内存溢出
unknown software exception(0x000000d),位置为0x10064cf4.向高手请教一下!!!!!!!!!!!
请教高手,请教高手。
Unhandle Exception
exception 是什么意思
oracle exception
Unhandle exception
unknown software exception (0xc00000fd)位置为0x30119e75请高手指教如何解决
请问有哪位高手知道a fatal exception OE has occurred at 0028:e054c176
java高手请进:exception in thread "main"java.lang.NoclassDefFoundError:c1_1
高手请进-应用程序发生异常unknown software exception(0xc0000094),位置为0x0043be14