Hatena::ブログ(Diary)

草木のにをいに誘われた このページをアンテナに追加 RSSフィード

2018-05-17

Java Day Tokyo 2018に参加してきた

| 22:31 | Java Day Tokyo 2018に参加してきたを含むブックマーク


一年に一回のお約束。


ということで、今年もJava Day Tokyo 2018に参加してきました。

今年は仕事の関係で、午前中は打ち合わせ。

午後も会場に行ったけど問い合わせがあって、

ロビーでパソコンとにらめっこという体たらく。

結局ちゃんと参加したのは次のセッションでした。

  • JDKの新しいリリースモデル
  • Java Misson Control 6.0と新しいJava Flight Recorder
  • 50分で最新技術学習の基礎を身に付ける
  • Ask the Experts!

Javaの新しいリリースモデルについても

概要は知っているけど、というレベルだし、

そもそも今扱っているシステムが

バージョンの関係でJava6相当だし、

Java9どころかJava8も夢のまた夢状態で

かなりの浦島状態ではあるのですが、

いろいろと変わっていくJavaを感じられたのかな・・・とは思いました。


そのいろいろ変わろうとしているのに、

自分も含めてぜんぜんついていけてないことに

ちょっと危機感を覚えつつ、、、、

思った以上のスピードで先にいっているな、、、というのが正直な感想。


今年に入っていろいろと環境も変わっているし、

ひとまず、少しでも触って素振りをしていこうかな、、、と思いました。

久々にいい刺激をうけてよかったです。


あまり細かい内容を書いていないですがwww

まずは簡単な感想をば。

2017-05-17

JavaDay Tokyo 2017に行ってきたよ

| 21:11 | JavaDay Tokyo 2017に行ってきたよを含むブックマーク

前回投稿したのが2016年のJavaDayって・・・。


ということで、見事に一年ぶりの投稿になりました。

前回も若干浦島気味でしたが、

今回はさらに輪をかけて最新動向をウォッチしていなかったので・・・。

MVC1.0がEE8が落ちたって初めて聞きましたよ。


で、参加したのは次のセッション


実は初っ端に

会場を間違えて事前登録と違うところにいってしまったのですが、

開き直って節操なく聞いた感じです。

ただ、前日あまり寝ていなくて、途中眠くてあまり頭に入っていないところがあるのですが・・・w。


Java SE 9に関しては体系だってちゃんと把握していなかったので、

非常に勉強になりました。

ただ、一番のポイントになるJigsawのセッションをはずしてしまったので・・・w。

そこは別途公開される資料などを漁ろうと思います。

やはりJigsawのおかげ?でJava SE 9はかなり違うものになりそうなので、

きちんと自分の中に落としておかないと、

いろんなところで嵌りそうなので注意したいなあと。

※ただし、今の仕事でSE9を使うのはいつになることやら。

 ミドルウェアの都合でサードパーティJVMを使用しているとどうにもならないねぇ。


ということで久々の技術系セミナー、非常に楽しかったです。

このブログtwitterも更新頻度あげなきゃかな???

三銃士セッションで言っていた、無理なくこつこつとは非常に大事なことなので

見習いたいなと思います。

まずは簡単に。何かあれば別途追記します。

2016-05-24

JavaDay Tokyo 2016に行ってきたよ

| 22:30 | JavaDay Tokyo 2016に行ってきたよを含むブックマーク

勉強会ブログにあげるまでが勉強会です。


ということで、久々(2年ぶりw)の投稿ですが、

JavaDay Tokyo 2016に行ってきたので簡単な感想をば。


こういう勉強会は正直言うと前回のJavaDay Tokyo 2015以来くらいな感じで、

最近のJavaの動向もそこまでwatchしていなかったので、

正直かなりウラシマ状態で参加したのですが、

久々の技術系勉強会楽しかったなあと。


参加したのは次のセッション



全体的に面白そうなものをざっくばらんにとってったら、節操のない組み合わせになりました。

JavaSE9についてはあまり情報を仕入れていなかったので、かなり新鮮でした。

Jigsawも今までぼやっとしていたのでsが、大分はっきりしました。

クラスパスに書いていたことがmodule-infoに移っただけではないかという気もしなくもないのですがw。

また、それ以外の部分に関しても、やっぱりそうだよなあというところが多かったですね。

最後はいきなりファミコンの話をしだしたりとw。


今使っているシステムがミドルウェアの関係でJava6どまり(しかもアップデートできない)の状態なので、

SE9の情報はいつ利用できるのか状態ですが、

今後少しずつでも素振りしていきたいなと思った一日でした。

こういう新しいことに触れていくのは楽しいです。


あと、一日ずっとつぶやいていて変なことをつぶやいていたらすみません。

持っているデバイスの関係でつぶやくのが難儀していたのですが、

初めて快適につぶやき続けれました。

ただ席の間隔が詰まっていたせいかかなり縮こまって座っていましたがww。

※前回とそう変わらないような気がするのですが、前回のほうがもっとゆったりとしていた気がするのは気のせいでしょうか・・?


ということで、今後どれだけ参加できるかわかりませんが、機会があれば参加していきたいなと思います。

時間があまりないのでざっくりとした感想しか書けていませんが、本日はこれにて。

2014-04-04

Java 8ではinterfaceにstaticメソッドを記述できるようになりました。

| 16:56 | Java 8ではinterfaceにstaticメソッドを記述できるようになりました。を含むブックマーク


interfaceに関する変更点として、Java 8ではdefaultメソッドが有名ですが、

他の変更点としてstaticメソッドが定義できるようになりました。


具体的には

次のようなメソッドが定義できます。

public interface Java8TestInterface {
    public static void hello(){
         System.out.println("Hello World!!");
    }
}

実行するには次のようにします。

// 実行可能
Java8TestInterface.hello();

このstaticメソッドInterfaceから実行できて、implementしたクラスは自動で

該当メソッドを持っているわけではありません。

public class Java8TestImpl implements Java8TestInterface {

}


// コンパイルエラーになる
Java8TestImpl.hello();

これの派生でmainメソッドinterfaceに実装して実行できるようになりました。

public interface Java8TestInterface2 {
    public static void main(String[] args){
        System.out.println("Hello World!!");
    }
}

実行結果:

run:
Hello World!!

どうでもよい無駄知識ですが。

2014-03-27

今更ながらラムダで遊んでみる

| 23:12 | 今更ながらラムダで遊んでみるを含むブックマーク

超久しぶりの更新です。

久しぶり過ぎて何を書いていたかも忘れそうですが・・・。


Java8がいよいよリリースされました。

最近全然JavaについてWatchしていなかったので、

いろんな意味で隔壁の感があります。

Java8の機能を色々と触って行きたいと思います。


まずは、メインのラムダから。

といっても文法系は他のブログでいっぱい書かれているでしょうから、

ここではあまり触れませんw。


例えば、乱数を発生させてそれを出力させるサンプル。


List<Integer> list = new ArrayList<>();
Random rmd = new Random();
for (int i=0; i < 10_000_000;i++){
    list.add(rmd.nextInt(1_000_000));
}

list.forEach(in -> System.out.println(String.valueOf(in)));

in -> System.out〜の部分がラムダ表記を使っているところですね。


これだけだと寂しいので、sortしてみましょうか。

sortはColelctions.sortを使っても出来るのですが、

あえてStreamを使用してみます。


List<Integer> list = new ArrayList<>();
Random rmd = new Random();
for (int i=0; i < 10_000_000;i++){
    list.add(rmd.nextInt(1_000_000));
}
// Streamを使う
List<Integer> list2 = list.stream().sorted().collect(Collectors.toList());

list2.forEach(in -> System.out.println(String.valueOf(in)));

並列実行させたい場合にはstreamをparallelStreamにすれば並列実行します。


List<Integer> list = new ArrayList<>();
Random rmd = new Random();
for (int i=0; i < 10_000_000;i++){
    list.add(rmd.nextInt(1_000_000));
}
// Streamを使う
List<Integer> list2 = list.parallelStream().sorted().collect(Collectors.toList());

list2.forEach(in -> System.out.println(String.valueOf(in)));

因みにparallelStreamでSystem.out部分をコメントアウトした場合の実行時間は3回の平均で、7.672秒でした。

streamで実行した場合3回の平均が14.474秒だったので早くなっているのがわかります。

また、単純にCollections.sortを使用すると10.770秒だったので、

やはりstreamにする分オーバーヘッドがあるということでしょうか。


今回はsortという単純なもののでやっているので、

こうなっていますが、mapとかreduceとか使い出すとまた別の結果が出るでしょうね。

(というかstreamにすることのメリットはその辺が使えるからというのが大きいように思えます)


ということで、今回はこれまで。