JavaのArrayListについて追記

先日にエントリーでえらいことを書いてしまったと反省。
http://d.hatena.ne.jp/takashi4233/20090521

Javaはnewした時点で新たにメモリ領域を確保するんですね。
つまり、clone()なんて使わなくても下記の方法で大丈夫みたい。でもすると今度はどこでメモリの解放をするんだろう?

	public static void init(ArrayList <ArrayList<String>> arys){
		ArrayList <String> ary = new ArrayList <String> ();
		ary.add("rec1");
		ary.add("Apple");
		ary.add("A");
		ary.add("120");
		arys.add(ary);
		ary = new ArrayList <String> ();
		System.out.println("Check1 = " +  arys.size() + "|" +  arys.get(0).size());
		
		ary.add("rec2");
		ary.add("Orange");
		ary.add("B");
		ary.add("100");
		arys.add(ary);
		ary = new ArrayList <String> ();
		System.out.println("Check2 = " +  arys.size() + "|" +  arys.get(0).size());
		
		ary.add("rec3");
		ary.add("Grape");
		ary.add("A");
		ary.add("80");
		arys.add(ary);
		ary = new ArrayList <String> ();
		
		ary.add("rec4");
		ary.add("Orange");
		ary.add("A");
		ary.add("100");
		arys.add(ary);
		ary = new ArrayList <String> ();
		
		ary.add("rec5");
		ary.add("Apple");
		ary.add("C");
		ary.add("150");
		arys.add(ary);
		ary = new ArrayList <String> ();
		
		ary.add("rec6");
		ary.add("Orange");
		ary.add("A");
		ary.add("180");
		arys.add(ary);
		ary = new ArrayList <String> ();
	}

メモリの解放と言えば、SunがOracleに買収されたせいで、有能なgcが有償版にしか搭載されないかも知れないらしいね。

ウワサで聞いただけだから実際のところはわからないけど。
成功すればM$のVisualstudioとどう程度の利益を上げれるかもね。
なんか、ベーシックな部分が有償になるのはあまり良い気がしないねぇ〜。