SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ UndertowについてYoshimasa Tanabe
 
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
 
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)NTT DATA Technology & Innovation
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) Hironobu Isoda
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてShigeru Tatsuta
 
ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向Keizo Tatsumi
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)NTT DATA Technology & Innovation
 
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~Shinji Takao
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
java.lang.OutOfMemoryError #渋谷java
java.lang.OutOfMemoryError #渋谷javajava.lang.OutOfMemoryError #渋谷java
java.lang.OutOfMemoryError #渋谷javaYuji Kubota
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
jcmd をさわってみよう
jcmd をさわってみようjcmd をさわってみよう
jcmd をさわってみようTsunenaga Hanyuda
 
Java によるクラウドネイティブ の実現に向けて
Java によるクラウドネイティブ の実現に向けてJava によるクラウドネイティブ の実現に向けて
Java によるクラウドネイティブ の実現に向けてShigeru Tatsuta
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)NTT DATA Technology & Innovation
 
Introduction to Java 11: Support and JVM Features #jjug
Introduction to Java 11: Support and JVM Features #jjugIntroduction to Java 11: Support and JVM Features #jjug
Introduction to Java 11: Support and JVM Features #jjugYuji Kubota
 
Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係yy yank
 

Was ist angesagt? (20)

Metaspace
MetaspaceMetaspace
Metaspace
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
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)
 
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
JVMに裏から手を出す!JVMTIに触れてみよう(オープンソースカンファレンス2020 Online/Hiroshima 講演資料)
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps について
 
Oracle GoldenGate入門
Oracle GoldenGate入門Oracle GoldenGate入門
Oracle GoldenGate入門
 
ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
 
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
KafkaとPulsar
KafkaとPulsarKafkaとPulsar
KafkaとPulsar
 
java.lang.OutOfMemoryError #渋谷java
java.lang.OutOfMemoryError #渋谷javajava.lang.OutOfMemoryError #渋谷java
java.lang.OutOfMemoryError #渋谷java
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
jcmd をさわってみよう
jcmd をさわってみようjcmd をさわってみよう
jcmd をさわってみよう
 
Java によるクラウドネイティブ の実現に向けて
Java によるクラウドネイティブ の実現に向けてJava によるクラウドネイティブ の実現に向けて
Java によるクラウドネイティブ の実現に向けて
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
 
Introduction to Java 11: Support and JVM Features #jjug
Introduction to Java 11: Support and JVM Features #jjugIntroduction to Java 11: Support and JVM Features #jjug
Introduction to Java 11: Support and JVM Features #jjug
 
Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係
 

Andere mochten auch

中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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 ~ インフラエンジニアのたしなみ ~
 

Kürzlich hochgeladen

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Kürzlich hochgeladen (8)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

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