Submit Search
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
11 likes
16,222 views
Takakiyo Tanaka
IBM SDK for Java 8 の全貌 (盛林哲さん:日本アイ・ビーエム)の講演資料です。
Software
Read more
1 of 59
Download now
Downloaded 116 times
1
2
Most read
3
4
5
6
7
8
Most read
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
More Related Content
What's hot
(20)
PDF
20160215 04 java ee7徹底入門 jbatch
Jun Inose
PDF
マイクロにしすぎた結果がこれだよ!
mosa siru
PPTX
RLSを用いたマルチテナント実装 for Django
Takayuki Shimizukawa
PDF
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
PDF
Javaのログ出力: 道具と考え方
Taku Miyakawa
PDF
低レイヤー入門
demuyan
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
PDF
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Ryosuke Uchitate
PDF
Form認証で学ぶSpring Security入門
Ryosuke Uchitate
PDF
OAuth 2.0のResource Serverの作り方
Hitachi, Ltd. OSS Solution Center.
PDF
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
PDF
BuildKitの概要と最近の機能
Kohei Tokunaga
PDF
外部キー制約に伴うロックの小話
ichirin2501
PPTX
Redisの特徴と活用方法について
Yuji Otani
PPTX
Metaspace
Yasumasa Suenaga
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
PDF
今さら聞けないDiとspring
土岐 孝平
PDF
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
PDF
アクセスプラン(実行計画)の読み方入門
Akira Shimosako
20160215 04 java ee7徹底入門 jbatch
Jun Inose
マイクロにしすぎた結果がこれだよ!
mosa siru
RLSを用いたマルチテナント実装 for Django
Takayuki Shimizukawa
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
Javaのログ出力: 道具と考え方
Taku Miyakawa
低レイヤー入門
demuyan
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Ryosuke Uchitate
Form認証で学ぶSpring Security入門
Ryosuke Uchitate
OAuth 2.0のResource Serverの作り方
Hitachi, Ltd. OSS Solution Center.
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
BuildKitの概要と最近の機能
Kohei Tokunaga
外部キー制約に伴うロックの小話
ichirin2501
Redisの特徴と活用方法について
Yuji Otani
Metaspace
Yasumasa Suenaga
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
今さら聞けないDiとspring
土岐 孝平
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
アクセスプラン(実行計画)の読み方入門
Akira Shimosako
Viewers also liked
(9)
PDF
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
Akira Shimosako
PDF
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)
Akira Shimosako
PDF
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Akira Shimosako
PDF
エバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫る
Takumi Kurosawa
PDF
DB2をAWS上に構築する際のヒント&TIPS
Akira Shimosako
PDF
DBパフォーマンスチューニングの基礎:インデックス入門
Akira Shimosako
PDF
Groovyで楽にSQLを実行してみよう
Akira Shimosako
PDF
DB2の使い方 管理ツール編
Akira Shimosako
PDF
データベース設計徹底指南
Mikiya Okuno
CLUB DB2 第137回:基礎から再入門!DB2モニタリング入門
Akira Shimosako
IBM版Hadoop - BigInsights/Big SQL (2013/07/26 CLUB DB2発表資料)
Akira Shimosako
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Akira Shimosako
エバンジェリストが語るパワーシステム特論 ~ 特番:世界最速スパコン、セコイア(IBM Blue Gene/Q)の凄さの秘密に迫る
Takumi Kurosawa
DB2をAWS上に構築する際のヒント&TIPS
Akira Shimosako
DBパフォーマンスチューニングの基礎:インデックス入門
Akira Shimosako
Groovyで楽にSQLを実行してみよう
Akira Shimosako
DB2の使い方 管理ツール編
Akira Shimosako
データベース設計徹底指南
Mikiya Okuno
Ad
Similar to JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
(20)
PDF
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
Takakiyo Tanaka
PPTX
20140518 JJUG MySQL Clsuter as NoSQL
Ryusuke Kajiyama
PDF
XPagesDay 2014 - What's new in XPages NOW!
Atsushi Sato
PDF
今年はJava進化の年!今知っておくべき新しいJava
Takashi Ito
PDF
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
Rina Owaki
PDF
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
Takakiyo Tanaka
PDF
EMC様講演 OpenStack最新情報セミナー 2014年6月
VirtualTech Japan Inc.
PDF
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
hirookun
PDF
Windows環境でのMySQL
yoyamasaki
PDF
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
Takakiyo Tanaka
PDF
Introduction to web development 1
hideaki honda
PDF
20161119 java one-feedback_osaka
Takashi Ito
PDF
PHP on Windows Azure in Open Source Conference
Microsoft
PDF
Harmoware-VIS Tutorial
Nobuo Kawaguchi
PDF
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
Akira Inoue
PDF
Open Liberty / WebSphere Liberty
Takakiyo Tanaka
PDF
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
NetApp Japan
PDF
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
Naoto Gohko
PDF
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
Takakiyo Tanaka
PDF
VIOPS03: VMware参考資料
VIOPS Virtualized Infrastructure Operators group ARCHIVES
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
Takakiyo Tanaka
20140518 JJUG MySQL Clsuter as NoSQL
Ryusuke Kajiyama
XPagesDay 2014 - What's new in XPages NOW!
Atsushi Sato
今年はJava進化の年!今知っておくべき新しいJava
Takashi Ito
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
Rina Owaki
IBMが新しいJava EEコンテナを作っているらしい -Libertyプロファイルとは-
Takakiyo Tanaka
EMC様講演 OpenStack最新情報セミナー 2014年6月
VirtualTech Japan Inc.
TFセミナー マイクロソフト製品で作る Web インフラ 基本編
hirookun
Windows環境でのMySQL
yoyamasaki
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
Takakiyo Tanaka
Introduction to web development 1
hideaki honda
20161119 java one-feedback_osaka
Takashi Ito
PHP on Windows Azure in Open Source Conference
Microsoft
Harmoware-VIS Tutorial
Nobuo Kawaguchi
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
Akira Inoue
Open Liberty / WebSphere Liberty
Takakiyo Tanaka
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
NetApp Japan
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
Naoto Gohko
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
Takakiyo Tanaka
VIOPS03: VMware参考資料
VIOPS Virtualized Infrastructure Operators group ARCHIVES
Ad
More from Takakiyo Tanaka
(12)
PDF
OutOfMemoryErrorとは
Takakiyo Tanaka
PDF
MicroProfile Starterで簡単スタート Open Liberty
Takakiyo Tanaka
PDF
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
Takakiyo Tanaka
PDF
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
Takakiyo Tanaka
PDF
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Takakiyo Tanaka
PDF
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
Takakiyo Tanaka
PDF
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
Takakiyo Tanaka
PDF
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
Takakiyo Tanaka
PPTX
ついに始まるJava EE 7時代のアプリケーション開発
Takakiyo Tanaka
PDF
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Takakiyo Tanaka
PDF
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Takakiyo Tanaka
PDF
Java EE 6で復活するエンタープライズJavaの世界
Takakiyo Tanaka
OutOfMemoryErrorとは
Takakiyo Tanaka
MicroProfile Starterで簡単スタート Open Liberty
Takakiyo Tanaka
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
Takakiyo Tanaka
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
Takakiyo Tanaka
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Takakiyo Tanaka
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
Takakiyo Tanaka
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
Takakiyo Tanaka
JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの...
Takakiyo Tanaka
ついに始まるJava EE 7時代のアプリケーション開発
Takakiyo Tanaka
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Takakiyo Tanaka
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Takakiyo Tanaka
Java EE 6で復活するエンタープライズJavaの世界
Takakiyo Tanaka
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
1.
© 2014 IBM
Corporation JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 ⽇日本アイ・ビー・エム(株)盛林林 哲
2.
© 2014 IBM
Corporation ⾃自⼰己紹介 2 2000 年年より WebSphere 製品の技術者として活動。 サポートエンジニアを経て、現在はサービス部⾨門で WAS 専⾨門家としてトラブルシュー トを数多く実施。 ヘルスチェックやパフォーマンスチェックなど安定稼働に取り組む。趣味スノーボード・写 真など。
3.
© 2014 IBM
Corporation IBM Javaとは
4.
© 2014 IBM
Corporation IBM SDK for Javaとは 4 Java SDK = JRE + DevTools Java実⾏行行環境 開発に使⽤用する各ツール群 Java API JVM GC/MemoryManagement JIT/Interpreter RAS (SPEC準拠)
5.
© 2014 IBM
Corporation IBM Java Runtime: J9VMとは § IBM Java 5から標準採⽤用されている新しい実装のVM (IBM Java 1.3.1 および 1.4.2 でも開発環境における⾼高速デバッグ⽤用に⼀一部含まれていた) § マイクロエディション (J2ME)から発展 § ⾼高パフォーマンスの実⾏行行環境 § 15種類以上のプラットフォームをサポート § ダンプやトレースによる強⼒力力な診断機能 § 各種分析ツール
6.
© 2014 IBM
Corporation IBM Java Runtime: ガーベッジ・コレクション(GC) § J9VMの実装 § CPU能力を活用したマルチスレッド処理 § 複数のGC方式を提供 GCの種類 説明 optthruput スーループットに最適化されたIBM Java登場時から利利⽤用されているGC⽅方式。Mark,Sweep,Compactionの3つの処理理で成り⽴立立 つ。保守的GCと呼ばれる。 optavgpause 停⽌止時間に最適化されたGC。保守的GC利利⽤用時に、ヒープ中のオブジェクト数が増えるとMark処理理が⻑⾧長時間化し、アプリケーション 停⽌止時間が⻑⾧長い問題を防ぐ。Mark処理理をGC実⾏行行時以外にも平⾏行行して⾏行行う。 subpool ヒープレイアウトはoptthruputと同じ。⼤大規模環境で問題となるオブジェクト割り当てを⾼高速化するため、フリーリストをサイズ別に構 造化管理理。(AIX,ppcLinux,i5,zLinux,zOSで使⽤用可能)現在はoptthruputに統合された。 gencon 世代別GC。オブジェクトの存在時間に着⽬目してヒープ領領域をNew/Oldに分割し、New領領域にスカベンジGC(オブジェクトのコピー による処理理)、Old領領域にoptturuput⽅方式を⽤用いる。IBM Java5から利利⽤用可能。WASV8から標準構成。 metronome IBM Java7から評価⽤用に提供。(Winを除く)IBM WebSphere RealTime 製品により正式サポート利利⽤用可能。ミリ秒単位に 分割されたGCで、制御系や処理理の応答速度度重視のアプリケーション(例例:アルゴリズムトレーディング等)に有⽤用。http:// www.ibm.com/developerworks/jp/java/library/j-‐‑‒rtj4/ balanced バランスGC。Java7より利利⽤用可能。世代別GCの強みを活⽤用し、複数の処理理を効果的に組み合わせたGC。ヒープ領領域を多数に分 割し、GC対象とGCの処理理を動的に選択して処理理することで、⼤大規模メモリー、⼤大規模CPU環境において問題が顕著となるグローバ ルGCの発⽣生を抑える。
7.
© 2014 IBM
Corporation IBM Java Runtime:バランスGCとは § 世代別GCの課題 ⇒グローバルGCの発⽣生 § 解決策 ⇒ バランスGC OLDNew 通常のスカベンジGCの範囲 グローバルGCの範囲 Javaヒープ構造 ⼤大規模JVMでは致命的ともいえる⻑⾧長時間GCの発⽣生につながる恐れ Javaヒープ領領域を1024〜~2047個に分割して個別管理理(各領領域サイズは512KB,1MB,2MB,4MB,8MB...で⾃自動選択) Javaヒープ構造 割り当て 割り当て 割り当て Copying ←パーシャルGCと呼ばれる • 通常はパーシャルGCが若若いオブジェクトが多い領領域を重点に⾃自動的に実⾏行行される • パーシャルGCの効率率率が下がると、GlobalMarkを実⾏行行、各領領域の状況を判定して、パーシャルGCの効率率率を上げる • メモリー不不⾜足だとグローバルGCが発⽣生する場合があるが、世代別GCより発⽣生を抑えられる
8.
© 2014 IBM
Corporation IBM Java Runtime:バランスGCとは § バランスGCポリシーを使⽤用するための条件 – 64bitプラットフォーム上の64bit JVMを使⽤用している – 4G以上のJavaヒープ領領域を割り当てている § バランスGCポリシーが効果を発揮するために有利利な条件 – 実⾏行行しているH/Wが NUMA (Non-‐‑‒Uniform Memory Architecture) 特性を持っている – アプリケーションが,多数のスレッドが並⾏行行稼働するようになっている – アプリケーションが,動的なクラスのロード(リフレクション)を多⽤用している § バランスGCポリシーを利利⽤用するべきでない条件 – Javaヒープ・サイズの使⽤用率率率が恒常的に⾼高い/空き領領域がほとんどない – サイズの⼤大きい配列列(最⼤大ヒープ・サイズの0.1%より⼤大きいサイズ)を 多⽤用している リーフポインターを使⽤用して複数の領領域に分割格納する dWおよびWASV8アナウンスメントワークショップ(JVM設計)より
9.
© 2014 IBM
Corporation IBM Java Runtime: Just In Time Compiler(JIT) § J9VMの実装 (通称Testarossa) § 独立したコンパイルスレッド – プロファイルスレッドが “hotness”の判定実施 – メソッドはコンパイルのためにQueueされる – 5 つの最適化レベル – メソッド再コンパイルが可能 強 弱 1. scorching 2. veryHot 3. hot 4. warm 5. cold 6. noOpt コンパイル キュー コンパイル スレッド プロファイル スレッド Impact2014より
10.
© 2014 IBM
Corporation IBMのJava SE テクノロジーへのアプローチ 10 Java テクノロジ リファレンス Oracle, open source, 等 IBM Java IBM Java Technology Centre 品質技術 パフォーマンス セキュリティー 信頼性 保守性 製品要望 IBM Software Group IBMサーバー ISV IBMユーザー ü ワールドクラスのサービスおよびサポート ü 最も多くのプラットフォームで利利⽤用可能 ü IBM主要ミドルウェアやお客様シナリオに最適化 ü ハードウェア、ソフトウェア双⽅方の能⼒力力を最⼤大化 XML Crypto CORBA J9 Virtual machine Impact2014より
11.
© 2014 IBM
Corporation IBMはアプリケーションの⾼高い要求に応えるために Javaテクノロジーに取り組んでいます 11 ● パフォーマンス – パフォーマンスはJavaユーザーにとって重要です – IBMはパフォーマンス技術に関する多くの経験があり、⾼高パフォーマンスで拡張性のあるソリューションの開発に深い関⼼心を持って取り組 んでいます – この経験を⽣生かし、サポートするプラットフォーム全体にわたり最良良のパフォーマンスを得るために、ハードウェア、オペレーティング・システム およびミドルウェアのデザイナーと密接に連携しています ● セキュリティー – IBMはXMLセキュリティー標準で⼤大きな貢献を⾏行行っています – FIPS準拠のJCE、JSSEプロバイダーを提供し、そして多くのハードウェア暗号装置をサポートしています ● 信頼性 – Javaはミッション・クリティカルなアプリケーションで使⽤用されています – ⾼高信頼性のために、IBMはJava Runtime⼼心臓部のエンジンに細⼼心の注意を払いながら、JVMの再デザインを⾏行行っています ● 保守性 – 障害発⽣生時には、迅速に問題を⾒見見つけて切切離離すことは重要です – IBMは確実に素早く問題解決するために、トレース、ログ、初期障害データ・キャプチャー機能 (FFDC)、デバッグおよびパフォーマンス ⽤用のインターフェース、ツールを重視しています ● 拡張性 – 数多くの設定項⽬目 – Plug可能なインターフェース – クラス・ライブラリの独⽴立立性 Impact2014より
12.
© 2014 IBM
Corporation 2006 2007 2008 2009 2010 2011 2012 2013 2014 Java SE リリース 12 • パフォーマンス改善 • UIの改良 • Client Webサービス のサポー ト Java 6.0 改良点 • 起動時間の短縮 • スループット向上 • 新たにバランスGCの追加 • 保守ツールの新機能 • ソフト・リアルタイム評 価版 • POWER7およびz196上で のパフォーマンス向上 IBM Java 7.0 • Solaris x86-64 • Solaris SPARC • Solaris x86 • Windows IA32 • Windows AMD64 • Windows EAMT64 • Linux IA32 • Linux AMD64 • Linux EAMT64 • zOS 64 • AIX PPC 32 • AIX PPC 64 • iSeries (via PASE) • Linux PPC 32 • Linux PPC 64 • zLinux 31 • zLinux 64 • HP-UX PA-RISC 32 • HP-UX PA-RISC 64 • HP-UX IA64 • zOS 31 IBM サポート プラットフォーム (Java 6.0/7.0) • 言語の変更 • New IO API(NIO2) • Java persistance API • SWINGの使いやすさの向上 Java 7.0 • 改良点 • プラットフォームカバレッ ジ • パフォーマンス • 保守ツール • 新機能 • IBM WebSphere Real-Time V1.0 IBM Java 6.0 Solaris x64 Solaris SPARC Solaris x86 Windows IA32 Windows AMD64 • Windows EAMT64 • Linux IA32 • Linux IA64 • Linux AMD64 • Linux EAMT64 Oracle サポート プラットフォーム (Java 6.0) 8.0 Java 7R1 21 プラットフォーム 対応 IBM Java 7.1 新プラットフォーム対応 POWER 8 zEC12 • 新機能 • Data Access Accelerator • RDMA • 評価版 • マルチテナンシー • Packed Objects • 改良点 • サービス • パフォーマンス • ツール • ラムダ式 • 日付時刻API • タイプアノテーション Java 8.0 Java 6.0 21 プラットフォーム対応 Java 7.0 21プラットフォーム対応 7.0 6.0 Impact2014より ※HP,SolarisはIBMのクラスライブラリを追加したもの
13.
© 2014 IBM
Corporation IBM Java 8の新機能
14.
© 2014 IBM
Corporation Java8で採⽤用されたフィーチャー 14 ● Language – Access to Parameter Names at Runtime – Add Javadoc to javax.tools (JSR 199 MR) – Annotations on Java Types (JSR 308) – Generalized Target-‐‑‒Type Inference (JSR 335) – Lambda Expressions & Virtual Extension Methods (JSR 269 MR, 335) – Repeating Annotations (JSR 269 MR, 337) ● Core Libraries – Base64 Encoding & Decoding – Bulk Data Operations for Collections (JSR 335) – Concurrency Updates – Date & Time API (JSR 310) – Enhance Core Libraries with Lambda (JSR 335) – JDBC 4.2 (JSR 114 MR, 221 MR) – Parallel Array Sorting ● I18n – BCP 47 Locale Matching – Unicode 6.2 ● Security – Configurable Secure Random-‐‑‒Number Generation – Enhance the Certificate Revocation-‐‑‒Checking API – Limited doPrivileged – NSA Suite B Cryptographic Algorithms – TLS Server Name Indication (SNI) Extension ● Platform – Compact Profiles – Prepare for Modularization (JSR 160 MR, 173 MR, 206 MR, 337) http://openjdk.java.net/ Impact2014より
15.
© 2014 IBM
Corporation IBM Java8に追加されるフィーチャー 15 § Java SE8 (JSR 337)互換 § 最新のIBMハードウェアへの対応 – (例例: IBM zEnterprize EC12、POWER8) § アプリケーション変更更をせずスループットを向上させるワークロード最適化ラ ンタイムの改善 § クラウド、マルチテナンシー環境のサポート強化 § Javaコードからnativeデータ・レコードやタイプへのアクセスの効率率率改善 (予定) Impact2014より
16.
© 2014 IBM
Corporation IBM Java 8を使うには.. 16 ● IBM Java8 GA版は2014年年11⽉月に提供開始予定です。 ● 現在 IBM Java8 Beta3が利利⽤用可能です。 ● http://www.ibm.com/developerworks/java/jdk/beta/ ● IBM Java8に搭載される先進機能は、2013年年12⽉月6⽇日に正式リリ ースされたIBM Java7Release1でも利利⽤用できます。 (2014年年5⽉月現在の情報です)
17.
© 2014 IBM
Corporation IBM Java 7 Release1の新機能
18.
© 2014 IBM
Corporation IBM Java7 Release 1の機能 18 § Java SE7 (JSR 336)互換 § IBM Java7と平⾏行行して提供 § 最新機能の提供 – z/OS V2.1,zEC12, zBC12の機能に対応 – POWER8の機能に対応 – アプリケーション変更更無しでスループット向上 – Javaコードからnativeデータ・レコードやタイプへのアクセスのサポート 強化(評価版) – より多くの調査を迅速に⾏行行うための診断機能とモニタリング機能の改 善 – アプリケーション密度度の向上実現する機能(評価版) Impact2014より
19.
© 2014 IBM
Corporation IBM Java SDK: モニタリングおよび管理理ツール 19 アプリケーション・モニタリングおよび問題の診断ツールは以下の特徴があります。 ● 無償で統⼀一化されたツール群により、Javaアプリケーションの特性を把握可能 ● 軽量量でパフォーマンスへの影響は最⼩小のままアプリケーションのモニタリングおよび診断が可能 ● 可視化だけではなく、監視・診断結果やユーザーに推奨する設定内容を提⽰示 各ツールの説明 http://www.ibm.com/developerworks/java/jdk/tools/index.html p Interactive Diagnostic Data Explorer p Garbage Collection and Memory Visualizer p Memory Analyser p Health Center IBM Monitoring and Diagnostic Tools for Java Impact2014より eclipse market placeからも提供 eclipse market placeからも提供 eclipse market placeからも提供 ※IBMのサイトから提供 ※参考情報 http://bit.ly/1j6Dr2N
20.
© 2014 IBM
Corporation 例例: HealthCenter 20 HealthCenter: 実サービス環境で利利⽤用可能な低負荷なプロファイリングツール IBM JVM HealthCenter クライアント(RCP)HealthCenter エージェント Windows/Linux TCP/IP ログ ログ 項⽬目 設定内容 Baseline Health Centerを完全に無効化した場合 Dormant Health Centerエージェントはロードされているが活動していない場合 Network Client Health Centerエージェントを活動させ、ネットワーククライアントを接続している場合 Headless Client Health Centerエージェントをロードし、ローカルのログに記録する場合 Headless Client with ZIP Health Centerエージェントをロードし、ローカルのログににZIPで記録する場合 エージェントをロード・活動化してモニターした ほうがスループットが⾼高い! • CPU • I/O • GC • クラス • スレッド • ネイティブ・メモリー詳細 • メソッド・トレース • アプリケーションロック エージェントはIBMJava標準同梱 java -jar healthcenter.jar をIBM JVM同⼀一OS上で実⾏行行すると、稼働中のJVMに HealthCenterエージェントを動的にロードして利利⽤用可能 出典元: http://www.slideshare.net/cnbailey/javaone2013-‐‑‒build-‐‑‒your-‐‑‒own-‐‑‒runtime-‐‑‒monitoring-‐‑‒for-‐‑‒the-‐‑‒ibm-‐‑‒jdk-‐‑‒with-‐‑‒the-‐‑‒health-‐‑‒center-‐‑‒api zipまたはflat 実稼働環境におけるアプリケーションの課題把握に有⽤用 Eclipse Market Placeからプラグイン提供中 15種類以上のプラットフォーム
21.
© 2014 IBM
Corporation 強化されたモニタリング、診断機能 21 ■ 機能向上のポイント p javacoreファイルへの追加情報 p com.ibm.jvm.Dump APIの強化 p JIT 診断機能の改善 p SDK メソッド・トレースのパフォーマンス改善 p トレース・ポイントのサブスクライブのJVMTI拡張 p SDKのトレース・ポイントの追加 ■ ユーザーのメリット p APIの改良良によりJavaアプリケーションによるダンプの取得と診断がより便便利利に p javacoreの環境およびスレッド・セクションに新たに追加された情報は初期障害診断に有⽤用 p 新しいJITダンプ機能により、迅速な調査およびJITの初期障害診断を実現 p トレース設定時のアプリケーション・スループットの向上で、Javaアプリケーション・フローの調査 にも強⼒力力なSDK環境を提供 p 他のソフトウェアコンポーネントとSDKトレース機能の統合 p トレース・ポイントの対象拡⼤大によるSDKの保守性の改善 IBM Java Version 7 Release 1 Impact2014より
22.
© 2014 IBM
Corporation 例例:javacoreファイルへの追加情報 22 3XMTHREADINFO "WebContainer : 0" J9VMThread:0x0000000016295800, j9thread_̲t:0x00002AAABADE8040, java/lang/Thread: 0x0000000001426508, state:P, prio=5 3XMJAVALTHREAD (java/lang/Thread getId:0x3E4, isDaemon:true) 3XMTHREADINFO1 (native thread ID:0x93F, native priority:0x5, native policy:UNKNOWN) 3XMTHREADINFO2 (native stack address range from:0x0000000043B34000, to:0x0000000043B75000, size:0x41000) 3XMCPUTIME CPU usage total: 6.866931193 secs 3XMTHREADBLOCK Parked on: java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject@0x0000000001919F88 Owned by: <unknown> 3XMHEAPALLOC Heap bytes allocated since last GC cycle=2048 (0x800) 3XMTHREADINFO3 Java callstack: 4XESTACKTRACE at sun/misc/Unsafe.park(Native Method) 4XESTACKTRACE at java/util/concurrent/locks/LockSupport.parkNanos(LockSupport.java:222(Compiled Code)) 4XESTACKTRACE at java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java: 2127(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/BoundedBuffer$GetQueueLock.await(BoundedBuffer.java:286(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/BoundedBuffer.waitGet_̲(BoundedBuffer.java:425(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/BoundedBuffer.take(BoundedBuffer.java:823(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/ThreadPool.getTask(ThreadPool.java:1036(Compiled Code)) 4XESTACKTRACE at com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1888) 3XMTHREADINFO3 Native callstack: 4XENATIVESTACK (0x00002AAAAB0A3122 [libj9prt26.so+0x13122]) 4XENATIVESTACK (0x00002AAAAB0B079F [libj9prt26.so+0x2079f]) 4XENATIVESTACK (0x00002AAAAB0A2E6B [libj9prt26.so+0x12e6b]) 4XENATIVESTACK (0x00002AAAAB0A2F67 [libj9prt26.so+0x12f67]) 4XENATIVESTACK (0x00002AAAAB0B079F [libj9prt26.so+0x2079f]) 4XENATIVESTACK (0x00002AAAAB0A2A8B [libj9prt26.so+0x12a8b]) 4XENATIVESTACK (0x00002AAAAB09C8E2 [libj9prt26.so+0xc8e2]) 4XENATIVESTACK (0x000000352020EBE0 [libpthread.so.0+0xebe0]) 4XENATIVESTACK pthread_̲cond_̲timedwait+0x120 (0x000000352020B1C0 [libpthread.so.0+0xb1c0]) 4XENATIVESTACK j9thread_̲park+0xfe (0x00002AAAAAE7EACE [libj9thr26.so+0x5ace]) 4XENATIVESTACK (0x00002AAAB030A12D [libjclscar_̲26.so+0x5712d]) 4XENATIVESTACK sun_̲misc_̲Unsafe_̲park+0x64 (0x00002AAAB02FD160 [libjclscar_̲26.so+0x4a160]) Javaスレッド毎の合計 CPU使⽤用量量が判 る!! Javaスレッド毎に前回の GC後に割り当てたヒープ 量量が判る!! 0SECTION ENVINFO subcomponent dump routine NULL ================================= .... 1CISYSINFO System Information NULL -------------------------------------------------------------------- 2CISYSINFO Hypervisor name = VMWare • スレッド情報セクション抜粋 • システム情報セクション抜粋 JVMが稼働するOSが実 ⾏行行されるハイパーバイザー 情報が判る
23.
© 2014 IBM
Corporation 例例:ダンプ機能周りの改善 23 項目 設定内容 Javacore JVMの内部情報をテキストファイルに書き出す。 Heapdump JVMのJavaヒープの情報をファイルに書き出す。パック・オブジェクト書き出しに対応。 Snapdump JVMのトレースバッファの情報をファイルに書き出す。(フライトレコーダ) Systemdump JVMのプロセス全体のイメージを書き出す。(OSのプロセスダンプ) jitdump JVMのJITコンパイラの詳細情報をファイルに書き出す。-‐‑‒Xdump:jitで制御。JIT問題判別⽤用。 New New • com.ibm.jvm.Dump APIの強化 • ダンプの種類と内容 (JIT診断機能の改善) 以下の新しいメソッドをアプリケーションが利利⽤用可能です。 ダンプのファイル名を取得できます。 String javaDumpToFile() String heapDumpToFile() String systemDumpToFile() String snapDumpToFile() ダンプのファイル名を指定ができます。 ファイル名には%dateや%pidなどのトークンが利利⽤用可能です。 String javaDumpToFile(String fileName) String heapDumpToFile(String fileName) String systemDumpToFile(String fileName) String snapDumpToFile(String fileName) ダンプのトリガーにはAPI呼び出し以外にも17種類以上の詳細なイベントに条件設定可能。
24.
© 2014 IBM
Corporation zEC12 ハードウェア新機能への対応 24 z/OS上のJavaへの積極的な投資を継続 Javaに合わせて協調設計された、⼀一連の重要なハードウェ ア新機能 ハードウェア・トランザクション・メモリー (HTM) マルチスレッド・アプリケーションにおける並⾏行行性の向上 例例: juc.ConcurrentLinkedQueueが最⼤大2倍以上 Runtime Instrumentation (RI)機構 ランタイムを管理理するために設計された⾰革新的な新しいハードウェア機構 JRE最適化の新たな拡張を実現 2GBのページ・フレーム 64-‐‑‒bitヒープのパフォーマンス向上 Flash Expressによる1MBラージ・ページ メモリー管理理⽅方法の多様化 ソフトウェアの新しいヒント/ディレクティブ データの⽤用途に従ったキャッシュ管理理が向上 分岐のプリロードにより分岐予測が向上 zEnterprise Data Compression accelerator gzip アクセラレーター 新しいトラップ命令令 暗黙的な境界/NULLチェックのオーバーヘッド削減 新しい 5.5 GHz 6コア・プロセッサー・チップ ⼤大容量量キャッシュ によるデータ・サービスの最適化 第2世代 OOO design Java処理理において60%のスループット向上 zEC12 およびIBM Java7SR3使⽤用 出典:Engineered Together̶—IBM Java and zEC12 Boost Workload Performance http://www.ibmsystemsmag.com/mainframe/trends/whatsnew/java_̲compiler/ Impact2014より
25.
© 2014 IBM
Corporation Power 8 プロセッサー新機能への対応 25 ■ Power 8 プロセッサのフィーチャー -‐‑‒ ハードウェア・トランザクション・メモリー(HTM) -‐‑‒ Runtime Instrumentation(RI)機構 -‐‑‒ AES 暗号処理理 -‐‑‒ Polynomial multiplication-‐‑‒sum -‐‑‒ Direct move -‐‑‒ Vector load/store -‐‑‒ SMT8 -‐‑‒ 16バイト larx/stcxlq/stq ここでご紹介したzEC12およびPower8新機能への対応はIBM J9 JVMとJITコンパイラ―によっ て直接使⽤用されている機能です。 いずれもパフォーマンス等の利利⽤用者へのメリットを提供するものであり、既存のJavaアプリケーション および開発者への影響をあたえるものではありません。 ⼤大幅なパフォーマンスの向上を達成!!! Java 7 SR4 と⽐比較し、 SPECjbb2013 ʻ‘max-‐‑‒jOPSʼ’ で10%以上のパフォーマンス改善するという⽬目標を達成 しました。さらに以下の改善を達成しています。 ● 13% のスループット、26% 応答時間改善: Watson ● 30%のスループット向上: ILOG ● 3-‐‑‒5% のスループット向上: DayTrader3 ● RMI-‐‑‒IIOPのマーシャル/アンマーシャル処理理のパフォーマンスはWeblogic t3に⽐比較し3.8倍、Day-‐‑‒traderでは8.5%向上 Impact2014より この結果。。。
26.
© 2014 IBM
Corporation26 新たな機能のご紹介〜~
27.
© 2014 IBM
Corporation27 JSoR(RDMAサポート) マルチテナンシー Data Access Accelerators(DAA) パック・オブジェクト Impact2014より
28.
© 2014 IBM
Corporation JSoR: Remote Direct Memory Access (RDMA) 通信 28 ● 低遅延、⾼高スループットネットワーク を活⽤用(10/40/56 Gbps) ● リモートホスト間でのアプリケーションからアプリケーションへの直メモリー・アクセス ● ネットワーク処理理を RDMA NIC/HCAにオフロードし、 OS/カーネルをバイパス (Z-‐‑‒Copy) ● java.net.Socket APIでそのまま利利⽤用可能な実装 (JSoR=Java Socket over RDMA) Java Application Server Buffer Off Heap Buffer Java Application Client Buffer Off Heap Buffer Ether/IB SwitchRDMA NIC/HCA RDMA NIC/HCA OS OS DMA DMA (Z-Copy) (Z-Copy) (B-Copy)(B-Copy) Acronyms: Z-Copy – Zero Copy B-Copy – Buffer Copy IB – InfiniBand Ether - Ethernet NIC – Network Interface Card HCA – Host Control Adapter Impact2014より
29.
© 2014 IBM
Corporation JSoR/RDMA通信のパフォーマンス 29 JSoRはTCP/IPや、IPoIB、SDPよりも優れたデータ転送能⼒力力が⽰示されています 参考:NetPIPE for Java Benchmark -‐‑‒ http://bitspjoule.org/netpipe/ Impact2014より
30.
© 2014 IBM
Corporation マルチテナンシー概要 30 アプリケーション密度度: 単⼀一のハードウェア上でどれだけのアプリケーションを集約できるかの指標 課題:多くのJavaアプリケーションの密度度向上を妨げる要因 ⇒ メモリー 巨⼤大にもかかわらずJVM間で共有できていないメモリー領領域 » Javaヒープ » JITコンパイル・コードとメタデータ 多くのJVMはフットプリントよりパフォーマンス・チューニングに重点 同⼀一OS上で複数のJVM間でGC、JITサービスは連携していない 解決策:マルチテナンシー マルチテナンシー機能により、JVMがʼ’仮想化ʼ’され、アプリケーションの変更更なしに複数のアプリケーションが 単⼀一のランタイムを共有できる。H/W上のハイパーバイザーと同様のコンセプトで、これによりアプリケー ションのリソースを積極的に共有。 Technology Preview Impact2014より
31.
© 2014 IBM
Corporation マルチテナンシー:IBMのJVM仮想化へのアプローチ 31 〇通常のjava環境 3つの個別(共有されていない)のJVMが起動されます。 〇IBMマルチテナンシーJVM環境 各javaコマンドは軽量量なマルチテナント・プロキシ― JVMを⽣生成します。マルチテナント・プロキシ―は javadと呼ばれる共有JVMデーモンとの通信を⾏行行います。 ● javadは⾃自動的に起動・ 停⽌止します ● javadはランタイム機能の 共有を積極的に⾏行行います 例例:3つのJavaアプリケーションを1つのコンピュータ上で実⾏行行 JVM ヒープ + クラス java JVM ヒープ + クラス java JVM ヒープ + クラス java JVM ヒープ + クラス javad java マルチテナント プロキシー java マルチテナント プロキシー java マルチテナント プロキシー Technology Preview Impact2014より
32.
© 2014 IBM
Corporation マルチテナンシー:リソース管理理 32 テナントのリソース消費の上限はポリシーで制限されます。 制御対象はCPU使⽤用率率率、スレッド数、ヒープ・メモリー、Disk、ネットワークI/O。 使⽤用率率率はテナント毎に以下のJava引数で制御されます。 -‐‑‒Xlimit:<resource_̲name>=<min_̲limit>-‐‑‒<max_̲limit> <min_̲limit>: 起動時に割り当てられる最⼩小のリソースの合計 <max_̲limit>: 利利⽤用可能な最⼤大のリソースの合計 テナント テナント 要求 割合 制御 テナント 割り当て テナント テナント テナント テナント テナント テナント 例例: CPUに負荷を与えるアプリケーションとして、それ ぞれ全く同じフィボナッチ計算を実⾏行行させる。ただ し、CPUをそれぞれ60%と30%と異異なった割り 当てにする。 java -‐‑‒Xmt -‐‑‒Xlimit:cpu=60 -‐‑‒jar fibbonacci java -‐‑‒Xmt -‐‑‒Xlimit:cpu=30 -‐‑‒jar fibbonacci Technology Preview Impact2014より
33.
© 2014 IBM
Corporation マルチテナンシー関連:管理理ツールの強化 33 課題: クラウドやマルチテナンシーといった環境で、Javaプログラムがホスト環境のリソースなどの変更更に合わせた ⾃自⼰己変化・適応を⾏行行うためには、基準となる情報が不不⾜足している。 ⇒ネイティブ・コードの追加をせずにリソースの状況(空きなど)を検出・特定する必要性 新たな管理理ツールの提供: ● より詳細な環境情報を提供する新しいJMX Bean メリット: リソース消費情報を得るためのネイティブ・コードを記述する必要が無い JVMおよびミドルウェアは環境に合わせて正しいサイズに調整できる。 例例:コア・ファイルのサイズ、個数およびメモリー・サイズ等 仮想化環境の詳細(ハイパーバイザー)はRAS機能にも提供される。 種類 内容 インターフェース OperatingSystemMXBean メモリー、CPU使⽤用率率率 com.ibm.lang.management.OperatingSystemMXBean HypervisorMXBean ハイパーバイザーの特定 com.ibm.virtualization.management.HypervisorMXBean GuestOSMXBean VM/LPAR構成の詳細とゲストOSの統 計モニター(メモリー、CPU) com.ibm.virtualization.management.GuestOSMXBean Impact2014より
34.
© 2014 IBM
Corporation DAA 34 Javaはパック10進数の表現を備えていない 2つのパック10進数の加算は次のような操作が必要です – byte[] から BigDecimalへの変換 – BigDecimalの加算 – BigDecimal演算結果を再びbyte[]に変換 IBM Javaはこの操作をするためにヘルパーメソッドを提供します 従来のアプローチ: byte[] addPacked(byte[] a, byte[] b) { BigDecimal a_bd = convertPackedToBd(a[]); BigDecimal b_bd = convertPackedToBd(b[]); a_bd.add(b_bd); return (convertBDtoPacked(a_bd)); } BigDecimal convertPackedToBd(byte[] myBytes) { ... } 新しいアプローチ: (イメージ) byte[] addPacked(byte[] a, byte[] b) { DAA.addPackedDecimal(a[], b[]); return (a[]); } 例例:パック10進数に加算処理理を⾏行行う 詳しくは、com.ibm.dataaccessパッケージの API 資料料を参照してください。 • パック 10 進数演算: 算術演算 ⽐比較演算 他の 10 進数型 (外部 10 進数型、Unicode 10 進 数型など) とプリミティブ型との間の型変換 妥当性検査 演算の桁移動と桁送り • 外部 10 進数型と Unicode 10 進数型との間の BigDecimal および BigInteger 型変換 • マーシャル・オペレーション: プリミティブ型 (short、int、long、 float、および double) とバイト配列列との間のマーシャルとアンマ ーシャル メソッドで提供する機能 Impact2014より
35.
© 2014 IBM
Corporation Data Access Accelerator (DAA) 概要 35 課題:ビッグデータやアナリティクス、⾔言語間の通信といったデータセントリックなタスクでは、Javaからネイ ティブ・フォーマットのデータレコードや型に最良良のパフォーマンスでアクセスや操作することが求められま す。オブジェクトの作成、データのコピー、抽象化、ボクシング等の防⽌止が必要となってきます。 必要最⼩小限のデータ変換と演算等のためのDAA Javaライブラリーの提供。 » バイト配列列での直接演算 » プラットフォームに合わせた強⼒力力な最適化のためにJITと連携 » IBM JITと連動し、中間Javaオブジェクトは作成しない » 提供機能による操作により⾼高コストなJavaオブジェクトインスタンス化の回避 メリット: ハードウェア・アクセラレータをプラットフォームに依存せず使⽤用 (2 – 100倍のスピードアップ) レコードのパース処理理を⾏行行うフレームワークで⼤大幅なスピードアップを実現 データのマーシャリングや⾔言語間の通信に⼤大幅なスピードアップを実現 Impact2014より
36.
© 2014 IBM
Corporation パック・オブジェクト概要 36 パック・オブジェクトは、IBM Javaランタイムの拡張機能で標準化されていない⾔言語です。現在テクノロジー・ プリビューの位置づけです。 フィードバックを得るために提供をしているため、正式サポート(保証)は提供しておらず、Java⾔言語への正 式追加を将来約束するものではありません。 パック・オブジェクトは、Javaオブジェクトのメモリー・レイアウトについて、より綿密なコントロール⼿手段を開発者 に提供します。 なぜ必要? ✔ JavaオブジェクトのシリアライズとI/Oの改善 ✔ ネイティブ・データ(オフヒープ)への直接アクセスを可能にする ✔ コンパクトなデータ構造に関する表現がソース上で明確に メリット: フットプリント、シリアライズ処理理のパフォーマンス向上、より細かいデータ管理理、⾔言語間の通信の向上のため、 Javaの構造化データをサポート Technology Preview ネイティブ・メモリー上のデータ構造 20byte Javaヒープ上のデータ構造 72byte I/O Impact2014より
37.
© 2014 IBM
Corporation パック・オブジェクト:ヒープ参照データ 37 int y int x aPoint Object header Object field / data int y int x aPointPoint b Point a aLine Point c int y int x aPoint 例例:Javaで効率率率よくpointオブジェクトを連続的に表現したい Technology Preview Impact2014より
38.
© 2014 IBM
Corporation パック・オブジェクト:ヒープ参照データ 38 int y int x aPoint Object header Object field / data int y int x aPointPoint b Point a aLine int y int x int y int x aPackedLine offset target Point c int y int x aPoint int y int x @Packed final class PackedPoint extends PackedObject { int x; int y; } @Packed final class PackedLine extends PackedObject { PackedPoint a; PackedPoint b; PackedPoint c; } aLine.a aLine.b aLine.c Technology Preview Impact2014より
39.
© 2014 IBM
Corporation パック・オブジェクト ネイティブ・メモリーのサポート 39 § Javaでは直接アクセスするためにはJavaオブジ ェクトである必要がある § 外部データはJavaヒープ・フォーマットに読み込 む必要がある-‐‑‒変換コストは⾼高い § データのコピーとヘッダーのためデータの肥⼤大化が 発⽣生 § 通常のオブジェクトではデータの局所性が維持さ れない § パック・オブジェクトは任意のフォーマットのデータに 不不要なコピーや変換を⾏行行わず直アクセスが可能 § パック・オブジェクトはネイティブ・メモリーまたはJav aヒープ上のどちらでも良良い data data copy header array [ ] オブジェクト header data copy header data copy header data copy header data data data Javaヒープ上 のオブジェクト ネイティブ・ メモリー パック array [ ] ネイティブ・ メモリー または Javaヒープ 例例:ネイティブ上のデータ・レコードをJavaから操作する Technology Preview Impact2014より
40.
© 2014 IBM
Corporation パック・オブジェクト: ネイティブへのアクセス例例 40 int y int x Object header Struct field / data offset target aPackedLine Java Native Ø @Packed final class PackedPoint extends PackedObject { int x; int y; } int y int x int y int x Technology Preview Impact2014より
41.
© 2014 IBM
Corporation パック・オブジェクト: 考慮点 41 Technology Preview • パック・オブジェクトを使⽤用するにはJVM起動時に次の引数を指定 する必要があります。 -‐‑‒XX:+PackedObject • 以下のGC⽅方式のみが利利⽤用可能です • gencon • optthruput • optavgpause • 圧縮参照は使⽤用できません
42.
© 2014 IBM
Corporation 追加情報 42 § Diagnostics Collector は除去されました – IBM Support Assistant Data collectorを利利⽤用してくださ い § IBM Java7 Relase1からppcLinux(LE)*に対応しました *LE=Little Endian § Java communications API は利利⽤用できません § 以下の旧OSのサポートは終了了しました – Windows XP, Server 2003 – Linux RHEL 5, SLES 10, Ubuntu 8.04 & 10.04, Asianux Server 3 Impact2014より更新
43.
© 2014 IBM
Corporation IBM Java関連情報 43 dW: IBM developer kits(Linux/AIX版 JDKダウンロード先) http://www.ibm.com/developerworks/java/jdk/ IBM Java Knowledge Center(オンラインマニュアル) www.ibm.com/support/knowledgecenter/SSYKE2/welcome_̲javasdk_̲family.html User Guides and Reference information for viewing offline. (オフライン⽂文書) http://www.ibm.com/developerworks/java/jdk/docs/offline.html WAS V8.0 によるWebシステム基盤設計ワークショップ資料料 http://www.ibm.com/developerworks/jp/websphere/library/was/was8_̲guide/ WebSphere Application Server (WAS) ⼩小ワザ集 http://www.ibm.com/developerworks/jp/websphere/library/was/was_̲tips/ dW: Javaの診断をIBMスタイルで http://bit.ly/SdtevS
44.
© 2014 IBM
Corporation コードネーム BlueMixとは?
45.
© 2014 IBM
Corporation BlueMixはIBMのPaaS 45 ● CloudFoundryベース ● SoftLayer(IBMのIaaS)上で動作 ● IBM独⾃自サービスもcommunityサービスを簡単に追加可能 +IBM独⾃自のランタイム およびサービス IBMJavaやWebSphere Liberty Profileも利利⽤用可能
46.
© 2014 IBM
Corporation BlueMixでJavaアプリケーションを動かす 46 ● BlueMixトップページ http://www.bluemix.net 2014年5月現在はβ版を無償で利用可能です IBM ID(無償)でログインします。
47.
© 2014 IBM
Corporation BlueMixでLiberty for Javaのランタイムを作成する 47 ● ブラウザ上の数クリックで環境の構成と起動が完成 30秒で!
48.
© 2014 IBM
Corporation BlueMix:⼿手元のWebアプリをデプロイ(CFツール) 48 ● ログイン C:optCloudFoundry>cf login API endpoint> http://api.stage1.ng.bluemix.net Warning: Insecure http API endpoint detected: secure https API endpoints are recommended Email>
[email protected]
Password> Authenticating... OK Targeted org
[email protected]
Targeted space dev API endpoint: http://api.stage1.ng.bluemix.net (API version: 2.2.0) User:
[email protected]
Org:
[email protected]
Space: dev C:optCloudFoundry> 既に⼿手元に開発したアプリケーションをCFツールでBlueMixにデプロイできます。 CFツールはコマンドラインインターフェースのツールです。
49.
© 2014 IBM
Corporation BlueMixにデプロイ 49 ● デプロイ (CFツールでPUSH) C:DLBlueMixtestEnv>c:optCloudFoundrycf.exe push amoribaTEST -‐‑‒m 512m Creating app amoribaTEST in org
[email protected]
/ space dev as
[email protected]
... OK Creating route amoribatest.stage1.ng.bluemix.net... OK Binding amoribatest.stage1.ng.bluemix.net to amoribaTEST... OK Uploading amoribaTEST... Uploading app files from: C:DLBlueMixtestEnv Uploading 1.2K, 3 files OK Starting app amoribaTEST in org
[email protected]
/ space dev as
[email protected]
... -‐‑‒-‐‑‒-‐‑‒-‐‑‒-‐‑‒> Downloaded app package (4.0K) OK Buildpack Version: 20140511-‐‑‒1311 -‐‑‒-‐‑‒-‐‑‒-‐‑‒-‐‑‒> Downloading IBM 1.7.0 JRE from http://file.icap.cdl.ibm.com/icapShared/jre/ibm-‐‑‒java-‐‑‒jre-‐‑‒7.0-‐‑‒6.0-‐‑‒ linux-‐‑‒x86_̲64-‐‑‒small-‐‑‒footprint-‐‑‒uncompressed-‐‑‒jar-‐‑‒20140116.tar.gz (0.0s) Expanding JRE to .java (1.1s) Downloading from output/wlp/com.ibm.ws.liberty-‐‑‒2014.4.0.0-‐‑‒201405111311.tar.gz ... (0.0s). Installing archive ... (0.6s). -‐‑‒-‐‑‒-‐‑‒-‐‑‒-‐‑‒> Uploading droplet (93M) 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 1 of 1 instances running
50.
© 2014 IBM
Corporation BlueMixにデプロイ(続) 50 ● デプロイ(CFツールでPUSH)の続き ● 起動完了了&利利⽤用可能 App started Showing health and status for app amoribaTEST in org
[email protected]
/ space dev as
[email protected]
... OK requested state: started instances: 1/1 usage: 512M x 1 instances urls: amoribatest.stage1.ng.bluemix.net state since cpu memory disk #0 running 2014-‐‑‒05-‐‑‒15 01:27:14 PM 0.0% 295.1M of 512M 178.5M of 1G
51.
© 2014 IBM
Corporation BlueMixにデプロイ(続) 51 ● アプリにアクセス 数クリックでサーバ構成と起動完了了 数コマンドラインでアプリのデプロイ起動完了了
52.
© 2014 IBM
Corporation BlueMix DevOpsサービスによるアプリのデプロイ 52 ● JazzHub*やGitHub上で管理理するコードを直接BlueMixにデプロイ可能 ● 今すぐにコーディング ● チームの協業 ● 簡単なアクセス ● ビルドとデプロイ JazzHub上(ブラウザ)でコードを編集してすぐにBlueMixにデプロイ可能 *JazzHubはIBMのSaaSです
53.
© 2014 IBM
Corporation BlueMix Eclipseからデプロイ 53 ● Eclipseのプラグインから直接BlueMixにデプロイ可能 いつものEclipseからすぐにBlueMixにデプロイ可能 eclipse marketplace: http://marketplace.eclipse.org/content/ibm-codename-bluemix-eclipse-kepler#.U3gu2_l_tuk
54.
© 2014 IBM
Corporation BlueMix ボイラー・プレート 54 ランタイムといくつかのサービスを組み合わせた環境を わずか数クリックで完成できるテンプレート
55.
© 2014 IBM
Corporation BlueMixで利利⽤用可能なサービス 55 Service Category IBM Created Services Community Services Mobile Services Mobile Application Security Mobile Data Mobile Quality Assurance Push Internet of Things Web App Services Application Security Service Rabbit MQ Configuration Service Redis CastIronLive Wearable Fitness Cloud Integration DataCache Elastic MQ IBM Bluemix Text Analytics Log Analysis RapidApps Rules SessionCache Single Sign-On (SSO) Smart Cloud Object Storage SMTP Data Management Cloudant MongoDB JSON Database (JSONDB) My SQL SQL Database (SQLDB) PostgreSQL Time Series Database Big Data BLU Acceleration MapReduce DevOps IBM DevOps Services Monitoring and Analytics Git Hosting Web IDE Add-ons Auto-Scaling Auto-Scaling Cfg 2014/05/18現在: 今後も追加更更新される可能性があります • モバイル、Webアプリケーション、データ 管理理、ビッグデータ、DevOps、アドオン の6つのカテゴリ • IBMが作成したもの、コミュニティが作成 したもの、パートナー様が作成したもの が利利⽤用可能 • 開発者はアイディアをプログラムし、実⾏行行 し結果を出すために全て簡単に構成・ 利利⽤用可能 • Webアプリはローカルディスクにデータを 書き出すとPUSHの都度度データが消え るため、DBにデータ保管をすることが基 本
56.
© 2014 IBM
Corporation BlueMix関連情報 56 IBM BlueMix (IBM ID(無料料)でログインが必要) http://ace.ng.bluemix.net/ Tutorials https://www.ng.bluemix.net/docs/Tutorials.jsp BlueMix Developers Community https://www.ibmdw.net/bluemix/ JazzHub Forum https://www.ibmdw.net/answers?community=jazzhub IBM jStart by ibmjstart(サンプルアプリケーション) http://ibmjstart.github.io/ developerWorks(⽇日本語コンテンツあり) http://www.ibm.com/developerworks/jp/
57.
© 2014 IBM
Corporation まとめ 57 § IBM Javaとは § IBM Java8 § IBM Javatm Technology Edition Version 7 Release 1 – 最新のIBMシステムハードウェアサポート – ネイティブ・データの操作(DAA) – 評価テクノロジーの提供 • アプリケーション密度度 (マルチテナンシー) • ネイティブ⾔言語との連携(パック) • パフォーマンスやフットプリント改善のためのオブジェクトレイアウト改良良 (パック) – Java Sockets over RDMA (JsoR)サポート – 保守性の向上 § BlueMix(PaaS)
58.
© 2014 IBM
Corporation おつかれさまでした! 58
59.
© 2014 IBM
Corporation59 ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。 それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、ま たそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、 「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によ って、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内 容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェア の使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能である ことを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいて IBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約すること を意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはそ の他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。 パフォーマン スは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループッ トやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理さ れるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと 同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例と して示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、WebSphereは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標です。 IT Infrastructure Libraryは英国Office of Government Commerceの一部であるthe Central Computer and Telecommunications Agencyの登録商標で す。 インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, およびPentium は Intel Corporationまたは子会社の米国およびその他の国における商標または登録商標です。 Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。 Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。 ITILは英国The Minister for the Cabinet Officeの登録商標および共同体登録商標であって、米国特許商標庁にて登録されています。 UNIXはThe Open Groupの米国およびその他の国における登録商標です。 Cell Broadband Engineは、Sony Computer Entertainment, Inc.の米国およびその他の国における商標であり、同社の許諾を受けて使用しています。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。 Linear Tape-Open, LTO, LTOロゴ, UltriumおよびUltriumロゴは、HP, IBM Corp.およびQuantumの米国およびその他の国における商標です。
Download