![]() |
プログラム実行速度の改善 |
ドキュメントの目次 |
以下は、Java 2 SDK および Java 2 Runtime Environment の、プログラム実行速度および一般的な実行時パフォーマンスを改善するために加えられた変更の一部です。詳細は、BugParade の Web サイトにある関連するバグレポートのリンクを参照してください。
- readUTF および writeUTF のパフォーマンスの改善 - DataInputStream および DataInputStream の readUTF メソッドおよび writeUTF メソッドの実装が変更され、パフォーマンスが改善されました。これは、BugParade の Web サイトにあるバグ番号 4219771 の修正です。
- JScrollPane ペイントのパフォーマンスの改善 - JScrollPane の実装が改善され、ダブルバッファリングが使用されていないときに過剰なペイントと画面のちらつきが起きないようになりました。
- JTable のパフォーマンスの改善 - JTable の列処理機能のパフォーマンスが改善されました。以前は、列の追加操作または列幅の再計算操作のパフォーマンスは、列数が増えるにつれて十分スケーリングしませんでした。今回列処理機能の実装が変更され、スケーラビリティが改善されました。これは、BugParade の Web サイトにあるバグ番号 4223642 の修正です。
- ペイントの合体 - 改善されたペイント合体アルゴリズムの実装によって、ペイントのパフォーマンスが拡張されました。再ペイントが必要な領域は、イベントキューに送信されるときに、単一の、四角形でない再ペイント領域に合体されます。これにより、再ペイントがバッチ処理され、以前のリリースより効率的に複数の再ペイントを同時実行します。
- フレームのサイズ変更 - トップレベルフレームのサイズ変更が改善されました。
- フレームの内部移動 - Graphics.copyArea 呼び出しの使用により、Swing の DefaultDesktopManager が再描画する量は、フレームをドラッグするときに比べて大幅に少なくなりました。
- BigIntenger のパフォーマンス向上 - Pure Java のプログラミング言語コードにクラス java.math.BigInteger が再実装されました。以前は、BigInteger の実装は Plumb C ライブラリベースでした。新しい実装により、すべての標準操作が古い実装よりずっと高速に実行されます。新しい実装では、実行する操作によっては 5 倍以上高速になります。
- 数値操作のパフォーマンスを向上させる機能の提供 - Java 2 プラットフォームには、一般的な数値操作を実行するための API を提供する 2 つのクラスがあります。
- java.lang.StrictMath - クラス java.lang.StrictMath は、以前のバージョンの Java プラットフォームのクラス java.lang.Math の名前が変わったものですが、ほかの点では Math の仕様を保持しています。このクラスは、特にすべての実装でビットごとの再生可能な結果を返すように定義されています。
- java.lang.Math - クラス java.lang.Math は、クラス StrictMath と同じ API のセットを提供します。ただし、クラス StrictMath の一部の数値関数とは異なり、クラス Math の同等の関数のすべての実装が、ビットごとの同じ結果を返すように定義されているわけではなく、特定の制約内でさまざまに異なることがあります。このゆるやかさによって、厳密な再生可能性が要求されない実装においてパフォーマンスの向上が可能になります。
Copyright © 1999 Sun Microsystems, Inc. All Rights Reserved. コメントの送付先: jdk-comments@eng.sun.com |
![]() |