タグ

λと8に関するkiyo_hikoのブックマーク (5)

  • InfoQ: Javaにおけるラムダ:詳細な分析

    実際、Javaには1.1の時代から(インナークラスという形で)クロージャがあります。次のコードを見て下さい。 public interface IFilter { public boolean filter(int x); } public class FilterFactory { public static IFilter greaterThan(final int i) { return new IFilter() { public boolean filter(int x) { // iは語彙的スコープの外部から与えられる return x > i; } }; } } 上記のコードサンプルでは、FilterFactoryにgreaterThanというファクトリメソッドがあり、これは呼び出しに際して引数に関するクロージャを返します。同じコードを異なる引数で呼び出すと、異なるクロージャ

    InfoQ: Javaにおけるラムダ:詳細な分析
    kiyo_hiko
    kiyo_hiko 2014/07/18
    昔のラムダって#だったのか。あと実質的finalはなぜ"暗黙の"finalではなく"実質的"finalなんだろう。あと別サイトでJDK8に載ったラムダは実行時にクラスを作ることを知った → 難読化しても正常にラムダ呼べるってことかしら
  • Java8新機能 ラムダ式とデフォルトメソッドの導入理由 - Yuji Blog

    前々回に次回予告した内容ですw ラムダ式とデフォルトメソッドがどう関係あるのかということですが、まずはラムダ式が追加された経緯から読んでみます。 なぜJavaにラムダ式が追加されたのか Why are lambda expressions being added to Java? ラムダ式(とクロージャ)は最近の様々な言語で人気が出ています。これには様々な理由がありますが、Javaにとって最も差し迫った理由は、コレクションの処理を複数のスレッドで分散処理することです。 現在、ListやSetはCollectionから取得されたIteratorを使ってその要素が一つずつ順番に処理されるのが普通です。 もしそれぞれの要素を並列に処理しようとした場合、その責任を負うのはCollectionではなく、プログラマがそういったコードを書かなくてはいけません。 Java8では、様々な方法で要素を処理する

    Java8新機能 ラムダ式とデフォルトメソッドの導入理由 - Yuji Blog
    kiyo_hiko
    kiyo_hiko 2014/06/12
    "Interfaceにメソッドを追加した場合、それを実装している既存のクラスを変更しなくてはいけなくなります"
  • もしもラムダの中で例外が発生したら(前編) - Taste of Tech Topics

    ある日、 id:cero-t がJJUGの重鎮たちと話している中で、とある宿題をもらいましたとさ。 「Java8のラムダの中で例外が発生したら、どうなるんだろう?」 こんにちは、アキバです。 もう皆さんはJava8を使ってみましたか? とりあえずインストールしてみた人! ・・はーい (おまえか という冗談はさておき、 今回は、id:cero-t に代わって私が冒頭のお題を調べてみました。 1. SerialStreamで動かしたラムダで例外が発生したら まずは、小手調べにシングルスレッドの場合を見てみましょう。 検査例外が発生するようなコードをラムダに書いてみると、コンパイルエラーになります。 こんなコードです。 try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(W_FILENAME))) { // writer.

    もしもラムダの中で例外が発生したら(前編) - Taste of Tech Topics
  • 初心者のためのJavaラムダ式入門とJDKのインストール、IDEの環境構築

    2014年3月18日に一般公開予定のJava SE 8へのバージョンアップでは、新たな表記法として「ラムダ式」が追加されます。このラムダ式を使うことによって効果を発揮する数々のAPIも追加されることになり、今回のバージョンアップはJavaを使う人にとって無視できないバージョンアップとなります。 しかしラムダ式は今までJavaプログラミングをやってきた人でも前提知識なしにソースだけを見て理解するのは難しい内容となっています。この連載では、今までJavaの経験はあっても「ラムダ式は、まだ知らない」という人を対象にラムダ式について解説していきます。 JDK 8は2013年9月10日に開発者向けプレビュー版が公開され、2014年2月18日現在、Early Access版がリリースされています。 コラム「ややこしいJavaのバージョン番号」 Javaのバージョン番号について、ところどころで1.8のよ

    初心者のためのJavaラムダ式入門とJDKのインストール、IDEの環境構築
  • Java SE 8 lambdaで変わる プログラミングスタイル

    20110730_Redmineでのタスク管理を考える勉強会@大阪 第1回 (2011/07/30) - RxTstudy https://sites.google.com/site/rxtstudy/home/20110730 【公開】RedmineのFAQとアンチパターン集 #Rxtstudy: プログラマの思索 http://forza.cocolog-nifty.com/blog/2011/07/redminefaq-rxts.html RxTstudy Redmineでのタスク管理を考える勉強会@大阪 - Togetterまとめ http://togetter.com/li/168362

    Java SE 8 lambdaで変わる プログラミングスタイル
  • 1