今月末にJavaSE6リリース予定

だったはずです(ぉぃ


リリースされるとJ2SE1.3.1は完全にEOLになっちゃうんで、
色々と気にしないといけないことが増えてきます。


まず、Unicodeとマルチバイトの取り扱いについて。
WindowsSJISが本当のSJISではなくて、実際はMS932*1だって
事はそれなりに知られているんだと思うけど、
J2SE1.3.1から今までのバージョンアップで、SJISUnicode
の変換用コンバータが、SJISコンバータを用いていた時期があったり、
MS932コンバータを用いていた時期があったりで、対策時期によって
その時の対策が意味をなさなくなっている可能性があります。
なので、
http://www.atmarkit.co.jp/fjava/rensai2/webopt08/webopt08.html
で紹介されているような文字化け対策を以前行っていても、
JavaSE5や6に移行した際に、全く同じ問題にぶち当たる可能性が
結構高いのです。しかも、そのときの担当者がいないとかいう罠が
潜んでいますからw


次に非推奨メソッドについて。
SunのJavaVMを利用するなら、まだ、非推奨メソッドやクラスが残って
いる気がしないでもないですが、BEAやIBMなどのJavaVMに移行すると
非推奨メソッド自体が使えなくなっている可能性があります。
ApacheJakartaなどのパッケージを利用しているといつの間にか動作
がガラッと変わっていたり<本来の動きになっただけ
メソッド自体がなくなっていたりする可能性があるので、APの修正をし
なければ移行自体が出来ないケースも考えられます。


次は機能自体がないケースについて。
J2EEとして仕様が固まる前に利用されていたJava関連のベンダー依存
な仕様で雁字搦めになったアプリケーションが何気にまだ動いていた
りするのが、この業界です。<だってまだ動くから
んで、だましだまし使い続けて来たとしても、そろそろOSも対応して
いなかったり、メンテナンスコストの影響で切替の時期が来ているは
ずなんですが、機能自体がないので、同じ様なアプリを作り直しても
動かす環境自体がない場合が考えられます。




まぁ、3つ目は言い過ぎかもしれませんが、仕様のバージョンアップ
による仕様自体の変化や新しい仕様の登場による変化へ、どうやって
対応するかという問題は残りますので、古いJavaを利用している環境
を刷新するはめになった技術者の方は頑張って下さい。


HWの性能が良くなりすぎていて、マルチスレッド特有の問題が発生す
る可能性もありますが、それはまぁ・・・そもそも(ry

*1:CP932とかWindows-31Jとも言われています