タグ

java8に関するtarchanのブックマーク (63)

  • Java8 Streamから学ぶOptionalモナドとEitherモナド。

    Java8 Stream, Optional, Either and Try.md Java8 Stream, Optional, Either and Try. Java8 Stream の使い方を覚えたら、Optional や Either もすぐ使えるようになるよ!編 Stream リスト要素の有無を意識せずに処理することができる Integer result = Arrays.asList(1, 2, 3) .stream() .filter(n -> n > 5) //この時点で要素がなくなる .mapToInt(n -> n * n) //そんなことは意識せずに処理したいことを記述する .sum(); ⇒処理するにあたり、リストの要素があろうとなかろうと意識する必要がない リスト要素に対する処理結果がリストであっても問題ない //戻り値がリストとなる処理があったとして、 Lis

    Java8 Streamから学ぶOptionalモナドとEitherモナド。
  • [JavaFX][NetBeans] Java SE 8 Update40のJavaFXをScene Builderで使い、NetBeans 8.0と連携させる - torutkのブログ

    id:torutk:20150313 のコメントに、Gluonがビルド/配布しているJava SE 8u40対応Scene BuilderをNetBeans 8.0から認識させる方法を寄せていただきました(樋口さん、ありがとうございます)。 そこで、追試してみることにしました。確認環境はWindows 7 64bit版です。 Gluon のScene Builderをインストールする Gluonのサイトで各OS向けのScene Builder インストーラがBSDライセンス公開されています。 http://gluonhq.com/products/downloads/ Windows用は32bit版と64bit版が公開されています。ここでは64bit版をインストールします。 SceneBuilder-8.0.0-x64.exe このインストーラを実行してみたところ、次のフォルダーにインスト

    [JavaFX][NetBeans] Java SE 8 Update40のJavaFXをScene Builderで使い、NetBeans 8.0と連携させる - torutkのブログ
  • 詳解 Java SE 8 第23回 Date and Time APIとISO 8601

    Java SE 8でProject Lambdaの次に注目される機能といえば、「Date and Time API」でしょう。 今まで日時に関するAPIとしては、java.util.Dateクラスとjava.util.Calendarクラスを中心としたクラス群が提供されてきました。ただ、読者のみなさんも経験があると思いますが、DateクラスとCalendarクラスはいろいろと使いづらい点が多くあります。 時間間隔を表すことができないことや、日時に関する演算の種類が少ないなど、機能的に足りていない部分も多くあります。 これに対し、Date/Calendarクラスを置き換えるAPIが、Java SE 8で導入されたDate and Time APIです。 Date and Time APIはJCPのJSR 310として仕様策定が行われました。スペックリードは3人いますが、中心になっているのはS

    詳解 Java SE 8 第23回 Date and Time APIとISO 8601
  • 詳解 Java SE 8 第19回 Concurrency Utilitiesのアップデート その1

    年も明けた今回は、Concurrency Utilitiesのアップデートについて紹介していきます。Concurrency Utilitiesは、前回までのProject Lambdaとの関係も深く、Project Lambda関連の変更も多くあります。 Project Lambda関連以外の主なアップデートには、次のようなものがあります。 CompletableFuture CountedCompleter DoubleAccumulator/DoubleAdder LongAccumulator/LongAdder StampedLock ConcurrentHashMapの変更 CompletableFutureクラスはJava SE 8で新たに導入されたjava.util.concurrent.Futureインタフェースの実装クラスです。このクラスに関しては、この後詳しく説明します

    詳解 Java SE 8 第19回 Concurrency Utilitiesのアップデート その1
    tarchan
    tarchan 2015/02/20
    >2015年はJavaが誕生して20周年の年です。
  • 詳解 Java SE 8 第21回 Concurrency Utilitiesのアップデート その3

    今回も前回に引き続き、Concurrency UtilitiesのCompletableFutureクラスを紹介していきます。 CompletableFutureクラスはFutureインタフェースを実装したクラスで、非同期に処理する複数のタスクを組み合わせて実行することができます。前回、非同期処理するタスクを組み合わせる手法について紹介しました。 今回は、非同期処理の制御に関する機能について紹介します。また、これまでは非同期に処理するタスクが正常に完了していた場合のみを取り上げていましたが、例外が発生した場合についても取り上げます。 非同期処理の制御 CompletedFutureクラスが実装しているFutureインタフェースは、結果の取得や処理のキャンセルなどの機能を定義しています。CompletedFutureクラスはこれらの機能に加え、独自の機能を提供しています。表1に主なメソッドを

    詳解 Java SE 8 第21回 Concurrency Utilitiesのアップデート その3
  • JavaFX Nightに参加しました~ #javafx_ja - Challenge Engineer Life !

    最近、勉強会に参加しましたエントリしか書いてない気がするのですが…(^^; 昨日11/25に行われた「JavaFX Night」に参加してきました。 JavaFX Night - 日 JavaFX ユーザグループ | Doorkeeper ここ最近JavaFXを触っていないのですが、いつか仕事で使ってみたいと思っているのでネタ収集はしていかないと。 発表はスライドが公開されているのと、@yusukeさんによって早くもYouTubeに動画がアップされているので、参加できなかった方はそちらでみれます!!以下スライドと動画リンクもまとめておきます。 JavaFXにダイアログがやってくる @btnrougeさん Javafx dialogs from Kenji Hasunuma @btnrougeさん講演動画 JavaFXにダイアログがやってくる #javafx_ja #jjug - YouT

    JavaFX Nightに参加しました~ #javafx_ja - Challenge Engineer Life !
  • 書籍「パーフェクトJava 改訂2版」を読んで - torutkのブログ

    改訂2版 パーフェクトJava 作者: 井上誠一郎,永井雅人出版社/メーカー: 技術評論社発売日: 2014/11/01メディア: 大型この商品を含むブログ (4件) を見る 著者の井上誠一郎さんからご恵贈いただきました。 以前、「Java書籍の選び方」という日記を書きましたが、そこでこのを入門3候補の1つに挙げていました。 http://d.hatena.ne.jp/torutk/20100516/p1 このの最大の特色は目次構成にあると思います。最初に文字列から入り、数値、オブジェクト、クラス、コレクション、インタフェース、ラムダ式とストリームと続いています。 これは、特にC言語プログラミングの経験者がJavaに転科するときの学習順番によいかと思います。配列をたった一つの冴えたデータコレクションとして扱い、それを制御構文でいじって頑張るというプログラミングスタイルから脱却する、

    書籍「パーフェクトJava 改訂2版」を読んで - torutkのブログ
  • セミコロンレスJavaはJava8の夢を見るか? - きつねとJava!

    こんにちは. 続編の変数についてはこちら. ボケーッとセミコロンレスJavaの事を考えていたら,そういえばStreamAPIはセミコロンレスJavaの技法にかなり影響を与えるのではと思いはじめました. というのも,基的にStreamAPIで書いたものをほぼそのままセミコロンレスJavaとして書くことができるのです. StreamAPIで書いたものを使えるということはループを読みやすい形でセミコロンレスJavaでも書くことが出来ます. セミコロンレスJavaについてはなぎせさんの記事を参照してください. http://d.hatena.ne.jp/Nagise/20120407/1333767870 また,StreamAPIを使わないJava8時代のセミコロンレスJavaもなぎせさんが既に書かれているのでそちらを参照してください. http://d.hatena.ne.jp/Nagise/

    セミコロンレスJavaはJava8の夢を見るか? - きつねとJava!
  • JDK 8、TLS 1.2がデフォルトに

    Javaの通信暗号化もTSL 1.2に。基的に後方互換性は維持するが、一部影響がある場合もあるという。 米オラクルは、2014年3月に正式リリースを予定している「Java Development Kit(JDK)8」の通信暗号化プロトコルはTLS 1.2がデフォルトになると発表した。業界でTLS 1.2をサポートする動きが広がる中、デフォルトをアップデートすべき時だと判断した。 オラクルの2014年1月28日のブログによると、TLS 1.2は2011年にJDK 7でサポートを追加したものの、互換性上の理由からサーバーソケットではデフォルトで有効に、クライアントでは無効になっていた。しかし、その後の進歩で相互運用上の問題が解消されたという。 JDK 8でTLS 1.2をデフォルトとする理由は2つあり、1つはTLSの後方互換性を挙げている。デフォルトが1.2になっても、1.1や1.0を使って

    JDK 8、TLS 1.2がデフォルトに
  • Stream APIの主なメソッドと処理結果のOptionalクラスの使い方

    連載目次 前回の「ラムダ式で領を発揮する関数型インターフェースとStream APIの基礎知識」では、ラムダ式を使うことで領を発揮する汎用的な関数型インターフェースとStream APIの概要を見てきました。 今回は、前回に引き続きStream APIについて見ていき、主なメソッドとその使い方を学んでいきましょう。 Streamの生成 Stream APIを使うには、Streamのインスタンスを生成しなければいけません。まずは、そのStreamインスタンスを生成する方法を見ていきましょう。 配列やCollectionなどからのStreamの生成 Streamは配列やCollectionなどから作成可能です。まずは配列やCollectionからStreamのインスタンスを生成する主なメソッドを見てみましょう。下記のものが主なメソッドです。 呼び出し元クラス/インターフェース メソッド 概

    Stream APIの主なメソッドと処理結果のOptionalクラスの使い方
  • Stream APIの特殊なメソッドとメソッド参照/コンストラクター参照

    連載目次 前回の「Stream APIの主なメソッドと処理結果のOptionalクラスの使い方」では、Stream APIの持つ主なメソッドについて見てきました。今回は前回の記事では紹介できなかったStream APIのメソッドと、ラムダ式と関係が深い「メソッド参照」「コンストラクター参照」について見ていきます。 Stream APIには前回の記事で紹介したもの以外にもさまざまなものが用意されています。今回はStream APIの中でも使う際に注意をする必要があるメソッドを紹介します。 またJava 8では、ラムダ式とともにメソッドの呼び出しやコンストラクターの呼び出しを簡易化したメソッド参照やコンストラクター参照の表記法を導入しました。これらはラムダ式と同様に「関数型インターフェース」を引数として持つメソッドで使われる表記法です。 指定した要素を作成してStreamを生成するgenera

    Stream APIの特殊なメソッドとメソッド参照/コンストラクター参照
    tarchan
    tarchan 2014/07/30
    え?>Optional<BigDecimal> parallelResult1 = list.stream()
  • Java日付時刻APIメモ(Hishidama's Java8 Date and Time API Memo)

    概要 JDK1.8で新しい日付時刻API(Date and Time API)(java.timeパッケージ)が導入された。 これまで日付時刻に使っていたjava.util.Date・java.util.Calendarやjava.text.SimpleDateFormatとは全くの別物。 新APIでは従来のDateやCalendarは一切出てこない。 新旧APIの対比 内容 説明 値の保持 旧

  • 第七回 #渋谷java に行ってきました - たけぞう瀕死ブログ

    弊社オフィスにて@seri_kさんの主催で月一回程度の頻度で開催されている #渋谷java という勉強会に行ってきました。今回が第七回目の開催となります。 http://shibuya-java.connpass.com/event/7060/ 実は@seri_kさんは先月で弊社を退職されてしまったのですが、 #渋谷java の開催は続けてくださるそうですw 以下、個人的に気になったセッションについてまとめておきます。 Date and Time API におけるタイムゾーンの扱い @btnrougeこと蓮沼さんのセッション。TimeZoneとOffsetの使い分け方について説明されていました。 個人的にはもちろんZonedDateTimeとOffsetDateTimeの違いは理解はしていたのですが、使い分けはさほど意識したことなかったので(ZonedDateTimeなら夏時間をいい感じに

    第七回 #渋谷java に行ってきました - たけぞう瀕死ブログ
  • Java8 日付時刻APIを試してみた - ひしだまの変更履歴

    ひしだまHPの更新履歴。 主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲーム音楽です。 前回までのあらすじ ジャバ八村でStreamを手に入れた俺たちは、次の目的であるDate and Time APIを探し始めた。 という訳で、Java8のStream(やラムダ式・メソッド参照)と並んでもうひとつの目玉である日付時刻APIを試してみた。 (軽く見るだけのつもりが、3連休をほとんど全部使ってしまったorz) 細かいことをやりだすともっと調べないといけなさそうだが(Clockの使い方とか、これで合ってるんだろうか?)、基的な使い方はとりあえず充分かな。 DateTimeFormatterも、評判どおりSimpleDateFormatより便利そうだし、速度も速そう。 まぁともかく、Java8で事前に調べたいと思っていたところはだいたい終わった。 日付時刻API

    Java8 日付時刻APIを試してみた - ひしだまの変更履歴
  • Java8のStreamを使いこなす - きしだのHatena

    さて、Java8で関数型っぽいことをやって遊んでみたわけですが、実際はそんな書き方しませんよね。 Java8で実際に使うのは、Streamです。 ということで、Streamの使い方をひととおり見てみます。 ※5/17 仕様変更があったので、修正しました 基 まずは、Iterableインタフェースに用意されたforEachメソッドを見てみましょう。 List<String> names = Arrays.asList("hoge hoge", "foo bar", "naoki", "kishida"); names.forEach(s -> System.out.println(s)); これで次のように表示されます。 hoge hoge foo bar naoki kishida いままでの拡張forだと次のように書いてました List<String> names = Arrays.a

    Java8のStreamを使いこなす - きしだのHatena
  • Java8のStreamの目的と書きやすさや可読性、並行処理の効果について - きしだのHatena

    さて、前回Java8のStreamの使い方をざっと見てみたのですけど、はてなブックマークのコメントで「Javaが使われている領域でこんな言語拡張は必要か」「可読性が損なわれていて単なる自己満足ではないか」のようなコメントがついていました。 実際どうなのか考えてみます。 Java8のStreamの目的 では、いまJavaが使われている領域を考えてみましょう。 Javaがいまよく使われているのは、クライアントサイドではなくサーバーサイドです。とくに、直接アクセスをうけつけるサーバーではなく、分散データ処理のためのHadoopやHBase、全文検索エンジンのLuceneなど、バックエンド処理を行う製品のシェアが大きいように見えます。 TwitterGoogleでも、Javaで書かれたバックエンドが動いているようです。Facebookも分析系ではJavaを使っているようです。 大手サービスでバッ

    Java8のStreamの目的と書きやすさや可読性、並行処理の効果について - きしだのHatena
  • JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena

    夏のJAWS-UG 三都物語 2014というイベントで「そろそろJavaみなおしてもええんやで」というプレゼンしてきました。 Javaのイベントではなかったので、Javaを使ってない人を想定したプレゼンでしたが、実際会場のほとんどがJavaメインではなかったようです。 for(int num : nums){ if(num > 10) continue; sum += num * 2; } というコードが、NetBeansの「関数操作を使用」というリファクタリングで sum = nums.stream().filter((num) -> !(num > 10)).map((num) -> num * 2).reduce(sum, Integer::sum); になったところがハイライト。 ここまでできるとは思ってなかった。 そろそろJavaみなおしてもええんやで from なおき きしだ

    JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena
  • [#GRADLE-3023] Scala plugin does not work in Java 8 RC

  • Java 8 & 機械学習の視点でみる Spark 1.0 リリース - ALBERT Engineering Blog

    はじめに さる 5/30、今か今かと待ち望まれていた Spark 1.0 が 遂にリリース されましたね! その前日 5/29 には都内で 実際のところ Spark ソースコードリーディング だった Hadoop ソースコードリーディング #16 が開催されるなど、 Spark についての注目度が俄然高まってきているように思えます。 そんなわけで、0.9.1 からの変更点や機能追加について、Java機械学習に携わるエンジニアの視点で 今回の 1.0 リリース内容をまとめてみました! 何が変わったのか? Spark : Java 8 のラムダ式サポート Java エンジニア的に今回の一番の変更点は、何と言っても Java 8 のラムダ式への対応、ですね。 今年 3 月の Java 8 正式リリース後、主に Stream API の周辺においてラムダ式を書く機会が徐々に増えつつあるかと思い

    tarchan
    tarchan 2014/07/10
    >ラムダ式サポートによって JavaRDDLike などのインタフェースが変更されており、0.9.1 までの Spark アプリケーションが 1.0 ではコンパイルエラーとなることがあります
  • Java 8対応の「Eclipse 4.4 Luna」がリリース。日本語化プラグインPleadesと日本語版ディストリビューションも公開

    毎年6月にEclipse体や関連プラグインなどがまとまって一斉にバージョンアップを宣言するEclipseのRelease Trainが今年も行われ、Eclipse 4.4、コード名Lunaがリリースされました。 Eclipse 4.4 Lunaの最大の目玉は3月に登場したJava 8への対応です。 ラムダ式や新しい日時APIなどのJava 8の新機能に対して、Eclipseのコードフォーマット、クイックアシスト、リファクタリング機能、コンパイラなど包括的に対応しています。そのほかの新機能は、OSGi R6サポート、Workbench UIでダークテーマの追加などの改善、PHP開発ツールパッケージのアップデートなど。 Eclipseの日語化プラグインおよび日語版ディストリビューションのPleadesも、すでにEclipse 4.4 Luna対応リリースを行っています。 Pleadesは

    Java 8対応の「Eclipse 4.4 Luna」がリリース。日本語化プラグインPleadesと日本語版ディストリビューションも公開