Java Casual #2に参加してきました。
以下自分用のメモ
概要
- 日時: 2016/11/07(月) 19:30~
- 会場: LINE株式会社 27F カフェ
jcmd便利
@sugarlife
- JDK9からの診断ツール
- jcmdとjhsdbを使う
- jinfo, ihat, jmap ⇒ Experimental
- Srviceablity Tool(jcmdを含む)
- Dynamic Attach(Uix domain socket)
- jcmd
- CLIのLocal JVM process 診断ツール
- jcmd [-l | -h | prcess command]
- Help
- jcmd prcess help
- jcmd prcess help command
- jcmd機能
- PerfCounter
- JVM統計情報
- ManagementAgent
- Thread
- Thread dump
- GC
- GC機構(Heap/GC/Finalization)
- VM
- ランタイム周り。情報出力系
- クラッシュ時と同等のレベルのログを収集できる
- Native Memory Tracking(Nativeメモリの状態を記録する)
- JVM Unified Logging(JEP158)
- GCログを途中から設定したり、有効にしたり
- Compiler
- Compile状況を確認できる
- JITコンパイルにより最適化がされているかを見たりしている
- Compile状況を確認できる
- JVMTI
- JVMTI Agent制御
- PerfCounter
- これは覚えておいてほしいコマンド
- jcmd <proess> VM.info
*.properties と *.yml と 私
@nabedge
- propertiesファイルについて、Eclipseのプロパティエディタは小文字でエンコード、IntelliJ IDEAは大文字でエンコード
- 国際化対応の方法は2つ用意されている
- foo_[ロケール].properties
- java.util.ListResourceBundleを継承したクラスを作って対応する
- ResourceBundle.Control#getControl
SCM, CI and Maven Repo
@hdkshjm
- GitHub Enterprse
- サービスごとにOrganization
- Repositoryで1万以上
- git flow, GitHub FLow を使用
- Jenkins
- 1つのJenkinsを共有
- Java App, Android App, iOS App
- C_develop
- 複数の社内ライブラリに依存している巨大なアプリの場合はSkinny Warを作ることも
- R_master
- PRを自動でbuild(testまで)
- Nexus Reporitory Pro
- 外部RepoをReverse Proxy
- Reverse Proxyしつつcasheもしてくれる
- 外部RepoがURL変更になっても既存のpomは影響はない
- Upload専用のinternal/nightly
- JenkinsからのみRelease Artifactをupload可能
- Local PCから間違ってuploadする事故を予防
- build方法の一子相伝の口伝継承を予防
- JenkinsからのみRelease Artifactをupload可能
- Download専用のreleases/snapshots
- 外部RepoをReverse Proxy
How to cook lettuce?
@oklahomers
- lettuce
- Redis Client
- Redis Cluseterをサポート
- ノード情報のキャッシュやコネクションの適切な管理
Fluency - yet another fluent logger
@komamitsu
- Fluency
- fluent-lgger-javaより4倍以上速い
- PackedForward formtにより速い
- 拡張性は高い
- TrasureData社内でも使われている
Openjdkを触ってみた話
@tokuhirom
- @sugarlifeさんのスライドを読めばよい
- 中身
- だいたいC++ or Javaで書かれている
- わかりやすい
- 歴史を感じるコードも多い
- go-hsperfdata
- hsperfdata を golang で解析する
- openjdk便利
- 自分の好きなjavacも作れる