Object.hashCode()の謎

Javaの話。
同一パッケージ内に以下のような「Test」クラスと「Target」クラスを作成した。それぞれにメイン関数が定義されており、それぞれが「Target」クラスのハッシュ値を出力する。

package jp.idios;
public class Test {
	public static void main(String[] args) {
		System.out.println(Target.class.hashCode());
	}
}
package jp.idios;
public class Target {
	public static void main(String[] args) {
		System.out.println(Target.class.hashCode());
	}
}

上記コード、それぞれの実行結果は以下のようになった。

  • Testクラスの場合

17510567

  • Targetクラスの場合

827574

あれ?おかしくね?
○○なの?死ぬの?なんでなの???


ググっても本件についての記述を見つけることはできなかった。どっかエロい人教えてくれないかなぁ・・・(o´-`o)


ちなみに、本現象はWindows + JDK1.6.0で起こった。