タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

javaとjava8に関するbopperjpのブックマーク (7)

  • Java8 Stream の裏舞台は、きっとあなたが考えているより忙しない - A Memorandum

    Java9 も出た昨今でいまさらですが、Stream パイプラインが裏でどのように動いているのかをコードを交えて紹介します。 以下の単純な例を元に、内部処理を追っていきましょう。 Arrays.asList("a", "b", "c") .stream() // (1) Stream の生成 .filter(String::isEmpty) // (2) パイプライン .forEach(System.out::print); // (3) 終端処理 (1) Stream の生成 (2) パイプライン (3) 終端処理 まとめ (1) Stream の生成 最初はストリームを取得する stream() の中身から見ていきます。 stream() は Collection インターフェースのデフォルトメソッドとして以下のように定義されています。 public interface Collect

    Java8 Stream の裏舞台は、きっとあなたが考えているより忙しない - A Memorandum
  • Date and Time API 復習 - Qiita

    【Date and Time APIJava 8徹底再入門【ラムダ式ハンズオン】(大阪,7/11) - connpass で Date and Time API について学んだので復習。 ラムダはハンズオン形式で実際に手を動かせていたけれど、 Date and Time API の方は講義形式だったので、話を聞いて気になったところとかを実際に触ってみる。 要点整理 Date and Time API (JSR310)は ISO 8601 をモデリングして作られたもの。 ISO 8601 は、コンピュータ間でデータのやりとりをする際の、日付と時刻の書式に関する国際規格。 ISO 8601 について知らないと、 Date and Time API を正しく扱えないことがある。 といっても、 ISO 8601 について知っておくべきことは、そんなに多くない。 発表スライドに挙げられている表記法

    Date and Time API 復習 - Qiita
    bopperjp
    bopperjp 2017/12/06
    これが一番わかりやすそう
  • (o1, o2) -> o1 - o2 なんて呪文はもうやめて! - Java8でのComparatorの使い方 - Qiita

    (o1, o2) -> o1 - o2 なんて呪文はもうやめて! - Java8でのComparatorの使い方Javajava8

    (o1, o2) -> o1 - o2 なんて呪文はもうやめて! - Java8でのComparatorの使い方 - Qiita
    bopperjp
    bopperjp 2017/11/27
    Comparator のデフォルトメソッドでわかりやすく表記する
  • Javaにおける動的Mixin - Qiita

    黒魔術(バイトコードをいじること)なしに、Javaで動的にMixinします。 Background ミドルウェアパターンの実装などにおいて、とあるミドルウェアを追加したら、リクエストオブジェクトにメソッドを追加したい、ということがあります。 これを多重継承のできないJavaで実現しようとすると、最終的に必要となるメソッドを全部実装したクラス(またはその親子関係)が必要になります。 必要なメソッドだけ、必要なときに足したいですよね。Mixin! Mixin! インタフェースのデフォルト実装 JavaでMixinを実装したいと思っていた人たちには、Java8でインタフェースにデフォルト実装を持てるようになったのは歓迎すべき出来事だったようです。 Java8のインタフェース実装から多重継承とMixinを考える Java8でmixinをがんばってみる - yojikのlog こんな感じのデフォルト

    Javaにおける動的Mixin - Qiita
  • java

    Synopsis java [options] classname [args] java [options] -jar filename [args] options Command-line options separated by spaces. See Options. classname The name of the class to be launched. filename The name of the Java Archive (JAR) file to be called. Used only with the -jar option. args The arguments passed to the main() method separated by spaces. Description The java command starts a Java applic

    bopperjp
    bopperjp 2016/02/22
    オプションとデフォルト値
  • Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して

    今回も前回の記事につづき、Java8による変更点で未だあまり紹介されていないポイントを記事にしようと思う。 今回はJava8のHotSpotVMの話。Java8ではJEP122が取り込まれ、VMのメモリモデルが変更された。JEP122のタイトル「Remove the Permanent Generation」から想像できるとおり、Java8のHotSpotVMからは従来のPermanent領域が無くなった。 なぜ、こういった変更が行われたのだろうか?また、元々Permanent領域に格納されていた情報は何処にいってしまったのか?JVM付属のツールにどういった影響があるのか? 今回の記事ではこの点をまとめていこうと思う。 なお、HotSpotVMのメモリモデルについて詳しくない方は、先にこちらの項番(「補足 – HotSpotVMのメモリ構造概説)を読んでいただくとスムーズに読み進められるだ

    Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して
    bopperjp
    bopperjp 2016/02/22
    metaspace領域は、ヒープ外に確保されて、MaxMetaspaceSize で設定しないと容量制限なし。
  • もしもラムダの中で例外が発生したら(前編) - 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
  • 1