タグ

java8に関するkimutanskのブックマーク (17)

  • Java EEアプリケーションサーバの開発現場で見たJava SEの実際

    Oracle DatabaseWorld の全セッション動画が日語字幕付きにて視聴いただけます。自然言語による問合せ、AIベクトル検索、True Cache, JSON Duality, OCI GoldenGate Stream, GoldenGate 23ai, SQL Firewall, 23aiの高可用性、など様々なトピックを扱っています。

    kimutansk
    kimutansk 2015/04/28
    バイトコード操作ライブラリのJava8対応バージョンは重要ですね。Metaspaceは一部のGC周りログに出ると。オプションやコマンドでの確認は参考になります。
  • Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena

    Java Day Tokyo 2015で、NECJava SEバージョンアップでのトラブルの話が面白かった。 Java EEアプリケーションサーバの開発現場で見たJava SEの実際 資料はこちらで公開されてるので、資料に書かれてることはそちら参照という感じで、どんな話だったか書いてみます。 Java Day Tokyo 2015 アプリケーションサーバーを提供する中でJava SEをバージョンアップしたときに出て来たさまざまなトラブルの話と、Java SE 8から導入されたMetaspaceの話が主でした。 Java EEは機能が標準化されているので、アプリケーションサーバーはカスタマーサポートで差別化をはかるしかない、顧客から見ると、Java SEやOSまで全て含めてアプリケーションサーバーなので、全部対応していく、という話をされていました。 Javaにもそれなりにバグはあって、アプ

    Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena
    kimutansk
    kimutansk 2015/04/28
    ラムダ配備不可、ロガーインスタンスすり変わり、getLoggerがnull返す、どれも面白い事象です。
  • ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)

    メリット1: 複数人による共同作業 メリット2: ウェブサービスへのコミット デメリット1: サーバー負荷 デメリット2: コードを共有しない貢献がしにくい

    ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
    kimutansk
    kimutansk 2015/04/13
    主な要素はそろっているのでいいですね。Java8、Stream APIの静的解析とかがいつフル対応しますかねぇ。
  • java.util.function以下の関数インターフェース使い方メモ - Qiita

    package java8sample; import java.util.function.Function; public class Java8Sample { public static void main(String[] args) { Function<String, String> wrapDoubleQuotation = str -> "\"" + str + "\""; Function<String, String> wrapSingleQuotation = str -> "'" + str + "'"; Function<String, String> wrapDoubleAndSingleQuotation = wrapDoubleQuotation.compose(wrapSingleQuotation); String result = wrapDoubl

    java.util.function以下の関数インターフェース使い方メモ - Qiita
    kimutansk
    kimutansk 2015/03/17
    このあたり、素では思い出せないことが多いんですよね。
  • LINQ to Objects と Java8-Stream API の対応表

    Java8 で filter や map が使えるようになったー! というわけで .NET の LINQ to Objects との対応表を作ってみました。 2018.2.7 - Kotlin も追記しました! LINQ - Enumerable クラス (System.Linq) Java8 - Stream (Java Platform SE 8 ) Kotlin - kotlin.collections, kotlin.sequences らへん の比較です。 kotlin.collections は遅延ではないので注意です。 Java の方は Collectors (Java Platform SE 8 ) も使います。 まだ試したものは少ないので間違ってるかもしれない & カテゴライズが適当 なので、編集リクエストしてもらえるとありがたいです。 機能 LINQ Java8 Kot

    LINQ to Objects と Java8-Stream API の対応表
    kimutansk
    kimutansk 2015/03/15
    実際やってみると対応するのが何かわからずにはまるのでこれはこれでありがたい所です。
  • Java8 Stream APIの基本(7) - 終端操作2(Stream#collect) - エンタープライズギークス (Enterprise Geeks)

    今回はStream#collectの内部構造の概要を紹介する。 以前の記事では、Streamで加工したデータをList等のデータ構造に変換する際にcollect(Collectors.toList())のようなコードを書いた。 しかしStream#collectはStream APIの汎用的な終端操作であるため、Listだけでなく様々なデータ構造への変換が可能である。 可変リダクション操作とは Stream#collect および、今回解説するCollectorのJavadocには、「可変リダクション操作(mutable reduction operation)」という言葉が登場するので、ここで簡単に説明しておく。 「リダクション操作」とは、一連の要素に特定の演算を適用して1つにまとめる操作である。 たとえば、数値のリストの合計値を求める処理は、数値リストに要素同士の加算という演算を適用し

    Java8 Stream APIの基本(7) - 終端操作2(Stream#collect) - エンタープライズギークス (Enterprise Geeks)
    kimutansk
    kimutansk 2015/03/10
    supplier/accumlator/combiner/finisherを意識してると内部動作がわかるのでそのあたりは重要そうですね。
  • Stream APIの特殊なメソッドとメソッド参照/コンストラクター参照

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

    Stream APIの特殊なメソッドとメソッド参照/コンストラクター参照
    kimutansk
    kimutansk 2015/03/10
    accumulatorの加算メソッドの返り値がその値自体になっていないとreduceは動作しないのが肝ですか。なのでコレクション系はcollectを使うという。
  • 至極のJavaクイズ 総集編

    Monitoring Casual Talks #7 #monitoringcasual ここ 4 年ぐらいのモニタリング系の OSS/SaaS を列挙してみました。太字は気になってるやつです。 ※このスライドは個人の見解であり、所属する組織の公式見解でも組織を代表するものでもありません※

    至極のJavaクイズ 総集編
    kimutansk
    kimutansk 2015/02/28
    めったに遭遇しないけど、遭遇した場合に知っていると役に立つ知識、といった感じではありますねぇ。こういうのに遭遇しないように作るのが最善ではありますが。
  • Java 8 "Optional" ~ これからのnullとの付き合い方 ~ - Qiita

    Java8で新たに追加されたクラスにjava.util.Optionalがあります。 Optionalを使用することで、プログラムの堅牢性を高めたり、煩雑な記述を減らすことが期待されます。 Optionalとは? Optionalは値をラップし、 その値がnullかもしれない ことを表現するクラスです。 使い方 メソッドgetHoge()はnullを返す場合があるとします。 これまでなら次のような感じでnullチェックをしていたと思います。 String hoge = getHoge(); // hogeはnullかも if (hoge != null) { // nullチェック System.out.println(hoge.length()); // hogeがnullじゃないのでlengthメソッドを呼ぶ } nullかもしれない変数hogeのメソッドを呼ぶ場合、事前にnullチェ

    Java 8 "Optional" ~ これからのnullとの付き合い方 ~ - Qiita
    kimutansk
    kimutansk 2014/12/05
    ぱっと説明するには良さそうな感じですね。
  • java.lang.OutOfMemoryError #渋谷java

    PPLサマースクール2016「商用Java処理系の研究開発」のパート2です. http://ppl.jssst.or.jp/index.php?ss2016 Java言語処理系の実装について詳説する.まずJava仮想マシンの概要について述べ,その主要な構成要素として,クラス管理とインタープリタ,ヒープ管理とガベージコレクション,スレッド管理と同期機構,JITコンパイラとの連携,などについて説明する.性能改善のために行った各種手法についても触れる. 他のパート 1 Javaの登場と発展 http://www.slideshare.net/Tamiya_Onodera/java-66081108 2 Java仮想マシンの実装技術 http://www.slideshare.net/KiyokuniKawachiya/java-66003903 3 Java Just-In-Timeコンパイラの

    java.lang.OutOfMemoryError #渋谷java
    kimutansk
    kimutansk 2014/06/01
    発生するトラブルと原因、対応方法のリスト。はまった時のために覚えておきましょう。
  • もしもラムダの中で例外が発生したら(前編) - 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
    kimutansk
    kimutansk 2014/04/15
    これは後半気になりますねぇ。単にロストするだとなかなか厳しい。
  • Java8からはHashMapの性能のためにComparableを実装しておいた方がいい - interprism's blog

    こんにちは、andoです。 ついにJava8がリリースされたのでさっそくインストールしてみました。 Java8になってラムダ式を始め、多くの機能が追加されたのですが、既存機能についても性能改善が行われています。 人気がありそうな新機能の紹介は他の人にお任せして、今回はHashMapの変更点について確認したいと思います。 はたして既存のプログラムはJava8で実行するだけで、その恩恵を享受できるのでしょうか。 java.util.HashMap HashMapといえば使用頻度1、2を争うコレクションクラスでデータの検索、追加がO(1)で行え、 辞書的に使える事から簡易的なDTOやキャッシュ、データベースのレコード構造、さらにはListですむところでさえ数値をキーにして使う兵もいるというくらい良くも悪くも色々使えます。 それが速くなるのであれば、既存のプログラムも速くなるはず、ということでさっ

    Java8からはHashMapの性能のためにComparableを実装しておいた方がいい - interprism's blog
    kimutansk
    kimutansk 2014/04/05
    Hash値が衝突する可能性が高いケースではComparableを実装しておくことで性能の劣化が防げるようになった、と。なるほど。
  • あなたの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
    kimutansk
    kimutansk 2014/03/18
    後編。段々マニアックなものになってきていますが、存在を知っておくことは重要ですね。
  • RxJavaを使ってCallback Hellから脱出する( Java8 ラムダ編 ) - Taste of Tech Topics

    id:KenichiroMurata(@muraken720 )です。 皆さん、RxJava 使っていますか? 前回はVert.xのmod-rxvertxを使い、RxJavaによってCallback Hellから脱出する方法を説明しました。記事は、せっかくなのでJava8のラムダを使ったらさらにどのようになるのか?を試してみた補足記事です。 目次は以下の通りです。 環境 Java8 ラムダによってCallback Hellはいかに解決されたか まとめ 1. 環境 記事で試した環境について説明します。 Vert.x 2.1M1 mod-rxvertx 1.0.0-beta2 RxJava 0.15.1 Java 1.8.0-ea(build 1.8.0-ea-b118) IntelliJ IDEA 13 CE Java8を試すために、IntelliJ IDEA 13 CEを使いました。J

    RxJavaを使ってCallback Hellから脱出する( Java8 ラムダ編 ) - Taste of Tech Topics
    kimutansk
    kimutansk 2013/12/09
    今度はJava8対応版です
  • Java SE 8 で関数合成 - なんとなくな Developer のメモ

    以前 に Groovy や Scala 等で実施した関数合成と同様の処理を Java 8 で試してみました。 Java SE 8 EA b102 (現時点の最新は b104 のようです) サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20130901/ andThen と compose Java 8 では Scala と同様に andThen や compose メソッドを使います。 処理の実行にも apply メソッドを使いますが、Scala のようなメソッド名の省略はできません。 なお、andThen・compose メソッドは java.util.function.Function インターフェース等にデフォルト実装されています。 ComposeSample.java import java.util.fu

    Java SE 8 で関数合成 - なんとなくな Developer のメモ
  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

    CPUのクロックアップに限界が訪れ、マルチコア化することで処理性能向上を目指す時代になりました。これからのプログラマには、マルチコアで処理性能が向上するプログラム=マルチスレッドで並列処理が可能なプログラムを書く能力が必要になります。今回は「関数型」でプログラムを書くことによって、いとも簡単に並列化ができることを実例を元に解説します。 関数型プログラミングと並列処理 「関数型でプログラムを書くことで簡単に並列化できる」と書きましたが、そもそもここで言う「関数」とは何なのでしょうか? 関数型プログラミングの特徴 関数型プログラミングの「関数」を理解するためには、数学における「関数」を想像するとわかりやすいでしょう。 例えば三角関数を用いた y=cos(x) という式を考えてみます。この式に入力値 x=0 を与えた場合、いつでも必ず結果は y=1 になります。x= π/3 の場合は y =

    kimutansk
    kimutansk 2013/08/12
    これは丁寧に書いてありますね・・・ そして次回がScalaとClojureということで楽しみです。個人的にはJavaは7を最後にScala/Clojureに乗り換えたいところではありますがw
  • Java 8は関数型なのか

    ITproの読者には既にご存じの方も多いと思うが、2014年3月に「Java SE」の次期版「Java SE 8」(以下、Java 8)がリリース予定である。国内のエンタープライズ分野では「レガシーJava」が多いとされ、現行版の「Java SE 7」に移行しているユーザーすら少数派と聞く。Java 8といっても遠い話のように感じる方も多いかもしれない。 しかし、Java 8はJavaにとって一つの大きなマイルストーンとなる。関数型プログラミングに由来する「ラムダ(lambda)式」なる構文が導入されるのだ。 Javaをよく知る技術者の方の中には、「いや、Java 8のラムダ式は関数型プログラミングのために導入されたのではない」と主張される方がいるだろう。この点については後ほど触れたいと思うが、「ラムダ式が何のために導入されたか」はさておき、ラムダ式という記法そのものが「関数型に由来する」

    Java 8は関数型なのか
    kimutansk
    kimutansk 2013/07/18
    裏話についてはなるほど、という感じです。今はまだまだ序章に過ぎないと。
  • 1