torutkのブログ

ソフトウェア・エンジニアのブログ

Java SE 6 (Mustang)の新機能整理

新規追加(〜b34)

b35以降の変更点は後ほど追記予定

java.lang.String
  • isEmptyメソッド追加
java.awt.geom.AffineTransform
  • メソッドの追加
    • rotate, setToRotation, getRotateInstance, quadrantRotate, getQuadrantRote,setToQuadrantRotation, invert
Java仮想マシン
    • 致命的なエラーのハンドリングを省略する-XX:+SuppressFatalErrorMessage
    • ミューテックスロギング機構、-XX:+CountVMLocks
java.awt.MouseEvent

画面上の絶対座標を保持し取得できるようになりました。

  • getLocationOnScreen, getXOnScreen, getYOnScreen
Java Web Start
  • JNLPファイルで指定するアイコンのPNGフォーマット対応
  • Windows版ではICON形式(.ico)に対応
java.util.BitSetクラス

equals, hashCode, toStringメソッドの性能向上

java.util.Scannerクラス

性能向上

Java2D改善
  • OpenGLレンダリングOpenGLへの出力をシングルスレッドにして性能と信頼性を向上
  • テキストのレイアウトにカーニング機能追加
javax.swing.text.SegmentがCharSequenceインタフェースを実装

charAt、length、subSequenceのメソッドが実装されています。

Swingダブルバッファをウィンドウ毎に提供

今まではアプリケーションで1つのダブルバッファ領域を使用していたが、ウィンドウ単位にダブルバッファを使用するように変更され、これによって性能向上や、アイコン化していたウィンドウを再表示したときに灰色の画面がしばらく続いてしまう問題が解消されます。
http://weblogs.java.net/blog/zixle/archive/2005/04/no_more_gray_re_1.html

java.applet.AppletクラスのgetLocaleメソッドの目的をJavadocで明確化

このメソッドは実はApplet開発者がオーバーライドして使用するために用意されていたものでした。

javac
javax.managementパッケージ
  • 引数・戻り値のジェネリクス
  • ObjectInstanceクラスのtoString()メソッド追加
  • ObjectNameクラスがComparableインタフェースを実装
  • QueryクラスにisInstanceOfメソッド追加
  • NotificationBroadcasterSupportクラスにExecutorを引数に取るコンストラクタ追加
javax.management.remote.JMXConnectorインタフェースがClosableを継承するよう改善
java.textパッケージ
  • DecimalFormatSymbolsクラスにgetExponentSeparator/setExponentSeparatorメソッドを追加、アプリケーションで任意の指数表記文字列を扱えるように拡張
  • CollationKeyクラスのコンストラクタのアクセスをprotectedに緩めた
PrinterJob/PrintServiceLookupクラスのlookupPrintServiceメソッド改善

プリンタの動的な変更に対応

java.util.JapaneseImperialCalendar追加

和暦(元号)が扱えるようになりました

jconsoleで監視する対象のJavaを起動するときのJMXエージェント指定不要

従来は、-Dcom.sun.management.jmxremote の指定が必要だったのが、この指定がなくてもjconsoleで監視できるようになりました。
http://blogs.sun.com/roller/page/alanb?entry=getting_started_with_jconsole_just

java起動時にスプラッシュ画面表示指定可能に

http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/splashscreen/