outofmemoryerrortest.java

来自「linux下编程用 编译软件」· Java 代码 · 共 65 行

JAVA
65
字号
import java.util.Vector;/** * Under JavaSoft's VM they arbitarily limit the amount of memory * a Java application can use (though this can be overridden).  The * point here is to check to see whether or not an application being * run by Japhar will ever get the OutOfMemoryError or not when resources * are scarce. --brian */public class OutOfMemoryErrorTest{  public static void main(String[] argv)    {      Vector v = null;      Runtime r = null;      long free = 0, total = 0;      // quickly approach memory limit 1M at a time      try {	r = Runtime.getRuntime();	v = new Vector();	while(true)	  {	    v.addElement(new byte[1048576]);	  }      }      // out of memory error      catch (OutOfMemoryError oomerr1)	{	  // slowly encroach on memory limit 2 bytes+ at a time	  try {	    while(true)	      {		v.addElement(new byte[2]);	      }	  }	  // out of memory error	  catch (OutOfMemoryError oomerr2)	    {	      if (r != null)		{		  free = r.freeMemory();		  total = r.totalMemory();		  v = null;		  r.gc();// 		  System.out.println("free = " + free);// 		  System.out.println("total = " + total);		  System.out.println("PASSED: ");		}	      else		System.out.println("FAILED: runtime unknown");	    }	  	}      // generic error      catch (Error err)	{	  System.out.println("FAILED: unexpected error");	}      // generic exception      catch (Exception e)	{	  System.out.println("FAILED: unexpected exception");	}    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?