记得当年学C的时候尝试过.
在JAVA下不知道怎么做的?
import java.util.*;
class MemoryEator
{
Vector<byte[]> waste;
boolean b = false;
public static void main(String[] args)
{
int total = 0;
while(true){
total++;
System.out.println("used "+total+"M already");
MemoryEator me = new MemoryEator();
try{
Thread.sleep(100);
}catch(Exception e){}
if(false)
break;
}
System.out.println("Hello World!");
}
public MemoryEator(){
waste = new Vector<byte[]>();
}
public boolean eat(){
byte[] temp = new byte[1024*1024];
if(!b)
for(int i = 0;i < 1024*1024; i++){
temp[i] = (byte)(i%255);
} else{
byte[] a = waste.get(waste.size()/2);
for(int i = 0;i < 1024*1024; i++)
temp[i] = a[i];
}
waste.add(temp);
return true;
}
}
不知道有没有效果,大家给我测试下吧,谢谢了.
在JAVA下不知道怎么做的?
import java.util.*;
class MemoryEator
{
Vector<byte[]> waste;
boolean b = false;
public static void main(String[] args)
{
int total = 0;
while(true){
total++;
System.out.println("used "+total+"M already");
MemoryEator me = new MemoryEator();
try{
Thread.sleep(100);
}catch(Exception e){}
if(false)
break;
}
System.out.println("Hello World!");
}
public MemoryEator(){
waste = new Vector<byte[]>();
}
public boolean eat(){
byte[] temp = new byte[1024*1024];
if(!b)
for(int i = 0;i < 1024*1024; i++){
temp[i] = (byte)(i%255);
} else{
byte[] a = waste.get(waste.size()/2);
for(int i = 0;i < 1024*1024; i++)
temp[i] = a[i];
}
waste.add(temp);
return true;
}
}
不知道有没有效果,大家给我测试下吧,谢谢了.
解决方案 »
- System.arraycopy
- 获取XML节点下某一属性值不停出错。一天了
- 用ultraedit写.java的时候,如何不让string自动变成String?
- 弱问
- 如何将查询结果放入到String内?
- 接到一个活,不知道难不难搞,大家提提意见啊
- 初学java,写了一个极其简单的一对一的聊天程序,贴出来,请高手们指正。只为提高象我这样的菜鸟的编程水平
- DiskFileUpload上传中文文件名的文件,上传后,文件名为乱码?
- 请...问... 如何通过 Calendar 类的方法获得一连串 YYYY-MM-DD 格式的日期值
- Timer 和 TimerTask
- 我的zip文件是用winrar压缩的,里面含有中文文件与中文目录。使用Java的zip压内的api去解压时,发生不能读取的中文的错误。请问谁知道怎
- 如何实现组合框的多选功能?
{
private Vector<byte[]> waste;
private boolean b = false ;
public MemoryEator()
{
waste = new Vector<byte[]>();
}
public boolean eat()
{
byte[] temp = new byte[1024*1024];
if(!b)
{
for(int i = 0;i < 1024*1024; i++)
{
temp[i] = (byte)(i%255);
}
}
else
{
byte[] a = waste.get(waste.size()/2);
for(int i = 0;i < 1024*1024; i++)
{
temp[i] = a[i];
}
}
waste.add(temp);
return true;
}
public static void main(String[] args)
{
int total = 0;
MemoryEator me = new MemoryEator();
while(true)
{
total++;
System.out.println("used "+total+"M already");
if(!me.eat())
break;
try{
Thread.sleep(100);
}catch(Exception e){}
}
System.out.println("Hello World!");
}
}运行结果:
used 1M already
used 2M already
used 3M already
used 4M already
used 5M already
used 6M already
used 7M already
used 8M already
used 9M already
used 10M already
used 11M already
used 12M already
used 13M already
used 14M already
used 15M already
used 16M already
used 17M already
used 18M already
used 19M already
used 20M already
used 21M already
used 22M already
used 23M already
used 24M already
used 25M already
used 26M already
used 27M already
used 28M already
used 29M already
used 30M already
used 31M already
used 32M already
used 33M already
used 34M already
used 35M already
used 36M already
used 37M already
used 38M already
used 39M already
used 40M already
used 41M already
used 42M already
used 43M already
used 44M already
used 45M already
used 46M already
used 47M already
used 48M already
used 49M already
used 50M already
used 51M already
used 52M already
used 53M already
used 54M already
used 55M already
used 56M already
used 57M already
used 58M already
used 59M already
used 60M already
used 61M already
used 62M already
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
请问你的系统平台是什么样的,为什么我这里都运行到3000M多了还没有抛出异常?
我用的是JDK1.4.2, 512RAM,WINDOWS XP。