SlideShare a Scribd company logo
1 of 63
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 末永 恭正
OpenJDKは使い物になるか?
OpenJDKの実際と今後
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
自己紹介
• 末永 恭正(すえなが やすまさ)
• NTTコムウェア株式会社
• OpenJDK jdk9 committer
• IcedTea committer
• HeapStats作ってます
http://icedtea.classpath.org/wiki/HeapStats/jp
OracleとJavaは、Oracle Corporation及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
本資料に記載している情報は2015年10月13日現在のものです。今後変更となる可能性があります。
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OpenJDKとは?
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
オープンソースのJava SE実装
• 2007年5月に初期バージョンリリース
• 当時はまだSun Microsystems
• Java SE仕様に準拠
• Java SE API仕様のレベルではOracleJDKと完全互換
http://www.oracle.com/technetwork/jp/java/javase/community/opensourcejdk-jsp-136417-ja.html
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
対応プラットフォーム
OS
Processor
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JDKの系譜
https://blogs.oracle.com/darcy/entry/openjdk_6_genealogy/
8u1 ...
OpenJDK9
• 最初にJDK 7がOSS化
• JDK 7の途中からOpenJDK6が派生
• JDK 8も元はOpenJDK7
• JDK 7からはコードベースが
OpenJDK7に一本化
• OracleJDKもOpenJDKも元は一緒
• 現在開発中のOpenJDK9は
OpenJDK8からの派生
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
参画企業の一例
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
日本からも参画者が!
2015/04/08
Java Day Tokyo 2015
基調講演より:
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OracleJDKとは何が違う?
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Oracle (Sun) JDKとの違い
http://ossipedia.ipa.go.jp/doc/208/ • 2010年に情報処理推進機構(IPA)から
公開されたOpenJDKとSunJDKの比較資料
• SunJDK 6u17とRed Hat社提供の
java-1.6.0-openjdk-1.6.0.0-1.7.b09を
比較
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
IPA報告資料より
• Javaクラスライブラリ実装のうち97%は
問題なし
• 残りの3%は差分があったものの、Javaと
して仕様が定められていないもの
• com.sunパッケージ
• CORBAや画像処理などでJavaが内部的に使用
するもの
• 通常のJavaプログラミングには全く影響なし
• 実機検証においても、物理環境・仮想環境
に関係なく性能的な差異なし!
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OracleJDK「だけ」にあるもの
• Java Flight Recorder
• -XX:FlightRecorder、-XX:StartFlightRecording
• 商用環境への適用が可能な低オーバーヘッドプロファイラ
• Application Class Data Sharing
• -XX:UseAppCDS
• マルチインスタンス構成時にアプリケーションクラス情報をプロセス間で共有
• Resource Management
• -XX:MemoryRestriction、-XX:ResourceManagement、
-XX:ResourceManagementSampleInterval
• G1GC選択時(-XX:+UseG1GC)に有効になる仮想メモリ使用量制御機能
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OracleJDK「だけ」にあるもの
• Error Report Transmission
• -XX:TransmitErrorReport、-XX:ErrorReportServer
• JVMクラッシュ時にエラーリポートを別サーバへ送信
• JavaFX
• OracleJDK 7u2以降はSDKが付属
• OpenJDKではJavaFXのオープンソース実装であるOpenJFXが必要
• Java Plugin、Java Web Start
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
IcedTea
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
IcedTea
• Red Hat主導のOpenJDKサポートプロジェクト
• 元々はFOSSでOpenJDKのビルドを実現するためのプロジェクト
• Java Plugin、Java Web Startを提供
• icedtea-web
• 付加価値
• Zero VM
• SystemTapサポート
• 様々なJava関連OSSプロジェクトのホスティング
• Thermostat
• HeapStats
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
IcedTeaで嬉しいコト
× =長~いEOL
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
例えばRed Hat Enterprise Linux
• OpenJDKはRed Hat Enterprise Linux (RHEL) のコアコンポーネント
• https://access.redhat.com/ja/articles/503403
• RHELのライフサイクルに依存
• Production 3(重大なセキュリティ、バグフィックスのみ提供)までGA後7年
はサポート
• https://access.redhat.com/support/policy/updates/errata/
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OracleJDKのサポートポリシー
• 無償アップデート期間
• GAから3年間
• 後続のメジャーリリースから1年間
• これを超えてもアップデートが欲しい場合は有償契約が必要
http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OracleJDK 7までをご利用の方
もう無料でアップデートを
入手できません
※セキュリティFix含む
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
最新のJDKに乗り換えるべき理由
公式アップデート提供の他にもメリットいっぱい!
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
乗り換えるメリット
1. End Of Lifeまでの期間が長い!
2. OracleJDKのEOL後もバグFix、セキュリティFixが提供される!
3. アプリケーションがそのままでも性能が上がる可能性が!
4. 様々なサポートベンダが検討可能!
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
性能向上の一例
• 新しいCPU命令セットの積極的な活用
• クラスライブラリ実装の性能改善
• GC(Garbage Collection: 不要メモリ回収機能)の性能改善
• JIT(Just-In-Time)コンパイラの最適化精度向上
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
例えばAES暗号処理(7u40~)
http://www.slideshare.net/YaSuenag/hotspot-46884406
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
他にもこんな性能向上が!
• JVM
• Intel系SIMD命令を活用したメモリのバルク転送(6u14~)
• SSE 4.2命令を活用した文字列処理性能の向上(6u18~)
• クラスライブラリ
• Arrays#sort(Object[]系)のアルゴリズムをTimSortに変更(7~)
• その他
• JavaScript実行エンジンの性能向上(8~)
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
サポートベンダ
• OSSであるため、実装に基づく解析やパッチ提供が誰でも可能
• Red Hat
• Azul
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
NTTコムウェアでも…
Javaアプリケーションの潜在的なバグ、チューニングについてコンサルティングします!
Java診断サービス
1番多い
メモリトラブルに対応!
一部の性能問題にも
対応可能
• サービス内容
• メモリ枯渇の危険性やメモリに関連するAPの潜在的なバグの有無を
確認
• Garbage Collection(GC)をはじめとした、JVMのチューニング実施
• OSSのツールを活用し、突然のトラブルにも迅速に対応できる環境の
実現に向けたコンサルティング
• 対象プロダクト
• Oracle JDK 1.5以上
• OpenJDK
• JRockit R28以上
※動作するミドル、ライブラリについては条件はありません。
NTTコムウェア 品質生産性技術本部 技術SE部 OSS・AP技術担当
ctpm-se-openjdk-all@srv.cc.nttcom.co.jp
043-211-2392
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OpenJDKならではの「よかった」事例
どうせ乗り換えるならOpenJDKに!
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
よかった1:クラッシュの解析
ウチのシステム、コア吐いて
死んじゃったんですけど!
商用トラブルなんで、なるはやで
助けてください!!
じゃあ、とりあえず
エラーログとコアイメージを
送ってください。
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
よかった1:クラッシュの解析
あー、JITコンパイラのバグ
っぽいです。
JIRAには書いていませんが、
○○オプションで回避できます。
クラッシュしなくなりました!
ありがとうございました!!実装調査
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
よかった2:バグの予防
今度JDK 8使おうと思ってるんですが、
何か懸念ありますか?
△△という商用ライブラリも使います。
△△?
以前JDKのバグを踏んだライブラリだな。
JDK 7にはコミットしたけど8は…?
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
よかった2:バグの予防
やっぱり8に入ってなかったか。
ついでだから、コミュニティに
バックポート依頼出しておこう。
△△はJDK 8では注意ですね!
ありがとうございました!!変更履歴
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OpenJDK開発への参加方法
自分/自社でOpenJDKをつくってみる
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Contributing
http://openjdk.java.net/contribute/
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Developers’ Guide
http://openjdk.java.net/guide/
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
大前提
OCAにサインする
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Oracle Contributor Agreement
• OracleのOSSプロジェクトにパッチ等を寄贈(contribute)するための
同意書
• OpenJDK、GlassFishなど
• OCAが締結されていないとパッチを出しても受領してもらえない
• 個人でも締結可能
• 企業の場合は雇用者がサインする必要あり
http://www.oracle.com/technetwork/oca-405177.pdf
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OCA締結者一覧
http://www.oracle.com/technetwork/community/oca-486395.html
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OpenJDKの前提知識
• コード管理
• Mercurial
• 開発言語
• C、C++、アセンブラ(JVM)
• Java、C(クラスライブラリ)
• その他(Makefile、シェルスクリプトなど)
• プラットフォーム
• Windows
• Linux
• OS X
など
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
38
Step 1
Contributorhttp://www.wrc.com/en/wrc/media/galleries/page/50----.html
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Contributor
• OCAが受理されれば誰でもContributor!
• パッチを出したらスポンサー探し
• スポンサー:JIRAへの登録やパッチレビュー、コミットを手伝ってくれる人
• スポンサーは、そのパッチの対象となるプロジェクト/グループのコミッタ以上
が担うことができる
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
40
Step 2
Authorhttp://www.wrc.com/en/wrc/media/galleries/page/50----.html
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Author
• 名前付きChangesetが2つ以上でなることができる
• 条件を満たしたらProject Leadに「Authorになりたい」と連絡するだけ
• OpenJDKのJIRAへの書き込み権、Oracleのコードレビューサーバ
へのアクセス権をゲット!
• OpenJDK Censusにも名前が載ります
• パッチ提供の一連の作業が格段にはかどります!
• 相変わらずスポンサーは必要
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
名前付きchangeset
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OpenJDK Census
http://openjdk.java.net/census
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
44
Step 3
Committerhttp://www.wrc.com/en/wrc/media/galleries/page/50----.html
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Committer
• 名前付きChangesetが8つ以上でなることができる
• Authorでなくてもこの条件を満たせばCommitterになれます
• 現在Committerを務めている人からノミネートされ、投票を受ける必要
がある
• Authorの内容に加え、コミット権とスポンサー権をゲット!
• ただし、HotSpot VMの場合はOracleのテストサーバ(非公開)経由で
のpushが必須となっているため、Oracle社員以外は直接pushすること
ができない
• HotSpotに関しては相変わらずスポンサーが必要
• 他(クラスライブラリ、関連プロジェクト等)に関しては直接pushが可能
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
46
Step 4
Reviewerhttp://www.wrc.com/en/wrc/media/galleries/page/50----.html
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Reviewer
• 現在Committerで、かつ名前付きChangesetが32個以上でなることが
できる
• 現在Reviewerを務めている人からノミネートされ、投票を受ける必要
がある
• OpenJDKコミュニティで事実上最高ランク
• Committerの内容に加え、レビュー権をゲット!
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
ContributorがBugFixするまで
1. パッチを作る
2. MLに出す
3. レビューコメントに対応する
4. スポンサーにコミットしてもらう
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
MLがこんなに!
http://mail.openjdk.java.net/mailman/listinfo
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
OpenJDKのML
• コンポーネント別に分かれています
• 基本的なクラスライブラリ:core-libs-dev
• GC関連:hotspot-gc-dev
• 出し先を間違えると反応してくれない可能性が高いです
• OpenJDKのMLはファイル添付ができないので、パッチは本文記載や
ストレージサービス等で参照できる形にする
• jdk9やjdk8u-devなど、JDKそのもののMLには出さない!
• 個々のバグフィックス、機能改善について議論する場ではありません
• CommitterやReviewerの投票、JDKのリリーススケジュール、新機能の採否と
いった全体的な議論をする場です
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
私の対応したバグFix・機能改善
• Linux版JDK付属ツールの不具合改善
• 最新GCCでのビルド不具合対処
• 脆弱性対処
• クラッシュするようなバグへの対処
• 外部からの強制的なGCログローテーション機能の実装
など
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JDK 9
2016年リリース!
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JDK 9
• 2016/09/22リリース予定
• 数々の大幅な変更を含むリリース
• HTTP/2への対応
• モジュラー化
• Javaランタイムのコンパクト化を実現
• JavaDocのHTML5化
• デフォルトのGCアルゴリズムをG1(Garbage First)GCへ変更
など
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JDK 9
http://openjdk.java.net/projects/jdk9/
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JEP @ JDK 9
JEP: JDK Enhancement Proposal
61個のエンハンスメント
http://openjdk.java.net/projects/jdk9/
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JDK 9の(小さいけど)うれしい変更点
なかなか表には出てこないものを一部紹介!
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JEP 143: Improve Contended Locking
• http://openjdk.java.net/jeps/143
• Javaのsynchronizedステートメントによる排他制御の性能改善
• マルチスレッドプログラムの性能向上に期待大!
• Javaクラスライブラリ内でも多数使われています
COMPLETED
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JEP 165: Compiler Control
• http://openjdk.java.net/jeps/165
• JVMのJITコンパイラを細かく制御する方法の実装
• 今までできた制御は、JITコンパイラ全体に対するコンパイル可否、インライン
制御など
• ループ展開のレベル設定や生成されたアセンブラコードのロギングなど
マニアックな きめ細かな設定が可能
• 起動後のプロセスに対して、後から設定を行うことも可能!
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
JEP 254: Compact String
• http://openjdk.java.net/jeps/254
• String内部表現をchar型配列(2バイト/字)からbyte型配列
(1バイト/字)にしてメモリを効果的に使おう!という改善
• Javaで扱う文字列の大半は半角英数だから2バイトもいらないよね?が発端
• Javaの文字列内部表現がUTF-16からUTF-8に変わるわけではありません!
• メモリフットプリントの削減、GC発生頻度の低減が期待できる!
• 日本語バリバリの環境では …?
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
網羅的に見てみたい方は…
http://www.slideshare.net/YujiKubota/jdk9-jjug
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY
Java SE roadmap
JavaOne 2014で発表されたロードマップ
2014 2015 2016 …
JDK 7 EOSL (End of Service Life)
• OracleJDK無償版は2015/7保守停止
• RHEL上のOpenJDKは2020年まで継続
JDK 8 2014/3 リリース済
• ラムダ式の導入
• Stream API
• Date and Time API
JDK 9 2016年予定
• Jigsaw : モジュール化
• HTTP 2.0 API
• 軽量なJSONパーサ
• JVMの性能改善
将来のJDK 時期未定
• Project Valhalla /
Panama
• Sumatra : GPGPU活用
Copyright © NTT COMWARE CORPORATION 2015
NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY

