2011-01-04 14 views

答えて

2

ありがとうございます。これにより、セキュリティマネージャとクラスローダーのコードは、悪意のあるサブクラスを実際に処理していることを心配することなくString型で作業できるようになります。

2

文字列クラスを拡張しないでください。文字列を操作する他のクラスに独自のメソッドを書くだけです。

理由は、文字列クラスは、他のトランザクションで不明な副作用を持つメソッドを再定義する可能性があるため、改ざんすべきではありません。

+0

質問は「理由」ではないと思います。何が... – StaxMan

+0

@StaxManあなたの権利...私はちょうどいいえより少しを追加しました。 – Bnjmn

+0

それが理由であれば、クラス全体ではなく、オーバーライドされないようにするfinalメソッドだけを宣言することができます。どう思いますか? – Rendicahya

2

既に言及されたセキュリティの面を除いて、私はパフォーマンスがもう一つの重要な理由であったと考えています。古いJVMの場合、特に最終クラス(すべてのメソッドが最終的に定義されている)では、オンザフライでコードをインライン化するほうがはるかに簡単でした。 Stringは、最も頻繁に使用されるオブジェクトの1つで、多くのアプリケーションの全体的なパフォーマンスに影響します。これは、改善が全体的な効果を大きくする領域と見なされました。

関連する問題