JJUG CCC 2015 Fallに参加してきた
JJUG CCC 2015 Fallに参加してきた。
聴いてきた講演は
- 基調講演1: 「Javaは守りに入らない、これが今のJavaだ」
- 基調講演2: Java EE 8 – Work in Progress
- 苦手克服!例外スタックトレースから読み解くバグ
- Reactive Webアプリケーション – そしてSpring 5へ
- これからのコンピューティングの変化とJava
- Garbage First Garbage Collector (G1 GC)
このうち、2・3・4について少しだけまとめたいと思う。
※ちなみに1はJJUG CCC 2015 Fallの説明とJavaOne2015の報告などなど
5は前日の飲み会の疲れがピークに達し意識が飛んだので
まとめられる程のメモを取れなかった
6は知識不足で内容が理解できなかった
(おそらくGCの種類の話とG1GCの使い所の話だと思う)
基調講演2: Java EE 8 – Work in Progress
JavaEE8で実装される予定の機能を説明していた。
JSON-Binding1.0
オブジェクトをJSONに変換したり、JSONをオブジェクトに変換できる機能。
この機能により、GSONとかJSONICを使用しなくても変換が可能になるらしい。
ライブラリ不要でJSONに変換できるのはいいかも。
苦手克服!例外スタックトレースから読み解くバグ
登壇者がTwitter4Jの作者だったのと、バグ探しが苦手なので聴いてみた。
この講演が今回一番ためになったと思う。
例外の種類
読み解くための知識としてまずは例外の種類について説明
- ランタイム例外
コンパイルは通るが実行時に起きる例外のこと。
try~catchが必要ない。
NullPointerExceptionなど
- 例外
コンパイルが通らない例外のこと。
try~catchが必要。
IOExceptionなど
例外とエラーの関係
あまり意識していなかったが例外とエラーは全くの別物だということ
- 例外
自分で修正が可能、リカバーができるもの。
ファイルの入出力失敗やヌルポなど、ロジックの不備で起きる
- エラー
自分で修正が不可能、リカバー出来ないもの。
実行環境のせいで正常に動作できないこと。
メモリ、ヒープ不足やスタックが溢れるなど。
Javaのクラス階層でも例外は
java.lang.Object←java.lang.Throwable←java.lang.Exception
エラーは
java.lang.Object←java.lang.Throwable←java.lang.Error
という風に分けられている。
あとは、スレッドダンプの説明とjpsコマンドでプロセスの状態がわかるという内容だった。
Reactive Webアプリケーション – そしてSpring 5へ
Reactiveという言葉を知りたくて聴いてみた。
すごい簡単にまとめるとブロッキングは悪で、ノンブロッキングで処理を行えるようにすることかと。
そうすることでレスポンスの効率を良くするみたいな感じだったと思う。
例として入力した値が変わると他の値が連動して変わるみたいなことをイメージすればいいと言ってた。
JJUG CCC 2015 Fallの感想
やっぱりこういうイベントに参加してみないと知らない技術に触れることが出来ないんだなぁと思った。
あと、参加したことで聞いたことのない用語を知って後で調べるといういい機会にもなった。
なかなか自分から知らない用語を調べようという気にはならないが、話を聴くことで気になるから調べるきっかけづくりにちょうどいいと思った。
あと、MacBookAirが超欲しくなった。
おそらく12月中旬には手元に有るんだろうなぁ……。