【初心者】Java質問・相談スレッド114【歓迎】at TECH
【初心者】Java質問・相談スレッド114【歓迎】 - 暇つぶし2ch83:デフォルトの名無しさん
08/04/07 18:34:32
jdk1.4.2で作成された既存 web アプリケーションを、Java VM だけ 1.6 に移行することになりました。
(ソースコード修正は行わない)。
ちなみに既存システムなので、1.4.2 でコンパイルされた class ファイルはあります。
このとき、以下のうちどうすべきですか?

1.jdk 1.6 ではコンパイルしない。
 既存コンパイル済みの class ファイルを jdk1.6 で動かす。

2.jdk 1.6 でコンパイルしなおす。このとき、-source オプションは何もつけない。
 コンパイル結果の class ファイルを jdk1.6 で動かす。

3.jdk 1.6 でコンパイルしなおす。このとき、-source 1.4 をつける。
 コンパイル結果の class ファイルを jdk1.6 で動かす。

4.jdk 1.6 でコンパイルしなおす。このとき、-source 1.6 をつける。
 コンパイル結果の class ファイルを jdk1.6 で動かす。

私の考察:
jdk1.4.2 時代に作られたソースコードなので、当然ソースコードは1.4準拠です。
しかしこのソースは「1.4にはあるけど1.5以降で削除されたメソッド」は使っていないので、
jdk1.6でもコンパイルは通ります(←Generics は使ってないけど、1.6準拠と言える?)

-source 1.4 をつけると class ファイル(バイトコード)も 1.4 準拠になるのですよね。
VM は jdk1.6 なので、-source 1.6 をつけて class ファイル(バイトコード)を 1.6 準拠のものを生成した
ほうが、パフォーマンスはいいと考えました(計測してみたなどの根拠はありません)。
つまり正解は4.?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch