並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 619件

新着順 人気順

java8の検索結果1 - 40 件 / 619件

  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

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

    • 「Oracle Java」のライセンスが変更 ~無償利用は個人での開発・テスト・デモ目的のみに/「Java 8」の無償アップデートは新ライセンス下で少なくとも2020年終わりまで継続

        「Oracle Java」のライセンスが変更 ~無償利用は個人での開発・テスト・デモ目的のみに/「Java 8」の無償アップデートは新ライセンス下で少なくとも2020年終わりまで継続
      • 社内Java8勉強会 ラムダ式とストリームAPI

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

        • Java8日付時刻APIの使いづらさと凄さ - きしだのHatena

          いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし

            Java8日付時刻APIの使いづらさと凄さ - きしだのHatena
          • Java 8とScala ‐アプローチの違いと相互イノベーション | POSTD

            ScalaとJava 8に関する プレゼンテーション が、他の似た内容のものよりも多くリツイートされ、大変うれしく思います。だから、こうして皆さんにブログでも書いてお伝えすることにしました。ScalaとJavaとの違いと、それぞれの重要性についてお話しします。両者は相互にイノベーションしています。言語間でお互いに取り入れています。では、Javaが使える場合であっても、Scalaを学ぶ必要があるのでしょうか? もちろんです。より多くの言語を知れば知るほど、あなたはさらにプロフェッショナルになっていきます。 もし、ScalaエンジニアにScalaとJavaとの基本的な違いについて尋ねたとしても、おそらくその人はラムダ関数とトレイトに関する違いを全て言うことはないでしょう。代わりに次のような例を出すはずです。 public class Person { private String firstN

              Java 8とScala ‐アプローチの違いと相互イノベーション | POSTD
            • 10のJava9で変わるJava8の嫌なとこ!

              Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4bitter_fox

                10のJava9で変わるJava8の嫌なとこ!
              • Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して

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

                  Java8のHotSpotVMからPermanent領域が消えた理由とその影響 | ギークを目指して
                • AWSが独自のOpenJDK「Amazon Corretto」発表。AWS内部で使っていたJavaを外部提供へ。Java 8は2023年まで、Java 11は2024年まで無償でLTSを提供

                  AWSが独自のOpenJDK「Amazon Corretto」発表。AWS内部で使っていたJavaを外部提供へ。Java 8は2023年まで、Java 11は2024年まで無償でLTSを提供 Amazon Web Services(AWS)は、OpenJDKのディストリビューション「Amazon Corretto」を発表しました。 Introducing Amazon Corretto – No-cost, multiplatform, production-ready distribution of OpenJDK! #corretto @Devoxx https://t.co/IFgyCXclRr pic.twitter.com/nIW5M6CIMX — AWS Open Source (@AWSOpen) 2018年11月14日 CorrettoはJavaでLTSが提供される2つのバ

                    AWSが独自のOpenJDK「Amazon Corretto」発表。AWS内部で使っていたJavaを外部提供へ。Java 8は2023年まで、Java 11は2024年まで無償でLTSを提供
                  • 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で最もインパクトのある構文拡張、デフォルトメソッド - きしだのHatena

                      Java8でのラムダの使い方などを説明してきたのですが、構文拡張自体には触れていなかったので、改めてここで簡単に説明しておこうと思います。 まずは、Java8で実際に最もインパクトがある言語拡張、インタフェースのデフォルトメソッドです。 デフォルトメソッドとデフォルト実装 いままでインタフェースには実装をもつことができませんでしたが、Java 8からはインタフェースが実装をもてるようになります。 実装をもつメソッドを定義するときには、キーワードdefaultをメソッドの前につけます。 interface Foo{ void print(String s); default void twice(String s){ print(s); print(s); } } twiceメソッドが実装をもっています。この実装をデフォルト実装といいます。 デフォルトメソッドを実装するクラスで、デフォルトメ

                        Java8で最もインパクトのある構文拡張、デフォルトメソッド - きしだのHatena
                      • Java 8を関数型っぽく使うためのおまじない - きしだのHatena

                        やあ、3月に延期になったとはいえ、Java 8リリースが具体化してきましたね。 もうこれで、Lambdaがはずれるとかいうことはなさそうです。 ところで、Java 8で関数型っぽいことができるようになってうれしいのですが、ちょっと記述が冗長です。ということで、短く書けるおまじない考えてみました。 Function型 さて、まずはJava 8で標準で入ったFunction型をみてみましょう。パッケージ名まで含めるとjava.util.funciton.Functionです。 こんな感じで使います。 Function<String, String> enclose = s -> "[" + s + "]"; Genericsでの型指定の最初が引数、あとが戻り値の型です。ここではStringをとってStringを返す関数としてencloseを定義しています。 これを呼び出そうとすると、こんな感じ

                          Java 8を関数型っぽく使うためのおまじない - きしだのHatena
                        • Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ

                          一般的な Web Application Server *1 を Java8 で動かすにあたって,最近有効にしている起動オプションについてメモ. 何か間違っていたり,あるいは「こっちの方が良い」みたいなのがあれば教えて下さい. -server server mode で起動させる (指定しないと client mode になる可能性がある,マシンスペックによってスイッチする?). -Djava.net.preferIPv4Stack=true If IPv6 is available on the operating system the underlying native socket will be an IPv6 socket. This allows Java(tm) applications to connect too, and accept connections from,

                            Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ
                          • [速報]Java 8が正式公開。ラムダ式、新しい日時API、JavaFX8など。NetBeans 8.0も登場

                            [速報]Java 8が正式公開。ラムダ式、新しい日時API、JavaFX8など。NetBeans 8.0も登場 米オラクルは3月18日(日本時間3月19日早朝)、Javaの最新バージョンとなるJava 8を正式に公開しました。 #Java8 Now Available http://t.co/QymKlAtp99 — Java (@java) 2014, 3月 18 Java 8は当初はラムダ式を実現するProject Lambda、JDKをモジュラー構造にするProject Jigsawなどが主要な機能となる予定でしたが、Project Jigsawの実装はJava 9へ持ち越すことになったため、Java 8ではラムダ式が最大の新機能となりました。そのほか新しい日時API、JavaFX8なども含まれています。 Java 8に対応した統合開発ツールのNetBeans 8.0も公開されていま

                              [速報]Java 8が正式公開。ラムダ式、新しい日時API、JavaFX8など。NetBeans 8.0も登場
                            • Java8には型推論があるので型指定不要で変数が使えますよ - きしだのHatena

                              Javaプログラマのみなさんは、Javaは型推論がないから変数の型指定をしなくていけなくてダサい、などとイジメられた経験があると思います。 おかあさんに型推論をねだるとGroovyをわたされたり、おとうさんに型推論をねだるとScalaがやってきたり、プレステが欲しいって言ったのにWiiやXboxを買い渡される感を味わった人も多いのではないでしょうか。 そんな良い子のJavaプログラマのために、今年はサンタが素敵なプレゼントを持ってきてくれましたよ。 同じ型を書くのがダサい たとえばウィンドウを出してボタンを押したらメッセージが表示されるサンプルを書くとこんな感じになりますね。 public static void main(String... args){ JFrame f = new JFrame("テスト"); JButton b = new JButton("押して"); JText

                                Java8には型推論があるので型指定不要で変数が使えますよ - きしだのHatena
                              • Java8で強化されたMapと、書きやすくなったメモ化再帰 - きしだのHatena

                                Java8のlambda構文の話を書くと、旧来の書き方でいいというコメントがつくのですが、それでも便利になったMapの恩恵を受けることは多いんじゃないかと思います。 ※ 2018/5/31 Java9からはメモ化再帰には使えなくなっています ※ 2019/2/15 なんか問題ない? Mapには、lambda式を使ったメソッドが多く追加されていますが、たとえばgetOrDefaultメソッドのようなlambda式を使わないメソッドも追加されていて、これも便利です。 そして、このようなlambda式を使わないメソッドも、間接的にはlambda構文サポートでの言語拡張のおかげです。 Mapはインタフェースなので、Java7までの構文でメソッドを追加しようとすると、Mapを実装しているすべてのクラスに新しいメソッドの実装を追加する必要がありました。そしてそれは現実的に不可能なので、今までMapなど

                                  Java8で強化されたMapと、書きやすくなったメモ化再帰 - きしだのHatena
                                • Java 8のすべて

                                  カリフォルニア州エルセガンドに本拠をおくカスタムアプリケーション開発会社のTechEmpowerが,"Java 8のすべて(Everything about Java 8)" と題するブログ記事を公開している。まもなく来るJava 8において,開発者が直面する変更点を包括的にとりまとめたものだ。ここではその記事の概要を紹介する。詳細な内容についてはTechEmpowerのブログ記事を参照してほしい。 インターフェースの改善 インターフェースでstaticメソッドが定義できるようになった。例えばjava.util.Comparatorには,次のようにstaticなneutralOrderメソッドが追加されている。 public static <T extends Comparable<? super T>> Comparator<T> naturalOrder() { return (Com

                                    Java 8のすべて
                                  • Java8のlambda構文がどのようにクロージャーではないか - きしだのHatena

                                    Java8にlambda構文が入りましたが、これはクロージャーではない、とされています。 では、どのように「クロージャーではない」のか、ちょっと見てみます。 まず、lambdaを返すメソッドを定義します。 public static Supplier<String> createMessenger(String name, String address){ return () -> { return String.format("私は%s、%sに住んでる", name, address); }; } 呼び出すと、こんな感じでSupplierを受け取ります。 Supplier<String> messenger = createMessenger("きしだ", "ふくおか"); このSupplierを実行すると、次のようになります。 System.out.println(messenger.

                                      Java8のlambda構文がどのようにクロージャーではないか - きしだのHatena
                                    • (o1, o2) -> o1 - o2 なんて呪文はもうやめて! - Java8でのComparatorの使い方 - Qiita

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

                                        (o1, o2) -> o1 - o2 なんて呪文はもうやめて! - Java8でのComparatorの使い方 - Qiita
                                      • Java 8時代の開発者のためのデバッグ/トラブル解決の基本・応用テクニック~JJUG CCC 2014 Springまとめリポート(後編)

                                        Java 8時代の開発者のためのデバッグ/トラブル解決の基本・応用テクニック~JJUG CCC 2014 Springまとめリポート(後編)(1/3 ページ) Java開発における3大トラブルと対策、IDEのデバッガー活用の必要性、Java 8より導入された新しいメモリ領域を使いこなすためのテクニック、独自のトランザクショナルメモリ機構を実装した有効性などをお伝えする。 日本Javaユーザーグループは2014年5月18日、「JJUG Cross Community Conference 2014 Spring」を開催した。「JJUG Cross Community Conference」(以下、JJUG CCC)は毎年春と秋に開催されるカンファレンス。初心者向けからエキスパート向けまで、Java/JVMに少しでも関連すればいいという広いテーマでさまざまな講演が行われている。 前編では、「S

                                          Java 8時代の開発者のためのデバッグ/トラブル解決の基本・応用テクニック~JJUG CCC 2014 Springまとめリポート(後編)
                                        • Java8時代の文字列連結変態さんまとめ - きしだのHatena

                                          いろいろな文字列連結のコードを書いた人がいたのでまとめておきますね。 主に変態さん。 とりあえず、基準として、メモリ確保したStringBuilder版 public static String stringBuilderJoinMem(){ StringBuilder s = new StringBuilder(9100).append("["); for(int i = 0; i < strarray.length; ++i){ if(i != 0){ s.append("],["); } s.append(strarray[i]); } s.append("]"); return s.toString(); } 1037ms ということで、まずはbackpaper0さん。比較的常人のコード。 https://gist.github.com/backpaper0/10273558 pu

                                            Java8時代の文字列連結変態さんまとめ - きしだのHatena
                                          • Java 8u60で、Mapの初期化とかがすごい楽になってる件 - mike-neckのブログ

                                            夜中に8/15頃のツイートが回ってきた。 Java 8u60 adds reflection on lambda param names DSLs https://t.co/cflxFK468e Hash-Literals https://t.co/5rOCrrckcB pic.twitter.com/NEzj4X3Bt1— Benjamin Weber (@benjiweber) 2015, 8月 16 曰く Java8u60でラムダのパラメーターの名前に対してリフレクションができるようになってるよ というわけで 早速、件のツイートにあったレポジトリーをダウンロードして(mavenレポジトリーにはない…(´・ω・`))、プロジェクトに追加して、試してみた。 コード import com.benjiweber.typeref.NamedValue; import java.util.Col

                                              Java 8u60で、Mapの初期化とかがすごい楽になってる件 - mike-neckのブログ
                                            • 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
                                              • Java8時代の文字列連結まとめ - きしだのHatena

                                                文字列の配列やリストを[〜]で囲ってカンマで区切って連結するという話、String.joinだとどう?とwatermintさんから指摘があったので、試してみました。 シンプル! public static String stringJoin(){ return "[" + String.join("],[", strarray) + "]"; } でも、1847msでした。改めて前後の文字を文字列連結してるところで時間かかってる感じ。 で、昨日のStringBuilder版はもう少し最適化できるので書き直します。 public static String stringBuilderJoin(){ StringBuilder s = new StringBuilder("["); for(int i = 0; i < strarray.length; ++i){ if(i != 0){ s.

                                                  Java8時代の文字列連結まとめ - きしだのHatena
                                                • 大刷新リリース Java 8の新機能

                                                  2014年3月18日(米国時間)、ラムダを筆頭に数多くの新機能が含まれるJava 8がいよいよリリースされる。 ここ数年、JavaはOracleのSun買収による混乱、当初Java 7で実装されるはずだった多くの機能の先送り、さらにはJava 8のリリースの遅延など様々な要因によって強い停滞感があり、それが関数型言語の機能を取り入れたScalaなどJavaの代替となるJVM言語の台頭にも繋がった。 そうしたJavaプログラマの溜まりに溜まったモヤモヤを払拭するアップデートとして期待されているのが今回のJava 8だ。前述の通りラムダの導入による新たな構文からStream APIやTime APIといったライブラリの追加まで、非常に多くの新機能を含んでいる。 本稿ではそのJava 8の主要な新機能についてサンプルコードを交えて紹介していく。Java 8の新機能を押さえるための参考になれば幸い

                                                    大刷新リリース Java 8の新機能
                                                  • 問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時 - ブログなんだよもん

                                                    ※ サンプルがJDK7までとJDK8までで意味が変わっていてわかりにくいという指摘があったので、少し直しました。 ※ boxedを使う書き方だと無駄なAutoboxingが走るとの指摘を頂きましたのでmapToObjを利用するように変えました。 Java8の目玉機能の一つにStream APIがあります。 目玉機能だけあって、先日のJava Day Tokyo 2014を含めて色んな所で発表やブログの記事が公開されているので、どんなものかを知ってる人は多いと思います。 Stream APIといえば「".parallel()"と書くだけで並列化してスピードアップ出来る!」という魅惑的なキーワードで紹介されることが多いので、並列化のための仕様だと勘違いされそうですが、そうではありません。 ※ もちろんそういった記事の中をちゃんと読めばそう単純な話じゃないことも分かります。 むしろ、並列化に関し

                                                      問い:Java 8のStream APIは業務でどんな時に使うの? 答え:あなたがfor文使いたい時 - ブログなんだよもん
                                                    • Java8のStreamの目的と書きやすさや可読性、並行処理の効果について - きしだのHatena

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

                                                        Java8のStreamの目的と書きやすさや可読性、並行処理の効果について - きしだのHatena
                                                      • Java 7、Java 8、Java 11、Java 12の新元号対応アップデートが4月16日に登場予定。オラクルが発表

                                                        Java 7、Java 8、Java 11、Java 12の新元号対応アップデートが4月16日に登場予定。オラクルが発表 オラクルは、4月1日に発表される予定の新元号に対応するためのJavaのアップデートを、Java 7、Java 8、Java 11(LTS)、Java 12を対象に4月16日にリリースされる予定であることを明らかにしました(日本時間では4月17日になると思われます)。 「A new (Japanese) era for Java! | Oracle Java Platform Group, Product Management Blog」から引用します。 After the new era name is released, with the next update release (planned for April 16, 2019), all supported J

                                                          Java 7、Java 8、Java 11、Java 12の新元号対応アップデートが4月16日に登場予定。オラクルが発表
                                                        • Java8でのプログラムの構造を変えるOptional、ただしモナドではない - きしだのHatena

                                                          ※ 5/29 3:23 追記:なんかモナドになったかも。最下部参照 さて、Java8での拡張をいろいろ見てきたわけですが、ではアプリケーションプログラムでFunctionを受け取るメソッドをがんがん定義するかというとそういうことはあまりなく、フレームワーク的な部分で数個定義する感じになると思います。もちろん数個でも効果はでかいのですが。 また、おそらくStreamを受け取ったり返したりするメソッドを定義することは、めったにないのではないかと思います。 Mapでの拡張も、メソッド内部での処理記述がかわる話で、メソッドの引数や戻り値はMapのまま変わりありません。 Javaでのプログラムの構造というのは、メソッドの引数や戻り値の型がなんであるかで決まると言うことができます。その意味では、lambdaやStreamというのは処理の記述は変わるけどプログラムの構造は変わらないとなります。 けれども

                                                            Java8でのプログラムの構造を変えるOptional、ただしモナドではない - きしだのHatena
                                                          • システム屋さんがうれしいJava8対応のコーディング規約を公開します!! | フューチャー技術ブログ

                                                            はじめにこんにちは。星です。 弊社では、お客様の基幹システム構築をする際、Java言語を採用することが多いのですが、2015年4月末にJava7のサポート切れになったことを受けて、昨年よりJava8で開発をしています。 弊社でもそれなりの規模の案件になると、社員やパートナーの皆様を合わせて、数百人が同時に開発することも珍しくありませんので、私の所属する技術部隊でコーディング規約をはじめとして、開発をするにあたってのガイドラインの整備やEclipse等の開発環境の整備などのタスクを実施して、標準化とクオリティの担保を推進しています。 さて、Java8においては、Java7において実装見送りとなったStream APIやラムダ式といった大きな機能追加がありました。とはいえ、これらの機能を使ったとして、性能的に大丈夫なのかとか、どういったコーディングスタイルが良いのか?など、エンタープライズ領域

                                                              システム屋さんがうれしいJava8対応のコーディング規約を公開します!! | フューチャー技術ブログ
                                                            • [Pleiades] Java 8 正式対応!Eclipse 4.4 Luna リリース - Qiita

                                                              毎年 6 月恒例の Eclipse メジャーリリースとなる Eclipse 4.4 Luna (ルナ) がリリースされた。ラムダなど Java 8 に正式対応した初のバージョンだ。これに合わせて日本語化された Eclipse と便利なプラグインや Java 8 実行環境を含む全部入りの Pleiades All in One もリリースした。 Pleiades All in One Eclipse 4.4 Luna ダウンロード http://mergedoc.sourceforge.jp/pleiades_distros4.4.html 起動時のスプラッシュは月食 (Lunar Eclipse) のときに月から地球を見たときに発生しているであろう日食イメージにした。地球の所々光っている部分は実際の街明かりで、韓国の北側の国が真っ暗で話題になった NASA の映像。背景は銀河中心方向の S

                                                                [Pleiades] Java 8 正式対応!Eclipse 4.4 Luna リリース - Qiita
                                                              • Java 8 のヒープモニタリング

                                                                Presentation Slides at Java 8 HotSpot meeting http://kanjava.connpass.com/event/8860/

                                                                  Java 8 のヒープモニタリング
                                                                • 社内Java8勉強会 ラムダ式とストリームAPI

                                                                  5. 5 / 54 ラムダ式とストリームAPI • ラムダ式とは関数を簡便に表現するための記法。 • ストリームAPIは、ラムダ式を利用したコレク ション操作用のAPI • 関数型プログラミング言語由来。歴史は古い。 • これまでの手続き型やオブジェクト指向的なプ ログラミング手法から、関数型プログラミング に変わります。 • パラダイムシフトのよかん!! 6. 6 / 54 簡単なサンプル • フルーツの一覧の中から • 名前が“りんご”で始まり、 • 値段が100円以上のものを、 • 値段順で並び替え、 • 名前だけを取り出して、 • リストを作成する 1 List<String> apples = fruits.stream() 2 .filter(f -> f.getName().startsWith("りんご")) 3 .filter(f -> f.getPrice() > 10

                                                                    社内Java8勉強会 ラムダ式とストリームAPI
                                                                  • 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は関数型なのか
                                                                    • AWS、「Java 8」を2026年まで、「Java 11」は2027年まで、現行より3年サポート期間延長を発表。独自JavaディストリビューションのCorretto 8とCorretto 11で

                                                                      AWS、「Java 8」を2026年まで、「Java 11」は2027年まで、現行より3年サポート期間延長を発表。独自JavaディストリビューションのCorretto 8とCorretto 11で Amazon Web Services(AWS)は、同社が無償で提供しているJavaディストリビューション「Amazon Corretto」の長期サポート期間を延長すると発表しました。 Java 8に相当する「Amazon Corretto 8」は2023年6月までだったのが2026年5月までに延長、Java 11に相当する「Amazon Corretto 11」は2024年8月までだったのが2027年9月までにサポート期間が延長されます。 ユーザーはこの日まで無償でAWSからセキュリティパッチなどを受け取ることができます。 New #AWSLaunches! Announcing 3 new

                                                                        AWS、「Java 8」を2026年まで、「Java 11」は2027年まで、現行より3年サポート期間延長を発表。独自JavaディストリビューションのCorretto 8とCorretto 11で
                                                                      • Java8 で StringBuilder/StringBuffer クラスがリファクタリングされていました。 - 地平線に行く

                                                                        ついに Java SE 8 がリリースされました! そこで、早速ダウンロードして、Java 8 のソースコード(src.zip)を Java 7と比較してみたところ、公表はされていないのですが、ちょこちょことリファクタリングされていることがわかりました。 そこで、そのうち StringBuilder/StringBuffer クラスについて調べてみました。 引数に null が渡されたときの処理 append メソッドの仕様で、「引数が null の場合、"null" という4文字が追加される」というのがあります。 この仕様について、Java 7までは "null" という文字列を追加するという実装がされていました。 // Java 7 Update 51 (AbstractStringBuilder クラス 422行目〜) public AbstractStringBuilder app

                                                                          Java8 で StringBuilder/StringBuffer クラスがリファクタリングされていました。 - 地平線に行く
                                                                        • JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始

                                                                          Jenkins開発チームは、6月28日リリースのJenkins 2.357および9月にリリース予定のJenkins LTS版からはJenkinsの実行環境としてJava 11が必須になることを、ブログ「Jenkins requires Java 11」で明らかにしました。 これまでJenkinsはJava 8もしくはJava 11を実行環境としていましたが、Java 8の対応がなくなることになります。 Jenkins 2.357 released today as the first Jenkins version to require Java 11. @bcrow shares the history of Java support in Jenkins and the benefits of the update. https://t.co/FPTNBTG3jK pic.twitte

                                                                            JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始
                                                                          • Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)

                                                                            JJUG CCC 2015 Fall での発表資料です。Java8移行から始めていろいろやった話です。

                                                                              Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
                                                                            • 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 の対応表
                                                                              • Java8で、Objectが持つメソッドについてはインターフェースでdefault実装をできないようにしている理由 - なみひらブログ

                                                                                背景Java8にて、インターフェースにdefaultメソッド(メソッド定義と実装)を定義できるようになりました。 しかし、その実装においてObjectクラスが持っているメソッド(toString()とかequals()とか)は、インターフェース内でdefault実装として定義できないようになっています。(コンパイルエラー「A default method cannot override a method from java.lang.Object」) 「なんでかなぁ~」と思ってちょっと調べてみたら、以下の記事を見つけました。 ちょっと要約ちょっと要約してみます。 #自分の解釈を一部入れています。 #英語に不自由のない方は上記を見てもらえればいいかと思います。 (質問者) defaultメソッドは、Javaの中で新しい良いツールだ。 しかし、私がインターフェースにtoString()のdef

                                                                                  Java8で、Objectが持つメソッドについてはインターフェースでdefault実装をできないようにしている理由 - なみひらブログ
                                                                                • 「Android NでJava8がサポートされた」とはどういうことか

                                                                                  追記: StreamやOptionalはpreview-2で実装されたようです。 gfx.hatenablog.com Android N previewが公開されましたね!このバージョンではJava8のサポートがあると発表されています。また、標準クラスライブラリがOpenJDKベースの実装になったことで、Java8との互換性が高まるのではないかという前評判もありました。 First Preview of Android N: Developer APIs & Tools | Android Developers Blog 本エントリでは、この「Android NでJava8」について解説します。 三行まとめ Android N runtimeはOpenJDK7ベースで、Java8クラスライブラリは一部のみ移植されている Android N SDKに同梱されているJackコンパイラはlam

                                                                                    「Android NでJava8がサポートされた」とはどういうことか