アカウント名:
パスワード:
7. 仮想マシン - これまで、クラスリテラル (Foo.class など) を評価するとクラスが初期化されました。5.0 では初期化されません。前の動作に依存するコードは書き直す必要があります。
なんかは、
詳細についてはJava 言語仕様のクラスおよびインタフェースの初期化 (節 12.4) を参照してください。言語仕様は変わっていませんの
#と言うわけで、1.4.2_08 のバグがなんで今頃ネタになるのが全然分からない。1.4.2_09 でも致命的なバグはあるのに。
ところでJavaは未だにVC++6で開発していると聞いたことがあるのですが、
VC++6よりIntelコンパイラで開発してほしいと思うのはたぶん私だけでしょうか。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
危険になってきましたねえ (スコア:1)
騒がれた時期があったものですが、SunのJavaVMも
セキュリティが安全では無くなってきたのですねえ。
ところでJavaは未だにVC++6で開発していると聞いたことが
あるのですが、VC++6よりIntelコンパイラで開発して
ほしいと思うのはたぶん私だけでしょうか。
Re:危険になってきましたねえ (スコア:2, 参考になる)
脆弱性を回避するために仕様変更が繰り返されているので
昔に書いたプログラムソースとの互換性も保たれてはいないです。
Write once, Run anywhere という宣伝文句の実現も絶望的ですし、
Javaで書かれたソフトをいくつか利用しているユーザの立場から言うと
ソフトによって動作するJREのバージョンが違うために、それぞれの
ソフト専用でマシンを用意する必要があって不便です。
脆弱性を修正するためにバージョンアップをしたら
「そのバージョンでは動かない」といって強制終了されることもあります。
結果的に脆弱性を抱えたまま使い続ける羽目になります。
Javaの採用はユーザにとって良いことなのではなく、開発者(社)にとって
開発しやすい、移植しやすいという理由だけなんじゃないかと思います。
Windowsの脆弱性修正パッチを当てると、使用中のソフトが動かなくなる
可能性があるから容易には実施できないと聞きますが、Javaの場合も
似たようなものです。
いや、もっと酷いか。
Re:危険になってきましたねえ (スコア:2, おもしろおかしい)
初期のころのJava解説本のサンプルコードはほとんど全てアウト。
なんでこんなもんを使いたがるのか知りたいもんだ。
Re:危険になってきましたねえ (スコア:0)
> 初期のころのJava解説本のサンプルコードはほとんど全てアウト。
具体的にはどんなコードがアウトになるのですか?
Re:危険になってきましたねえ (スコア:0)
Re:危険になってきましたねえ (スコア:0)
Re:危険になってきましたねえ (スコア:0)
何でこんなFUDを流す人たちがいるのか逆に知りたいですね。具体例を聞いてもぜんぜん出てこないし。
Re:危険になってきましたねえ (スコア:1, おもしろおかしい)
それは、本当に何の問題もないのか?
危ない脆弱性を抱えたアプレットか、もしくは極単純な機能しかない
役に立たないゴミアプレットなのではないか?
君の公開しているアプレットがたまたま動くだけじゃないのか?
君のアプレットがたまたま動いたからといって、他のJavaソフトも
同じように動くとなぜ言える?
バイナリレベルの下位互換性はそこそこあるが、互換性のない場合もある。
ソースレベルの下位互換性は保証されておらず、非推奨APIが使われている
ソースをコンパイルできるように一応は残っているが、バージョンが
大きく違うとそれも怪しい。
非推奨APIを使い続けているアプリケーションがまともなものなのかは知らん。
君のソースコードは最新の開発環境で再コンパイルできるか?
FUDではなく、実際の話として動作しないソフトはある。
開発者が、将来に渡って変わっていくJavaの仕様に対して自信が持てず、
仕様が変わったがために誤動作し、損害が発生するのを恐れて
実行環境のバージョンをチェックして新しいバージョンでは動かないように
しているソフトもある。
重要なデータを処理するようなソフトであれば尚更である。
Re:危険になってきましたねえ (スコア:0)
Re:危険になってきましたねえ (スコア:0)
少しは自分で調べることもしろ。馬鹿が。
http://java.sun.com/j2se/1.5.0/ja/compatibility.html
ここでもよく読め。
読まずによく分かったふりするなよ。
Re:危険になってきましたねえ (スコア:0)
なんかは、
Re:危険になってきましたねえ (スコア:1, すばらしい洞察)
あなたのいう動かなくなるソフトも何も、あなたの話には全然信用性がないのですね。
だからあなたはFUDと呼ばれているのですよ?
Re:危険になってきましたねえ (スコア:0)
自分は何一つ証拠を見せないくせに人には悪魔の証明を求めるくらいですからねえ。信用しろという方が無理ですよね。
Re:危険になってきましたねえ (スコア:1, 興味深い)
この部分の具体例を教えてください。
Re:危険になってきましたねえ (スコア:1, 興味深い)
MS JVMはMSだから、ということでセンセーショナルに叩かれていた面も否定できません。
しかもSun自身が脆弱性情報の隠蔽傾向にあり、ひっそりとリビジョンを上げて知らんぷり、ということも過去行われています。
Re:危険になってきましたねえ (スコア:1)
#と言うわけで、1.4.2_08 のバグがなんで今頃ネタになるのが全然分からない。1.4.2_09 でも致命的なバグはあるのに。
Re:危険になってきましたねえ (スコア:0, フレームのもと)
> 仕様そのものの脆弱性と、
使用そのものの脆弱性って何のこと?
Re:危険になってきましたねえ (スコア:0)
それは本当です。 Sun JavaSE 6 より前は VC6 + SP3 でした。
でも Linux はもっと酷くてビルドに RedHatLinux 6.x が必要です。 GCC 3.x 系でビルドするには、かなりパッチングが必要です。 Intel C/C++ Compiler にはバグが多いのでお薦めし難いです。
実際に ICC でコンパイルしよとすると、最適化を上げていると compiler internal error が出てダメ。
最適化を切って(-O0)でソースをあちこち修正すればビルドはできますが速くはなりません。JIT コンパイルは速くなっても、翻訳されたコードの速度は変わらないから。