質問

Java 1.4 で実行されているエンタープライズ アプリがいくつかあります。これらは主に、DB 上のストアド プロシージャを呼び出し、XML ファイル (最大でも数メガ) を解析し、ディスクへの読み取りと書き込みを行います。これらのアプリを Java 6 に移行する必要があるという要件があります (コードの変更はまったく必要ありません)。

私の質問:

  • Java 6 でアプリを再コンパイルせずにそのまま実行した場合、正常に動作しますか (そうすべきであることはわかっています)。しかし、もし誰かが逆のことを考えているのであれば、あなたの考えを共有していただけますか?
  • さらに重要な質問は、パフォーマンスに影響を与えるかどうかです。たとえば、1.4 でコンパイルされ 1.6 で実行されるアプリと 1.6 でコンパイルおよび実行されるアプリとの比較です。1.6 では、1.4 と比較して同じ古いコード部分に対してバイトコードの最適化が行われる予定ですか?

jsに感謝します

役に立ちましたか?

解決

これは、最適化されますバイトコードはありませんが、バイトコードの形式は(!)は、Java 1から変更されていません。 JVMはランタイム分析は、それが価値があるということを伝えコードの部分を最適化しますが、JITコンパイルネイティブコードでます。そして、はい、4から6までのステップは、パフォーマンスが向上する必要があります - 仮想マシンは、これらの4.5年での長いの道を歩んでいる。

他のヒント

1.4から1.6へのビルド互換性のために

列挙型変数をチェック - それは新しい予約語です。

これは実際にコンパイルの問題ではありませんが、あなたはいくつかの問題は、私はいくつかのXMLベースとWS-関連コンポーネントの問題を持っていた1.4と6の間JDKに特定のサードパーティのコンポーネントの統合から発生するかもしれません過去に、例えばXercesの/のXalan。

この パッケージ/名前空間が変更されている(したがって、既存のコンポーネントは、おそらく、<私>はのコードで使用され続けます)いくつかの奇妙な自動検出のものは、これらのコンポーネントの互換性のないバージョンが衝突する可能性がありますバックグラウンドで起こる場合でも。

この 承認クラスローダ/フォルダを使用すると、多くの努力なしですべての問題を解決することができます。

この 私のアドバイス - あなたがまだの場合は、できるだけ早くすることができますし、参照として、それを試してみてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top