タグ

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

タグの絞り込みを解除

java8に関するhs_hachiのブックマーク (8)

  • Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して

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

    Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して
  • Java 8 の CompletableFuture が Scala の Future 並に使えそうな件

    一ヶ月ほどまえに Java 8 がリリースされました。ラムダも入ったことだし、お試しがてらゴールデンウィーク中に asterisque* の Scala コードの一部を Java で書き換える作業などを行っております。 ただまぁ asterisque* は非同期 RPC フレームワークですので、ラムダだけでなく Scala の Promise, Future もあちこちで使っています。うーんこいつらの互換性どうしようかなーと悩んでいたところ Java 8 に CompletableFuture というクラスが追加されいるのに気づきました。ざっと API リファレンスを読む限り以下のような特徴があります。 Scala の Future と同様に非同期処理間で成功 (計算結果) または失敗 (例外) を渡すことが出来る。 複数の処理スレッドで共有することも想定していて、早い者勝ちで結果を出すよ

    Java 8 の CompletableFuture が Scala の Future 並に使えそうな件
  • iteratorや拡張forよりStreamのforEachが速い? - きしだのHatena

    ちょっと気になったので、簡単にベンチマークしてみました。 最初は、ラムダ呼び出しが入る分forEachは遅いんじゃないかと思っていたら、倍の速さに。 もちろん、いろんな条件で変わるんだろうけど、ここまで差が出ることがあるのは驚き。 あと、Collectors.summingIntのような基型に対するCollectorを使うよりは、intStreamに変換してからsumなど専用メソッドを使うほうが圧倒的に速いことも確認できた。 とりあえず、0から10万件のListを用意。 array = IntStream.range(0, 100_000).boxed().collect(Collectors.toList()); それからベンチマーク用のメソッドを用意。 public static void bench(String name, Supplier<Integer> proc){ ben

    iteratorや拡張forよりStreamのforEachが速い? - きしだのHatena
  • 社内Java8勉強会 ラムダ式とストリームAPI

    先週Java8がリリースされましたが、さっそく社内での開発でも使うことになりそうです。 というわけで、Java8の目玉機能であるラムダ式とストリームAPIについて、社内勉強会を開催しました。 普段の社内勉強会よりも参加者数が多くて、みんなの関心の高さが伺えますね。

  • Java 8 Tutorial - winterbe

    Java is still not dead—and people are starting to figure that out.” Welcome to my introduction to Java 8. This tutorial guides you step by step through all new language features. Backed by short and simple code samples you’ll learn how to use default interface methods, lambda expressions, method references and repeatable annotations. At the end of the article you’ll be familiar with the most rece

  • あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(後編) - Taste of Tech Topics

    こんにちは。 アキバです。 日3/18、ついに、Java8が正式リリースされますね! もうダウンロードされましたか?ってまだですかね?私はまだです(だって公開前にエントリ書いてるんだもんね) 2014/03/19追記:Oracleのページが更新されました!→こちら さて、前回に続いて、Java8で追加された地味で便利なAPIを紹介していきます。 今回は、みんな大好きMapとConcurrent、あとちょびっとComparatorです。 3. Map操作編 (1) Map#getOrDefault() これまでは、Mapから値を取得してnullだったらデフォルト値を使用する、みたいなコードを以下のように書いていたと思います。 Map<String, String> map; // 何らかのMap String value = map.get("key"); if (value == nul

    あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(後編) - Taste of Tech Topics
  • あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(前編) - Taste of Tech Topics

    こんにちは! アキバです。 ...T3ブログは初登場かもしれません。ハジメマシテ。 以後お見知りおきを。 いよいよ、2014年3月、Java8が正式公開されますね。 なんと言っても、Java8の注目機能はラムダ式ですので、ラムダ式や型推論に関する記事は多いです。 世の中で「Java8」と検索すると、皆さんいろいろと記事を書かれているので、おおよその事はこれで分かっちゃうような気がします。 が、 実は地味に便利なAPIが追加されていたりすることを最近知りました。 これはあまり触れられていないぞ、と。 というわけで、このエントリでは、あまり日語で情報の無い、しかし地味に便利なAPIに実際に触れてみます。 大事なところなので2回強調して書いてみました。 今回は、前編として4つ紹介します。 ※APIの紹介と言いつつ、コードにはラムダ式を使ったコードが普通に出てるので、ご了承ください。 (むしろ、

    あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(前編) - Taste of Tech Topics
  • 詳解 Java SE 8 第1回 Java SE 8概説

    今回から、Java SE 8について紹介していきます。1回目の今回は、Java SE 8の成り立ちや、主な新機能について紹介します。 Java SE 8の成り立ち Java SE 8の成り立ちについて紹介するには、まずJava SE 7について言及しなければなりません。というのも、Java SE 8の主要な機能はもともとJava SE 7で導入される予定だったからです。 しかし、Java SE 7のリリースは遅れに遅れていたのです。特にProject LambdaとProject Jigsawはなかなか議論が収束せず、いつ合意に達するか全く読めない状況でした。 そこで、2010年9月にJava SEのチーフアーキテクトのMark Reinhold氏がblogで2つの案を提示したのです。 Plan A: すべてを含んだJava SE 7を2012年中旬にリリース Plan B: Projec

    詳解 Java SE 8 第1回 Java SE 8概説
  • 1