Java: OutOfMemory

http://www.atmarkit.co.jp/fjava/rensai4/troublehacks05/troublehacks05_1.html
Javaに限らず、メモリが足りないという現象そのものを見たことがないプログラマって多い気がする。failmallocってネタもあったけどね。
でも、JavaでOutOfMemoryErrorを発生させることそのものはとても簡単なので、せっかくなので一度やっておいてみるとよいかもしれない。

public class Main {
  public static void main (String[] args)
  {
    int[] arr = new int[0x7FFFFFFF];
  }
}

こんなこと書くわけないだろとか思うかもしれないが、ファイルで簡易データベースとか作っていて、配列を格納するときに要素数をまず書いてから要素を列挙するようなフォーマットにしていたりすると、何かの拍子に要素数の値がバグってOutOfMemoryErrorになるというケースはありえる。
上のやつを試した後は、最大いくつまでの大きさの配列ならOutOfMemoryErrorにならないかとか調べていると、メモリというものが少しはイメージできるようになるかもしれない。