More Related Content

What's hot

これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本Takahiro YAMADA
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方歩 柴田
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)NTT DATA Technology & Innovation
 
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)Yoshiro Tokumasu
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるKohei Tokunaga
 
Oracle Database In Lock
Oracle Database In LockOracle Database In Lock
Oracle Database In LockRyota Watabe
 
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)オラクルエンジニア通信
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...NTT DATA Technology & Innovation
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)オラクルエンジニア通信
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0オラクルエンジニア通信
 
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...オラクルエンジニア通信
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報Masahiko Sawada
 

What's hot (20)

これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
これからのJDK 何を選ぶ?どう選ぶ? (v1.2) in 熊本
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
 
Oracle GoldenGate EM Plugin 13c セットアップガイド
Oracle GoldenGate EM Plugin 13c セットアップガイドOracle GoldenGate EM Plugin 13c セットアップガイド
Oracle GoldenGate EM Plugin 13c セットアップガイド
 
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
 
OCI GoldenGate Overview 2021年4月版
OCI GoldenGate Overview 2021年4月版OCI GoldenGate Overview 2021年4月版
OCI GoldenGate Overview 2021年4月版
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
Oracle GoldenGate入門
Oracle GoldenGate入門Oracle GoldenGate入門
Oracle GoldenGate入門
 
Oracle Database In Lock
Oracle Database In LockOracle Database In Lock
Oracle Database In Lock
 
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
Oracle GoldenGate FAQ
Oracle GoldenGate FAQOracle GoldenGate FAQ
Oracle GoldenGate FAQ
 
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
 
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 

Viewers also liked

中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術Noriaki Kadota
 
今からでも遅くないC#開発
今からでも遅くないC#開発今からでも遅くないC#開発
今からでも遅くないC#開発Kazunori Hamamoto
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Koichi Sakata
 
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3日本Javaユーザーグループ
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発慎一 古賀
 
将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 Yoshio Kajikuri
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!masakazu matsubara
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Takuya Okada
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Kohei Saito
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 

Viewers also liked (10)

中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
 
今からでも遅くないC#開発
今からでも遅くないC#開発今からでも遅くないC#開発
今からでも遅くないC#開発
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
 
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 
将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 

Similar to OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)

Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]David Buck
 
データが覗いたOpenStack Summit Vancouver
データが覗いたOpenStack Summit Vancouverデータが覗いたOpenStack Summit Vancouver
データが覗いたOpenStack Summit VancouverKentaro Takeda
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
JDK: 新しいリリースモデル解説 (ver. 2.2) @ 札幌 - 20190209
JDK: 新しいリリースモデル解説 (ver. 2.2) @ 札幌 - 20190209JDK: 新しいリリースモデル解説 (ver. 2.2) @ 札幌 - 20190209
JDK: 新しいリリースモデル解説 (ver. 2.2) @ 札幌 - 20190209オラクルエンジニア通信
 
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019Takashi Ito
 
ひとりではじめる OpenStack Summit の楽しみ方
ひとりではじめる OpenStack Summit の楽しみ方ひとりではじめる OpenStack Summit の楽しみ方
ひとりではじめる OpenStack Summit の楽しみ方Takanari Konishi
 
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
第九回中国地方DB勉強会 in 米子 MySQL 5.7+第九回中国地方DB勉強会 in 米子 MySQL 5.7+
第九回中国地方DB勉強会 in 米子 MySQL 5.7+Ryusuke Kajiyama
 
20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQLRyusuke Kajiyama
 
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groongaMroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groongaYahoo!デベロッパーネットワーク
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?Takahiro YAMADA
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkSho Yoshida
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのことNTT DATA OSS Professional Services
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpYuji Kubota
 
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIUKengo Okitsu
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会yoyamasaki
 

Similar to OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料) (20)

Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
 
JDK:新しいリリースモデル解説 @ 岡山・広島
JDK:新しいリリースモデル解説 @ 岡山・広島JDK:新しいリリースモデル解説 @ 岡山・広島
JDK:新しいリリースモデル解説 @ 岡山・広島
 
データが覗いたOpenStack Summit Vancouver
データが覗いたOpenStack Summit Vancouverデータが覗いたOpenStack Summit Vancouver
データが覗いたOpenStack Summit Vancouver
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
JDK: 新しいリリースモデル解説 (ver. 2.2) @ 札幌 - 20190209
JDK: 新しいリリースモデル解説 (ver. 2.2) @ 札幌 - 20190209JDK: 新しいリリースモデル解説 (ver. 2.2) @ 札幌 - 20190209
JDK: 新しいリリースモデル解説 (ver. 2.2) @ 札幌 - 20190209
 
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
JDK:新しいリリースモデル解説 @ 富山 BuriKaigi 2019
 
