例えば H2 database を以下のように起動するとめっぽう遅い java -cp h2.jar org.h2.tools.Server H2 database に限らず、Tomcat だったり Logback だったり、あらゆるものが遅い 以下にあるように InetAddress.getLocalHost() から呼ばれる DNS Lookup に原因があるようだ plumbr.eu こことか thoeni.io こことか stackoverflow.com ワークアラウンド /etc/hosts にホスト名を指定 ホスト名が MacBook-Pro の場合は以下のような感じ 127.0.0.1 localhost MacBook-Pro.local ::1 localhost MacBook-Pro.local ホスト名自体は「システム環境設定」の「共有」にあるコンピュータ名で設定
リストからマップを作る時に使う以下のコード Map<String, String> phoneBook = people.stream() .collect(Collectors.toMap(Person::getName, Person::getAddress); なつかしい以下のコードとは挙動が異なります。 Map<String, String> phoneBook = new HashMap<>(); for (Person p : people) { phoneBook.put(p.getName(), p.getAddress()); } Collectors.toMap() の場合は、キー つまり Person.getName() に重複がある場合は IllegalStateException になります。 昔ながらの Map の操作の延長で考えると、新しいもので上書きされると
はじめに Java8の新機能、Stream APIを使い始めてコーディングが格段に楽になりました。 備忘録的にサンプルコードを書き出してみました。少しずつ追加していく予定です。 Javaは使ったことあるけどラムダ式やStream APIはよく知らないという方は、参考にしてみてください。 バリバリ使っている方は、こんな使い方もあるよ!と教えていただけると嬉しいです。 ちなみにオライリー社のJavaによる関数型プログラミング ―Java 8ラムダ式とStreamがとても参考になりました。 【前提条件】Stream APIの説明に使用するオブジェクト public class Person { private String name; private int age; private List<Person> children; public Person(String name){/*...*
Iterator から Stream を得る 配列から Stream を得る Enumeration から Stream を得る 文字列を split した結果から Stream を得る 乱数 Stream を得る 数列の無限 Stream を得る org.w3c.dom.NodeList からStreamを得る ソート済みの Stream を得る Iterator から Stream を得る Iterable に変換してから Stream を得ることができます。 Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Iterable<String> iterable = () -> sourceIterator; Stream<String> targetStream = StreamSupp
結論 Java8のOptionalは超すっきり扱えるよ、そう、Groovyならね。 Optionalって何? Java 8で導入される新規クラスの一つ、java.util.Optionalは、メソッドの実行結果で成功する場合と失敗する場合があるときに、その返り値で成功と失敗を表現するためのものです。 Opitonalは単一要素を保持するコンテナ型。成功した場合は返り値をコンテナで保持させたものを返す。(成功時の返り値をラッピングする) 「失敗」は固定のシングルトン(Optional.empty())として扱う まあ、それだけの話といえばそれだけなのですが、効果は、 失敗のある可能性のあるメソッドと無いメソッドをコメントではなくプログラムの一部として明示し、両者の違いをコーディング上も区別する 失敗のある可能性のあるメソッドと無い混在・混同することのないようにコンパイル時チェックをできるよう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く