JJUG CCC 2015 Fall | Advent Calendar 2015
IT系の勉強会行ってきた Advent Calendar 2015 - Adventar の22日目!
毎年参加してる年2回のJJUGの大きなアレ
JJUG CCC 2015 Fall(11月28日開催) | 日本Javaユーザーグループ
Javaは守りに入らない、これが今のJavaだ
苦手克服!例外スタックトレースから読み解くバグ
- 例外とエラーは異なるのでちゃんと使い分ける
例外はキャッチして処理をごにょごにょ
エラーはリカバリー不能 - スタックトレース:プログラムを実行する際のコールスタック
- マルチスレッドのトラブル
スローダウン、フリーズ、デッドロック
スレッドダンプを活用する。21世紀はこのコマンドで取る→jstack [PID] - スレッドダンプはあるタイミングの全スレッド状態。一時的な情報でしかない
-
侍 - ログ , スレッドダンプ解析ツール 等で可視化できる
How to speed up your application using JCache
発表時間が足りなかったやつー!超悔やまれる!
- キャッシュは絶対に有効活用すべきもの
- 本番環境ではホリデーシーズン向けにキャッシュを増やしたり
- アプリが2回以上使うのであればキャッシュを使う価値が存在
- webアプリは突然アクセス増えたりするから有効
- アムダールの法則からパフォーマンス改善にはボトルネックを改善する必要がある旨の解説
- SpringはアノテーションでJCacheを使えるのでスマート
Reactive Webアプリケーション – そしてSpring 5へ
makingさんの素晴らしいスライド
- 背景、パラダイム
ここでもアムダールの法則登場。逐次実行部分が増えても限界がある - ブロッキングコード書いても何も早くならない
- Reactiveプログラミング
命令型とは異なり、連続的なデータをイベントハンドラで処理 - ReactiveStreams:(仕様の名称)
PublisherやSubscription等4つのインターフェースを定義 - ReactiveExtensions:(仕様の名称)
コールバック地獄を解決すべく生まれたやつ
Observerパターンでイベントストリームを扱う - Spring5:Java8がベースライン、Play!等を意識してる感がある
Reactive系だと岡本さんのも素晴らしいやつあった
クラウドネイティブアプリケーションとSpring Framework
- アメリカだと個人とか小さい組織のリソースを活用したサービスが多い
- 今後のクラウド時代で必要な要素12個の紹介
(herokuとかRails系でそんなのあったような気がする) - ナイキとかはマイクロサービスとかかなり特化してエンジニアを採用
- クラウドネイティブな時代
これからのコンピューティングの変化とJava
- ムーアの法則は終わりつつある。アムダールの法則っぽいのがまた登場
- 物理的に配置、消費電力と高速化が同時実現が難しくなってきた
- Hadoopとかに代表されるデータセントリックシステムの台頭
- GPUやメモリ活用したものが増えてきている
- Java8はまだまだ美しくないクラスが生み出されてしまった
Stream,IntStream や Optional,OptionalInt
Garbage First Garbage Collector (G1 GC)
- GC:不要メモリを判別しごみ処理
- Serial GC,Parallel GC,GarbageFirst GC...
- メモリ管理
Heap:EdenとSurvivorとOldなど世代別で分けて管理 - 長い時間使うサービスかつメモリが大きくないとG1 GCは逆効果
最後のてらだよしおさんの話も聞きたかったけども疲れてしまったので帰宅。
今までなんとなくしかわかってなかった事への理解が深まったJJUG CCCでした。