今月末にJavaSE6リリース予定
だったはずです(ぉぃ
リリースされるとJ2SE1.3.1は完全にEOLになっちゃうんで、
色々と気にしないといけないことが増えてきます。
まず、Unicodeとマルチバイトの取り扱いについて。
WindowsのSJISが本当のSJISではなくて、実際はMS932*1だって
事はそれなりに知られているんだと思うけど、
J2SE1.3.1から今までのバージョンアップで、SJISとUnicode
の変換用コンバータが、SJISコンバータを用いていた時期があったり、
MS932コンバータを用いていた時期があったりで、対策時期によって
その時の対策が意味をなさなくなっている可能性があります。
なので、
http://www.atmarkit.co.jp/fjava/rensai2/webopt08/webopt08.html
で紹介されているような文字化け対策を以前行っていても、
JavaSE5や6に移行した際に、全く同じ問題にぶち当たる可能性が
結構高いのです。しかも、そのときの担当者がいないとかいう罠が
潜んでいますからw
次に非推奨メソッドについて。
SunのJavaVMを利用するなら、まだ、非推奨メソッドやクラスが残って
いる気がしないでもないですが、BEAやIBMなどのJavaVMに移行すると
非推奨メソッド自体が使えなくなっている可能性があります。
ApacheやJakartaなどのパッケージを利用しているといつの間にか動作
がガラッと変わっていたり<本来の動きになっただけ
メソッド自体がなくなっていたりする可能性があるので、APの修正をし
なければ移行自体が出来ないケースも考えられます。
次は機能自体がないケースについて。
J2EEとして仕様が固まる前に利用されていたJava関連のベンダー依存
な仕様で雁字搦めになったアプリケーションが何気にまだ動いていた
りするのが、この業界です。<だってまだ動くから
んで、だましだまし使い続けて来たとしても、そろそろOSも対応して
いなかったり、メンテナンスコストの影響で切替の時期が来ているは
ずなんですが、機能自体がないので、同じ様なアプリを作り直しても
動かす環境自体がない場合が考えられます。
まぁ、3つ目は言い過ぎかもしれませんが、仕様のバージョンアップ
による仕様自体の変化や新しい仕様の登場による変化へ、どうやって
対応するかという問題は残りますので、古いJavaを利用している環境
を刷新するはめになった技術者の方は頑張って下さい。
HWの性能が良くなりすぎていて、マルチスレッド特有の問題が発生す
る可能性もありますが、それはまぁ・・・そもそも(ry
*1:CP932とかWindows-31Jとも言われています