タグ

ブックマーク / argius.hatenablog.jp (3)

  • Java SE 7 (4) - "NIO.2" ファイルシステム関連APIの増強 - argius note

    残りの言語仕様変更は「その他の雑多な変更」に含めるとして、次はAPIのほうを見ていきましょう。 NIO.2。Java1.4のときに追加された、新I/OのAPI群につけられたのが「New I/O」すなわちNIOです。 歴史的な都合が影響を与えて構成されてきたAPIツリーは、整合性という観点からするととても美しいとは言いがたいものだと思います。カテゴライズというのはかくも難しいものなんですね。 NIO.1のときは、チャネルとバッファという概念が追加され、主にデータの入出力においてメモリの効率的な操作を行うためのAPIが追加されました。ただ設計が高度過ぎて?とっつきにくいところがありました。 今回のNIO.2では、ファイルシステムに関する操作が大幅に追加されたのが特徴です。 ファイルのパス・属性・操作の分離 Fileクラスには、ファイルの属性、パスの概念、ファイルの操作などが混在しており、抽象度

    Java SE 7 (4) - "NIO.2" ファイルシステム関連APIの増強 - argius note
  • Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい - argius note

    この記事は、個人的なおさらいのための、Java Concurrency Utilitiesの一部を使ったサンプルとメモです。 目新しいものは特にありません。 記事内のサンプルとAPIドキュメント参照はJava7(Java SE 7)を基準にしていますが、Java Concurrency Utilities自体は一部を除いてJava5(Java SE 5.0)から使えるようになっています。 あと、いつものことですが、画像がありません。 追記(2014-01-05): この機能の呼称は (Java) Concurrency Utilities が公式で、この記事内の"Utility"というのは正確ではない+混在していますのでご注意ください。ごめんなさい。 追記(2014-08-15): この記事は、キーワード"Java Concurrency Utilities"でGoogle検索した時に2番

    Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい - argius note
  • Java SE 8 (2) - ラムダ式、メソッド参照、ストリーム - argius note

    このエントリーでは、Java8の新機能のうち、最も大きな変更であるラムダ式と、それに関連するメソッド参照、およびストリームについてまとめています。 目次 ラムダ式とメソッド参照 関数型インターフェイス ラムダ式の内部表現 ラムダ式のキャプチャー ストリーム 関数型スタイルのコレクション操作 遅延評価 並列計算 ストリームの応用 ラムダ式とメソッド参照 Java8では、新しいAPIとしてjava.util.functionパッケージが追加されています。ここには、関数型インターフェイス(functional interface)と呼ばれる、さまざまな種類のインターフェイスが含まれています。これらのインターフェイスを使うことで、ラムダ式やメソッド参照を変数に格納したり、後で評価する(関数を呼び出す)ことができます。 関数型インターフェイス 関数型インターフェイスには、注釈@FunctionalI

    Java SE 8 (2) - ラムダ式、メソッド参照、ストリーム - argius note
  • 1