Classファイルのヴァージョン番号

たまたま先日Java2 SE 1.5がリリースされ,早速入れてみた.手元で分析しているclassファイルは新しいjavacでコンパイルしたものと前の1.4.3のjavacでコンパイルしたものが混じっている.するとclassファイルのヴァージョン番号が46.0から49.0に変わっていることに気付いた.そこでJDKのヴァージョンとその中のjavacが吐くclassファイルのヴァージョン,さらにJREの読み込めるclassファイルのヴァージョンの範囲について調べてみたんだが,本家の情報がヒットしない....けっこう重要な点だと思うのに,いいんだろうかこんなことで.
http://www.weiqigao.com/blog/2004/02/14/1076765528000.html
この人はJavaの逆コンパイラJODE (http://jode.sourceforge.net/)が「こんな新しいclassファイル扱えません」と止まってしまうことに困って,javacのオプション-target(および-source)を使うことにしたようだ.そして-targetの値に対して吐かれるclassファイルのヴァージョン名の表を示しているが,何か一貫性のない出力結果になっているようだ.何で1.4.3のjavacで普通に使って46.0なのに,1.5のjavacに-target 1.4とすると48.0になるんだ? 今度暇なときに自分でも試してみよう.