ひとりではじめる OpenStack Summit の楽しみ方
ひとりではじめる OpenStack Summit の楽しみ方ひとりではじめる OpenStack Summit の楽しみ方
ひとりではじめる OpenStack Summit の楽しみ方
 
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
第九回中国地方DB勉強会 in 米子 MySQL 5.7+第九回中国地方DB勉強会 in 米子 MySQL 5.7+
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
 
第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部
 
20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL20150131 ChugokuDB-Shimane-MySQL
20150131 ChugokuDB-Shimane-MySQL
 
Spring I/O 2015 報告
Spring I/O 2015 報告Spring I/O 2015 報告
Spring I/O 2015 報告
 
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groongaMroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話 #groonga
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践Smalltalk
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
 
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
 
20150920 中国地方db勉強会
20150920 中国地方db勉強会20150920 中国地方db勉強会
20150920 中国地方db勉強会
 
Oracle ERP Cloud
Oracle ERP CloudOracle ERP Cloud
Oracle ERP Cloud
 

More from NTT DATA OSS Professional Services

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力NTT DATA OSS Professional Services
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~NTT DATA OSS Professional Services
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~NTT DATA OSS Professional Services
 

More from NTT DATA OSS Professional Services (20)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
Application of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jpApplication of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jp
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 

Recently uploaded (10)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 

OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)

  • 1. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 末永 恭正 OpenJDKは使い物になるか? OpenJDKの実際と今後
  • 2. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 自己紹介 • 末永 恭正(すえなが やすまさ) • NTTコムウェア株式会社 • OpenJDK jdk9 committer • IcedTea committer • HeapStats作ってます http://icedtea.classpath.org/wiki/HeapStats/jp OracleとJavaは、Oracle Corporation及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。 本資料に記載している情報は2015年10月13日現在のものです。今後変更となる可能性があります。
  • 3. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OpenJDKとは?
  • 4. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY オープンソースのJava SE実装 • 2007年5月に初期バージョンリリース • 当時はまだSun Microsystems • Java SE仕様に準拠 • Java SE API仕様のレベルではOracleJDKと完全互換 http://www.oracle.com/technetwork/jp/java/javase/community/opensourcejdk-jsp-136417-ja.html
  • 5. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 対応プラットフォーム OS Processor
  • 6. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JDKの系譜 https://blogs.oracle.com/darcy/entry/openjdk_6_genealogy/ 8u1 ... OpenJDK9 • 最初にJDK 7がOSS化 • JDK 7の途中からOpenJDK6が派生 • JDK 8も元はOpenJDK7 • JDK 7からはコードベースが OpenJDK7に一本化 • OracleJDKもOpenJDKも元は一緒 • 現在開発中のOpenJDK9は OpenJDK8からの派生
  • 7. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 参画企業の一例
  • 8. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 日本からも参画者が! 2015/04/08 Java Day Tokyo 2015 基調講演より:
  • 9. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OracleJDKとは何が違う?
  • 10. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Oracle (Sun) JDKとの違い http://ossipedia.ipa.go.jp/doc/208/ • 2010年に情報処理推進機構(IPA)から 公開されたOpenJDKとSunJDKの比較資料 • SunJDK 6u17とRed Hat社提供の java-1.6.0-openjdk-1.6.0.0-1.7.b09を 比較
  • 11. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY IPA報告資料より • Javaクラスライブラリ実装のうち97%は 問題なし • 残りの3%は差分があったものの、Javaと して仕様が定められていないもの • com.sunパッケージ • CORBAや画像処理などでJavaが内部的に使用 するもの • 通常のJavaプログラミングには全く影響なし • 実機検証においても、物理環境・仮想環境 に関係なく性能的な差異なし!
  • 12. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OracleJDK「だけ」にあるもの • Java Flight Recorder • -XX:FlightRecorder、-XX:StartFlightRecording • 商用環境への適用が可能な低オーバーヘッドプロファイラ • Application Class Data Sharing • -XX:UseAppCDS • マルチインスタンス構成時にアプリケーションクラス情報をプロセス間で共有 • Resource Management • -XX:MemoryRestriction、-XX:ResourceManagement、 -XX:ResourceManagementSampleInterval • G1GC選択時(-XX:+UseG1GC)に有効になる仮想メモリ使用量制御機能
  • 13. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OracleJDK「だけ」にあるもの • Error Report Transmission • -XX:TransmitErrorReport、-XX:ErrorReportServer • JVMクラッシュ時にエラーリポートを別サーバへ送信 • JavaFX • OracleJDK 7u2以降はSDKが付属 • OpenJDKではJavaFXのオープンソース実装であるOpenJFXが必要 • Java Plugin、Java Web Start
  • 14. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY IcedTea
  • 15. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY IcedTea • Red Hat主導のOpenJDKサポートプロジェクト • 元々はFOSSでOpenJDKのビルドを実現するためのプロジェクト • Java Plugin、Java Web Startを提供 • icedtea-web • 付加価値 • Zero VM • SystemTapサポート • 様々なJava関連OSSプロジェクトのホスティング • Thermostat • HeapStats
  • 16. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY IcedTeaで嬉しいコト × =長~いEOL
  • 17. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 例えばRed Hat Enterprise Linux • OpenJDKはRed Hat Enterprise Linux (RHEL) のコアコンポーネント • https://access.redhat.com/ja/articles/503403 • RHELのライフサイクルに依存 • Production 3(重大なセキュリティ、バグフィックスのみ提供)までGA後7年 はサポート • https://access.redhat.com/support/policy/updates/errata/
  • 18. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OracleJDKのサポートポリシー • 無償アップデート期間 • GAから3年間 • 後続のメジャーリリースから1年間 • これを超えてもアップデートが欲しい場合は有償契約が必要 http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html
  • 19. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OracleJDK 7までをご利用の方 もう無料でアップデートを 入手できません ※セキュリティFix含む
  • 20. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 最新のJDKに乗り換えるべき理由 公式アップデート提供の他にもメリットいっぱい!
  • 21. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 乗り換えるメリット 1. End Of Lifeまでの期間が長い! 2. OracleJDKのEOL後もバグFix、セキュリティFixが提供される! 3. アプリケーションがそのままでも性能が上がる可能性が! 4. 様々なサポートベンダが検討可能!
  • 22. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 性能向上の一例 • 新しいCPU命令セットの積極的な活用 • クラスライブラリ実装の性能改善 • GC(Garbage Collection: 不要メモリ回収機能)の性能改善 • JIT(Just-In-Time)コンパイラの最適化精度向上
  • 23. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 例えばAES暗号処理(7u40~) http://www.slideshare.net/YaSuenag/hotspot-46884406
  • 24. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 他にもこんな性能向上が! • JVM • Intel系SIMD命令を活用したメモリのバルク転送(6u14~) • SSE 4.2命令を活用した文字列処理性能の向上(6u18~) • クラスライブラリ • Arrays#sort(Object[]系)のアルゴリズムをTimSortに変更(7~) • その他 • JavaScript実行エンジンの性能向上(8~)
  • 25. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY サポートベンダ • OSSであるため、実装に基づく解析やパッチ提供が誰でも可能 • Red Hat • Azul
  • 26. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY NTTコムウェアでも… Javaアプリケーションの潜在的なバグ、チューニングについてコンサルティングします! Java診断サービス 1番多い メモリトラブルに対応! 一部の性能問題にも 対応可能 • サービス内容 • メモリ枯渇の危険性やメモリに関連するAPの潜在的なバグの有無を 確認 • Garbage Collection(GC)をはじめとした、JVMのチューニング実施 • OSSのツールを活用し、突然のトラブルにも迅速に対応できる環境の 実現に向けたコンサルティング • 対象プロダクト • Oracle JDK 1.5以上 • OpenJDK • JRockit R28以上 ※動作するミドル、ライブラリについては条件はありません。 NTTコムウェア 品質生産性技術本部 技術SE部 OSS・AP技術担当 ctpm-se-openjdk-all@srv.cc.nttcom.co.jp 043-211-2392
  • 27. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OpenJDKならではの「よかった」事例 どうせ乗り換えるならOpenJDKに!
  • 28. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY よかった1:クラッシュの解析 ウチのシステム、コア吐いて 死んじゃったんですけど! 商用トラブルなんで、なるはやで 助けてください!! じゃあ、とりあえず エラーログとコアイメージを 送ってください。
  • 29. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY よかった1:クラッシュの解析 あー、JITコンパイラのバグ っぽいです。 JIRAには書いていませんが、 ○○オプションで回避できます。 クラッシュしなくなりました! ありがとうございました!!実装調査
  • 30. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY よかった2:バグの予防 今度JDK 8使おうと思ってるんですが、 何か懸念ありますか? △△という商用ライブラリも使います。 △△? 以前JDKのバグを踏んだライブラリだな。 JDK 7にはコミットしたけど8は…?
  • 31. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY よかった2:バグの予防 やっぱり8に入ってなかったか。 ついでだから、コミュニティに バックポート依頼出しておこう。 △△はJDK 8では注意ですね! ありがとうございました!!変更履歴
  • 32. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OpenJDK開発への参加方法 自分/自社でOpenJDKをつくってみる
  • 33. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Contributing http://openjdk.java.net/contribute/
  • 34. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Developers’ Guide http://openjdk.java.net/guide/
  • 35. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 大前提 OCAにサインする
  • 36. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Oracle Contributor Agreement • OracleのOSSプロジェクトにパッチ等を寄贈(contribute)するための 同意書 • OpenJDK、GlassFishなど • OCAが締結されていないとパッチを出しても受領してもらえない • 個人でも締結可能 • 企業の場合は雇用者がサインする必要あり http://www.oracle.com/technetwork/oca-405177.pdf
  • 37. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OCA締結者一覧 http://www.oracle.com/technetwork/community/oca-486395.html
  • 38. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OpenJDKの前提知識 • コード管理 • Mercurial • 開発言語 • C、C++、アセンブラ(JVM) • Java、C(クラスライブラリ) • その他(Makefile、シェルスクリプトなど) • プラットフォーム • Windows • Linux • OS X など
  • 39. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 38 Step 1 Contributorhttp://www.wrc.com/en/wrc/media/galleries/page/50----.html
  • 40. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Contributor • OCAが受理されれば誰でもContributor! • パッチを出したらスポンサー探し • スポンサー:JIRAへの登録やパッチレビュー、コミットを手伝ってくれる人 • スポンサーは、そのパッチの対象となるプロジェクト/グループのコミッタ以上 が担うことができる
  • 41. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 40 Step 2 Authorhttp://www.wrc.com/en/wrc/media/galleries/page/50----.html
  • 42. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Author • 名前付きChangesetが2つ以上でなることができる • 条件を満たしたらProject Leadに「Authorになりたい」と連絡するだけ • OpenJDKのJIRAへの書き込み権、Oracleのコードレビューサーバ へのアクセス権をゲット! • OpenJDK Censusにも名前が載ります • パッチ提供の一連の作業が格段にはかどります! • 相変わらずスポンサーは必要
  • 43. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 名前付きchangeset
  • 44. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OpenJDK Census http://openjdk.java.net/census
  • 45. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 44 Step 3 Committerhttp://www.wrc.com/en/wrc/media/galleries/page/50----.html
  • 46. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Committer • 名前付きChangesetが8つ以上でなることができる • Authorでなくてもこの条件を満たせばCommitterになれます • 現在Committerを務めている人からノミネートされ、投票を受ける必要 がある • Authorの内容に加え、コミット権とスポンサー権をゲット! • ただし、HotSpot VMの場合はOracleのテストサーバ(非公開)経由で のpushが必須となっているため、Oracle社員以外は直接pushすること ができない • HotSpotに関しては相変わらずスポンサーが必要 • 他(クラスライブラリ、関連プロジェクト等)に関しては直接pushが可能
  • 47. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 46 Step 4 Reviewerhttp://www.wrc.com/en/wrc/media/galleries/page/50----.html
  • 48. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Reviewer • 現在Committerで、かつ名前付きChangesetが32個以上でなることが できる • 現在Reviewerを務めている人からノミネートされ、投票を受ける必要 がある • OpenJDKコミュニティで事実上最高ランク • Committerの内容に加え、レビュー権をゲット!
  • 49. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY ContributorがBugFixするまで 1. パッチを作る 2. MLに出す 3. レビューコメントに対応する 4. スポンサーにコミットしてもらう
  • 50. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY MLがこんなに! http://mail.openjdk.java.net/mailman/listinfo
  • 51. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY OpenJDKのML • コンポーネント別に分かれています • 基本的なクラスライブラリ:core-libs-dev • GC関連:hotspot-gc-dev • 出し先を間違えると反応してくれない可能性が高いです • OpenJDKのMLはファイル添付ができないので、パッチは本文記載や ストレージサービス等で参照できる形にする • jdk9やjdk8u-devなど、JDKそのもののMLには出さない! • 個々のバグフィックス、機能改善について議論する場ではありません • CommitterやReviewerの投票、JDKのリリーススケジュール、新機能の採否と いった全体的な議論をする場です
  • 52. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 私の対応したバグFix・機能改善 • Linux版JDK付属ツールの不具合改善 • 最新GCCでのビルド不具合対処 • 脆弱性対処 • クラッシュするようなバグへの対処 • 外部からの強制的なGCログローテーション機能の実装 など
  • 53. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JDK 9 2016年リリース!
  • 54. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JDK 9 • 2016/09/22リリース予定 • 数々の大幅な変更を含むリリース • HTTP/2への対応 • モジュラー化 • Javaランタイムのコンパクト化を実現 • JavaDocのHTML5化 • デフォルトのGCアルゴリズムをG1(Garbage First)GCへ変更 など
  • 55. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JDK 9 http://openjdk.java.net/projects/jdk9/
  • 56. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JEP @ JDK 9 JEP: JDK Enhancement Proposal 61個のエンハンスメント http://openjdk.java.net/projects/jdk9/
  • 57. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JDK 9の(小さいけど)うれしい変更点 なかなか表には出てこないものを一部紹介!
  • 58. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JEP 143: Improve Contended Locking • http://openjdk.java.net/jeps/143 • Javaのsynchronizedステートメントによる排他制御の性能改善 • マルチスレッドプログラムの性能向上に期待大! • Javaクラスライブラリ内でも多数使われています COMPLETED
  • 59. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JEP 165: Compiler Control • http://openjdk.java.net/jeps/165 • JVMのJITコンパイラを細かく制御する方法の実装 • 今までできた制御は、JITコンパイラ全体に対するコンパイル可否、インライン 制御など • ループ展開のレベル設定や生成されたアセンブラコードのロギングなど マニアックな きめ細かな設定が可能 • 起動後のプロセスに対して、後から設定を行うことも可能!
  • 60. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY JEP 254: Compact String • http://openjdk.java.net/jeps/254 • String内部表現をchar型配列(2バイト/字)からbyte型配列 (1バイト/字)にしてメモリを効果的に使おう!という改善 • Javaで扱う文字列の大半は半角英数だから2バイトもいらないよね?が発端 • Javaの文字列内部表現がUTF-16からUTF-8に変わるわけではありません! • メモリフットプリントの削減、GC発生頻度の低減が期待できる! • 日本語バリバリの環境では …?
  • 61. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY 網羅的に見てみたい方は… http://www.slideshare.net/YujiKubota/jdk9-jjug
  • 62. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY Java SE roadmap JavaOne 2014で発表されたロードマップ 2014 2015 2016 … JDK 7 EOSL (End of Service Life) • OracleJDK無償版は2015/7保守停止 • RHEL上のOpenJDKは2020年まで継続 JDK 8 2014/3 リリース済 • ラムダ式の導入 • Stream API • Date and Time API JDK 9 2016年予定 • Jigsaw : モジュール化 • HTTP 2.0 API • 軽量なJSONパーサ • JVMの性能改善 将来のJDK 時期未定 • Project Valhalla / Panama • Sumatra : GPGPU活用
  • 63. Copyright © NTT COMWARE CORPORATION 2015 NTT COMWARE CORPORATION CONFIDENTIAL PROPRIETARY