argius note

プログラミング関連

Java SE 7 (6) - 総括と補足

ここまで、2011-07-28に正式リリースされたJava SE 7について、2ヶ月遅れになりましたが、まとめてきました。
最後に、Java Platform Standard Edition 7 Documentationの"What's New in Documentation"を元に整理しておきます。項目リストはそのまま使っていますが、翻訳したものだけではありません。


総括

  • Swing
    • JLayerの追加
    • NimbusL&Fがcom.sun.java.swingからjavax.swingへ移動
    • 重量コンポーネントと軽量コンポーネントの混在がより容易に
    • 透過ウィンドウ・非矩形ウィンドウのサポート
    • JColorChooserにHSVタブ追加
  • ネットワーク
    • URLClassLoader.closeメソッドの追加
    • Sockets Direct Protocol (SDP) のサポート
  • セキュリティ
    • Java PKCS プロバイダにECCベースのアルゴリズム追加
    • 弱い暗号アルゴリズムを無効化できる
    • JSSEにSSL/TLS関連の様々な拡張
  • コレクション
    • TransferQueueインタフェースの追加
      • BlockingQueueの改良版? 実装はLinkedTransferQueue。
  • 並行処理
    • fork/joinフレームワークの追加
    • ThreadLocalRandom導入によるスレッド間競合の排除
    • Phaserクラスの追加−CyclicBarrierと似た同期バリア
  • RIA
    • ドラッグされたAppletウィンドウのタイトルの装飾が可能に
    • JNLPファイルのシンタックス拡張
    • JNLPのHTMLの埋め込みが可能に
    • JavaScriptイベントハンドラでAppletの初期化ステータスがチェック可能に
    • Appletをドラッグして作成したショートカットからオフラインで起動する設定が可能に
  • 国際化
  • 基本ライブラリ(java.lang)
  • JDBC (4.1)
    • Connection,ResultSet,Statementが"try-with-resources statement"対応(extends AutoClosable)
    • RowSet 1.1

補足

Java Technology 関連記事には、"動的型付け言語のサポート"以外にもJava SE 7の新機能についていくつかに詳しい説明があります。ただし、更新日付がちょっと古いので最新では変わっているところがあるかもしれません。


1.7のsrc.zipをgrepして調べたところ、since1.7は569行ありました。
また、基本パッケージのソースコードは、コーディングスタイルが一新しています。たとえば、インデントがタブのものがほとんどなくなっていたり、新規メソッドやクラスのJavadocの書式がHTMLタグをほとんど使わないスタイル*1になっていたりします。

*1:Oracleのスタイル?