SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Hello Java
Java女子部 Oracleコンサルによる超Java入門
伊藤 智博(Chihiro Ito)
Twitter : @chiroito
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
自己紹介
• 日本オラクル Fusion Middleware製品コンサルタント
– Java SE全般/Coherence/Event Processor/トラブルシュートを主に担当
• 講演(http://www.slideshare.net/ChihiroIto1)
– オラクルの公式イベント
– 日本Javaユーザグループなど
• 執筆
– 技術評論社様
• 絵で見て分かるJVM(http://gihyo.jp/dev/serial/01/jvm-arc)
2
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
ここで示されている見解は私個人のものであり
所属会社の見解を反映したものではありません
3
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
アジェンダ
1. Javaとは
2. Java VMの内部
3. アプリケーションとJava VM
4. HotSpot JVM
5. アプリケーション開発方法
6. Java VM運用方法
7. Javaの情報収集方法
4
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
1.Javaとは
5
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
• Raspberry Pi
• 携帯電話
• GUI
• CUI
• 動的なサイト
• スマホアプリの通信先
Javaが使われている分野
組み込み機器 デスクトップ
ブラウザ
/ スマホアプリ
実行環境
システム
■
- ×
>java Hello
please Input : Java
Hello Java !
>
■
- ×
6
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
• オブジェクト指向によって
プログラミングを行う言語
• アプリケーション開発者が使用
• 教材はたくさんある
• Java言語によって書かれた
アプリケーションの実行環境
• インフラ担当者が使用
• 教材はほとんどない
7
Javaとは
プログラミング言語 実行環境
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
• 組込み機器用実行環境
• Java SEに比べて機能
を限定し軽量
• デスクトップやサーバ
で使用する実行環境
• 一般的に言うJava
• 標準的なAPIの仕様
– Servlet/JSF/JSP/EJB
/CDI/JAX-RS/JPA
• 実行にAPサーバが必須
Javaの種類
Java SE Embedded
/ Java ME
Java SE Java EE
Java SE
API
実行環境実行環境
8
※ APサーバ:アプリケーションサーバ
※
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
実行環境のメリット
Linux用
アプリ
Linux
Solaris用
アプリ
Solaris
ネイティブの場合
環境ごとにアプリを作る
実行環境
アプリ
Linux
実行環境
Solaris
アプリ
Javaの場合
環境の差異は実行環境が吸収
→1つのアプリで良い
9
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
アプリケーション(AP)サーバとは
• Java EEアプリケーションの実行に必要
• APサーバはJava EEによるAPIの実装を提供
• リソースを管理およびアプリケーションへ提供
– データベース接続など
• 運用に必要なツールも提供
• ベンダーやオープンソースによって開発
– WebLogic Server、Oracle Application Server
– GlassFish Server
10
実行環境
アプリ
OS
APサーバ
アプリ…
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
Javaの作られ方
• 仕様の要望をJava Specification Requests(JSR)としてまとめる
• Java Community Process(JCP)の一部メンバーによって投票
– JCPメンバーにはベンダーだけではなく利用者もいる
• 仕様を策定し、参照実装(RI : Reference Implementation)を作成
– 製品ベンダーはこの仕様にあわせてRIを参考に開発
• 互換テストにより、仕様を満たすことで認定
11
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
さまざまな実行環境
Oracle
実行環境
(HotSpot)
アプリ
OS
Oracle
実行環境
(JRockit)
アプリ
OS
H社様
実行環境
アプリ
OS
OpenJDK
(HotSpot)
アプリ
OS
I社様
実行環境
アプリ
OS
• さまざまな企業(ベンダー)やオープンソースが実装
12
• さまざまな企業(ベンダー)
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
開発から実行するまでの流れ
開発者 アプリケーション
実行環境
13
• ソースファイル
– Java言語で書かれる
• コンパイル
– ソースファイルから
クラスファイルを生成
• クラスファイル
– 実行環境が実行できる
バイトコードが含まれる
実行
ソース
ファイル
記述
クラス
ファイル
コンパイル
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
API
アプリケーション
• Java VM
– バイトコードを読み込み、
ネイティブコードへ変換して
アプリケーションを実行する
– アプリケーションの実行に必要な
メモリを管理する
• API
– 標準で含まれるクラスの集合
– Stringクラスなど
実行環境とは
クラス
ファイル
実行環境
読込
クラス
ファイル
クラス
ファイル
クラス
ファイル
14
参照
Java VM
読込
クラス
ファイル
クラス
ファイル
読込んだ
クラス
ファイル 実行
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
2.Java VMの内部
15
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
Java VMとは
• Java Virtual Machineの略称、更に略してJVMと呼ばれる
• javaコマンドで実行される
• OSから見るとプロセス
• ベンダーごとの実装によって細かい動きは異なる
16
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
Java VMの役割
• アプリケーションを動かす
• アプリケーションのサポート
– アプリケーションの実行に必要なクラスファイルを読込む
– バイトコードをネイティブコードへ変換・最適化
– オブジェクトの終了処理
– アプリケーションが使用したメモリの掃除(ガベージ・コレクション)
– など
17
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
Java VMの構成要素
• スレッド
– 与えられた仕事を実行する
– OSのCPUリソースを使用
• メモリ領域
– スレッドが作業領域として使用
– OSのメモリリソースを使用
18
メモリ領域
JVMプロセス
スレッド
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
メモリ領域
Java VMが持つ2種類のスレッド
• アプリケーションスレッド
– アプリケーションを動かす
– 開発者が作成・管理可能
• VMスレッド
– アプリケーションをサポートする
– 開発者は気にしない
19
JVMプロセス
VMアプリケーション
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
メモリ領域
いろいろな役割のVMスレッド
• スレッドによって役割がある
– ガベージ・コレクション スレッド
– コンパイル スレッド
– ファイナライザ スレッド
20
JVMプロセス
アプリケーションGC担当
コンパイル
担当
VM
など
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
Java VMのメモリ構造
• メモリ領域は2種類
– ヒープ領域
• アプリケーションのオブジェクトを格納
• アプリケーションがnewすると使用
• 開発者はオブジェクトの削除を意識不要
– ネイティブ領域
• Java VM自身が使用するメモリ空間
21
メモリ領域
JVMプロセス
ネイティブヒープ
VMアプリケーション
abc
new GC
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
Java VMのネイティブ領域
• JVM内部で使用
• 他にもさまざまな用途で使用
– スレッドスタック
• スレッドが処理中の情報を格納
– メタスペース
• 読込んだクラスの情報を格納
22
JVMプロセス
ネイティブヒープ
VMアプリケーション
スレッド
スタック
処理中の
情報を記録
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
3.アプリケーションとJava VM
23
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
実行環境
String s = new String(“abc”);
1. Stringクラスの読み込み
2. Stringオブジェクトの作成
3. 変数とオブジェクトの紐付け
Java VMの動きの例
ヒープ
メタスペース
s
※フィールドを含む
変数※
API開発者が実行したい処理
実行環境が行う主な処理
abc
オブジェクト
2
参照 3
24
1
StringString
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
アプリケーションをサポートする機能例
• ガベージ・コレクション
– ヒープ領域にある使われないオブジェクトを削除する
– GCスレッドによって実行される
– 実行中はアプリケーションが停止する(Stop The World : STW)
25
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
アプリケーションとGC
String s = new String(“abc”);
s = null ;
メモリ
abcs
参照 参照があるため
GC対象ではない
メモリ
abcs
参照を削除
参照がないため
GC対象
26
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
4.HotSpot JVM
27
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
HotSpotのヒープ構造
• 大きく2つに分割され、細かくは4つの領域に分割
– New領域
• Eden
– 最初にオブジェクトを作られる領域
• Survivor 0/1
– 1回以上GCを経験したオブジェクトの領域
– Tenured領域
• 指定回数以上GCを経験した、
またはSurvivorに入りきらなかった
オブジェクトの領域
28
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
HotSpotのGC
• GCはNew領域だけを対象とするものと全体を対象とする2種類
• GCの方法は主に3種類
– パラレル
• 複数のスレッドでGCを行う
– コンカレント・マーク&スイープ (CMS)
• 複数の役割に分けてGCを行う
• アプリと並行して実行可能な役割もある
– ガベージ・ファースト (G1GC)
• 領域を細かく分ける
• 複数の役割に分けてGCを行う
29
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
Full GC
Minor GC
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
1.Edenにオブジェクトが作成される 3.Edenにオブジェクトが作成される
2.GCが実行され、参照のあるオブ
ジェクトはEdenからSurvivor 0へ移
動
4.GCが実行され、参照のあるオブ
ジェクトはEdenからSurvivor 1へ移
動
GCによるオブジェクトの動き (1/2)
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
参照のあるオブジェクト 参照の無いオブジェクト
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
1 2
1 2
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
1 23
1 3
30
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
5.Edenにオブジェクトが作成される 7.GCを繰返すとTenuredがいっぱい
になる
6.GCが実行され、一定回数GCを
経験するとTenuredへ移動する
8.Full GCが実行され、参照のない
オブジェクトは全て削除される
GCによるオブジェクトの動き (2/2)
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
参照のあるオブジェクト 参照の無いオブジェクト
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域
1
3
Eden
領域
Tenured
領域
Survivor 0
領域
Survivor 1
領域1 3
31
1
1
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
5.Javaアプリケーションの開発方法
32
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
開発には Java Development Kit を使用
• Java用のソフトウェア開発キット(SDK)
• Java Development Kit(JDK)の構成要素
– 実行環境(JRE)
– 開発ツール:コンパイラ、アーカイブ、ドキュメント生成
– 運用ツール:分析ツール、監視ツール
33
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
アプリケーション開発で扱う3種類のファイル
• ソースファイル (*.java)
– 開発者がJava言語で作成するファイル
• クラスファイル (*.class)
– JVMが実行可能なバイトコードを含むファイル
• アーカイブファイル (*.jar, *.war, *.ear)
– クラスファイルをまとめたファイル
34
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 35
アプリケーション開発の流れ
ソース
ファイル
クラス
ファイル
アーカイブ
ファイル
記述 実行実行コンパイル アーカイブ
• 実行はクラスファイルとアーカイブファイルのどちらでも可能
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
昔のアプリケーション開発の流れ
• エディタ(メモ帳など)を使用してソースファイルを作成
• JDKを直接使用してクラスファイル・アーカイブファイルを作成
36
ソース
ファイル
クラス
ファイル
アーカイブ
ファイル
javacコマンド jarコマンド
エディタ JDK
実行
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
IDEを使ったアプリケーション開発の流れ
• 統合開発環境:Integrated Development Environment (IDE)
– Eclipse, Netbeans, JDeveloper など
– アプリケーション開発に必要な機能がまとめられている
37
ソース
ファイル
クラス
ファイル
アーカイブ
ファイル
Run保存/ビルド エクスポート
IDEを使った開発
記述 実行
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
商用で使われるアプリケーション開発の流れ(例)
• CIツール
– 継続的にテストやビルドを繰返し、品質管理を行うツール
– ビルドツールを使用してコンパイルやアーカイブを行う
38
ソース
ファイル
クラス
ファイル
アーカイブ
ファイル
実行コンパイル アーカイブ
IDE CIツール
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
6.Java VMの運用方法
39
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
なぜ監視するのか
• アプリケーションとJVMが動けているか確認
– OSリソース/APサーバ/Java VM/アプリケーションのリソースの過不足
– アプリケーションが動かず、Java VMばかり動いていないか
– アプリケーションやJava VMが無駄な処理をしていないか
40
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
• 使用量
– 各領域のGC前後の使用量
• GCの履歴
– GC開始時間と処理時間
• 占有オブジェクト
– ヒープを閉めている
オブジェクトの種類
• ステータス
– 処理待ちしていないか
– スリープしていないか
• 実行中の処理
– 実行中の処理の
スタックトレース
• 処理量
– 起動からの処理量
• リソース使用量
– DB接続の使用数など
• メソッドの実行時間
– メソッドの呼び出しごと
と累計の処理時間
監視する項目
ヒープ スレッド アプリ
41
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
• 使用量
– 各領域のGC前後の使用量
• GCの履歴
– GC開始時間と処理時間
• 占有オブジェクト
– ヒープを閉めている
オブジェクトの種類
• ステータス
– 処理待ちしていないか
– スリープしていないか
• 実行中の処理
– 実行中の処理の
スタックトレース
• 処理量
– 起動からの処理量
• リソース使用量
– DB接続の使用数など
• メソッドの実行時間
– メソッドの呼び出しごと
と累計の処理時間
監視するツールと機能
ヒープ スレッド アプリ
42
GCログ
ヒープダンプ
MBean
プロファイラ
スレッドダンプ
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
7.Javaの情報収集方法
43
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
• 毎月Javaの勉強会を開催
• 年2回大規模な勉強会を開催
• Twitter @JJUG、#JJUG
• 関東と関西で開催
• もくもく会と勉強会を開催
• Twitter @java_women、#javajo
• 1~2ヶ月に1回 勉強会を開催
• Twitter @kan_java、#kanjava
• Twitter #okajug
Javaのコミュニティに参加しましょう
日本Javaユーザグループ Java女子部
関西Javaエンジニアの会 岡山Javaユーザ会
44
• Twitter #hirojug
広島Javaユーザグループ
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
Oracleが提供するオススメの情報源
• 認定試験
– Oracle Certified Java Programmer Silver/Gold
• ドキュメント
– JavaMagazine (http://www.oracle.com/technetwork/java/javamagazine/index.html)
• 日本語版 (http://www.oracle.com/technetwork/jp/articles/java/overview/index.html)
• イベント
– 国内
• Java Day Tokyo、JavaOne Tokyo、Oracle DBA & Developer Day
– 海外
• JavaOne San Francisco
45
Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito
• Java チャンピオン
– Javaにおけるリーダシップの役割を持つ
– Java の技術に関する啓蒙活動等を行う
– 厳選されたJava のスペシャリスト
• Oracle Ace
– Oracleの製品に卓越した知識と経験を持つ
– コミュニティ活動を強力に支援
– トップエンジニアとしてオラクルが認定
• エバンジェリスト
– 技術の採用を促す広報役
– 主に、所属会社の製品や技術戦略に則って
活動し、それらをエンジニアに広める
• コミッター
– 製品やその機能を開発し、反映できる人
– JavaではOpenJDKや各種ライブラリ
信頼できる情報発信源から情報を得ましょう
46

Mais conteúdo relacionado

Mais procurados

次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ UndertowについてYoshimasa Tanabe
 
インメモリーデータグリッドの選択肢
インメモリーデータグリッドの選択肢インメモリーデータグリッドの選択肢
インメモリーデータグリッドの選択肢Masaki Yamakawa
 
Oracle WebLogic Server製品紹介資料(2020年/3月版)
Oracle WebLogic Server製品紹介資料(2020年/3月版)Oracle WebLogic Server製品紹介資料(2020年/3月版)
Oracle WebLogic Server製品紹介資料(2020年/3月版)オラクルエンジニア通信
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
 
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)NTT DATA Technology & Innovation
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーションssuser070fa9
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Yahoo!デベロッパーネットワーク
 
SAP Extractorのソースエンドポイントとしての利用
SAP Extractorのソースエンドポイントとしての利用SAP Extractorのソースエンドポイントとしての利用
SAP Extractorのソースエンドポイントとしての利用QlikPresalesJapan
 
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
 
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版Naoki (Neo) SATO
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...Toshiaki Maki
 
Intrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VMIntrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VMKris Mok
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadogNaoya Nakazawa
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka心 谷本
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するHitachi, Ltd. OSS Solution Center.
 
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
 
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
 

Mais procurados (20)

次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
インメモリーデータグリッドの選択肢
インメモリーデータグリッドの選択肢インメモリーデータグリッドの選択肢
インメモリーデータグリッドの選択肢
 
Oracle WebLogic Server製品紹介資料(2020年/3月版)
Oracle WebLogic Server製品紹介資料(2020年/3月版)Oracle WebLogic Server製品紹介資料(2020年/3月版)
Oracle WebLogic Server製品紹介資料(2020年/3月版)
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
 
失敗から学ぶAWSの監視
失敗から学ぶAWSの監視失敗から学ぶAWSの監視
失敗から学ぶAWSの監視
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
 
SAP Extractorのソースエンドポイントとしての利用
SAP Extractorのソースエンドポイントとしての利用SAP Extractorのソースエンドポイントとしての利用
SAP Extractorのソースエンドポイントとしての利用
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
 
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
 
Intrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VMIntrinsic Methods in HotSpot VM
Intrinsic Methods in HotSpot VM
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
 
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 )
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 

Destaque

2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門Asami Abe
 
Javaプログラミングをスッキリ学ぶ10のコツ
Javaプログラミングをスッキリ学ぶ10のコツJavaプログラミングをスッキリ学ぶ10のコツ
Javaプログラミングをスッキリ学ぶ10のコツKiyotaka NAKAYAMA
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 
Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係yy yank
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門minazou67
 
Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術Kiyokuni Kawachiya
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドToshiakiArai
 
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法Chihiro Ito
 
Java Flight Recorderの紹介 at Java Day Tokyo 2015
Java Flight Recorderの紹介  at Java Day Tokyo 2015Java Flight Recorderの紹介  at Java Day Tokyo 2015
Java Flight Recorderの紹介 at Java Day Tokyo 2015Chihiro Ito
 
Java による Web アプリケーションのプロトタイプのために最近使っている構成
Java による Web アプリケーションのプロトタイプのために最近使っている構成Java による Web アプリケーションのプロトタイプのために最近使っている構成
Java による Web アプリケーションのプロトタイプのために最近使っている構成Yu Nobuoka
 
OpenStack Grizzly Release
OpenStack Grizzly ReleaseOpenStack Grizzly Release
OpenStack Grizzly ReleaseAkira Yoshiyama
 
Java EE 7 multi factor authentiaction with Microsoft Azure AD
Java EE 7 multi factor authentiaction with Microsoft Azure ADJava EE 7 multi factor authentiaction with Microsoft Azure AD
Java EE 7 multi factor authentiaction with Microsoft Azure ADYoshio Terada
 
xUnitハンズオン第3回テキスト
xUnitハンズオン第3回テキストxUnitハンズオン第3回テキスト
xUnitハンズオン第3回テキストmizuky fujitani
 
xUnitハンズオン第1回テキスト
xUnitハンズオン第1回テキストxUnitハンズオン第1回テキスト
xUnitハンズオン第1回テキストmizuky fujitani
 
xUnitハンズオン第2回テキスト
xUnitハンズオン第2回テキストxUnitハンズオン第2回テキスト
xUnitハンズオン第2回テキストmizuky fujitani
 
xUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキストxUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキストmizuky fujitani
 
TypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキストTypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキストmizuky fujitani
 
外資系コンサルの仕事を片づける技術 「相手に合わせて柔軟に対応する」具体例
外資系コンサルの仕事を片づける技術 「相手に合わせて柔軟に対応する」具体例外資系コンサルの仕事を片づける技術 「相手に合わせて柔軟に対応する」具体例
外資系コンサルの仕事を片づける技術 「相手に合わせて柔軟に対応する」具体例juntoku_yoshizawa
 

Destaque (20)

2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
 
講座Java入門
講座Java入門講座Java入門
講座Java入門
 
Javaプログラミングをスッキリ学ぶ10のコツ
Javaプログラミングをスッキリ学ぶ10のコツJavaプログラミングをスッキリ学ぶ10のコツ
Javaプログラミングをスッキリ学ぶ10のコツ
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係Jvm言語とJava、切っても切れないその関係
Jvm言語とJava、切っても切れないその関係
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門
 
Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
 
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
 
Java Flight Recorderの紹介 at Java Day Tokyo 2015
Java Flight Recorderの紹介  at Java Day Tokyo 2015Java Flight Recorderの紹介  at Java Day Tokyo 2015
Java Flight Recorderの紹介 at Java Day Tokyo 2015
 
Java による Web アプリケーションのプロトタイプのために最近使っている構成
Java による Web アプリケーションのプロトタイプのために最近使っている構成Java による Web アプリケーションのプロトタイプのために最近使っている構成
Java による Web アプリケーションのプロトタイプのために最近使っている構成
 
13 java in oracle
13 java in oracle13 java in oracle
13 java in oracle
 
OpenStack Grizzly Release
OpenStack Grizzly ReleaseOpenStack Grizzly Release
OpenStack Grizzly Release
 
Java EE 7 multi factor authentiaction with Microsoft Azure AD
Java EE 7 multi factor authentiaction with Microsoft Azure ADJava EE 7 multi factor authentiaction with Microsoft Azure AD
Java EE 7 multi factor authentiaction with Microsoft Azure AD
 
xUnitハンズオン第3回テキスト
xUnitハンズオン第3回テキストxUnitハンズオン第3回テキスト
xUnitハンズオン第3回テキスト
 
xUnitハンズオン第1回テキスト
xUnitハンズオン第1回テキストxUnitハンズオン第1回テキスト
xUnitハンズオン第1回テキスト
 
xUnitハンズオン第2回テキスト
xUnitハンズオン第2回テキストxUnitハンズオン第2回テキスト
xUnitハンズオン第2回テキスト
 
xUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキストxUnitハンズオン第4回テキスト
xUnitハンズオン第4回テキスト
 
TypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキストTypeScriptハンズオン第2回テキスト
TypeScriptハンズオン第2回テキスト
 
外資系コンサルの仕事を片づける技術 「相手に合わせて柔軟に対応する」具体例
外資系コンサルの仕事を片づける技術 「相手に合わせて柔軟に対応する」具体例外資系コンサルの仕事を片づける技術 「相手に合わせて柔軟に対応する」具体例
外資系コンサルの仕事を片づける技術 「相手に合わせて柔軟に対応する」具体例
 

Semelhante a Hello Java

PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編Asami Abe
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発Kota Mizushima
 
第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料Kenji Nagase
 
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々torutk
 
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
 
play framework 勉強会 in 関西
play framework 勉強会 in 関西play framework 勉強会 in 関西
play framework 勉強会 in 関西Shinichi Kozake
 
福井イベント
福井イベント福井イベント
福井イベントYoshio Terada
 
2012年javaメモリリーク
2012年javaメモリリーク2012年javaメモリリーク
2012年javaメモリリークtorutk
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsYoshimasa Tanabe
 
Javaと小道具
Javaと小道具Javaと小道具
Javaと小道具Sho Ito
 
実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)torutk
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?Takahiro YAMADA
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoTakahiro YAMADA
 
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)Yoshiharu Hashimoto
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpNorito Agetsuma
 
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Koichi Sakata
 
JavaOne2014参加報告LT
JavaOne2014参加報告LTJavaOne2014参加報告LT
JavaOne2014参加報告LT諭 岡野
 

Semelhante a Hello Java (20)

PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編
 
Java in the World of Container by David Buck
Java in the World of Container by David BuckJava in the World of Container by David Buck
Java in the World of Container by David Buck
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発
 
第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料第12回 つ部 ミーティング兼忘年会 LT資料
第12回 つ部 ミーティング兼忘年会 LT資料
 
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
 
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]
 
play framework 勉強会 in 関西
play framework 勉強会 in 関西play framework 勉強会 in 関西
play framework 勉強会 in 関西
 
osc_tokyo20100226
osc_tokyo20100226osc_tokyo20100226
osc_tokyo20100226
 
福井イベント
福井イベント福井イベント
福井イベント
 
2012年javaメモリリーク
2012年javaメモリリーク2012年javaメモリリーク
2012年javaメモリリーク
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE Apps
 
Javaと小道具
Javaと小道具Javaと小道具
Javaと小道具
 
実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)実行可能JavaFXアプリケーションJAR(発表直前版)
実行可能JavaFXアプリケーションJAR(発表直前版)
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajoOpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
OpenJDKソムリエと巡るJDKワイナリーツアー #sfggjp #javajo
 
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jp
 
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
 
JavaOne2014参加報告LT
JavaOne2014参加報告LTJavaOne2014参加報告LT
JavaOne2014参加報告LT
 

Mais de Chihiro Ito

Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能Chihiro Ito
 
Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能Chihiro Ito
 
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseQuarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseChihiro Ito
 
Advanced database monitoring in modern java
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern javaChihiro Ito
 
システムのモダナイズ 落ちても良いアプリの作り方
システムのモダナイズ 落ちても良いアプリの作り方システムのモダナイズ 落ちても良いアプリの作り方
システムのモダナイズ 落ちても良いアプリの作り方Chihiro Ito
 
Quarkusのビジネスと技術的な価値
Quarkusのビジネスと技術的な価値Quarkusのビジネスと技術的な価値
Quarkusのビジネスと技術的な価値Chihiro Ito
 
Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Chihiro Ito
 
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Chihiro Ito
 
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data StoreGetting started MySQL as Document Data Store
Getting started MySQL as Document Data StoreChihiro Ito
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかChihiro Ito
 

Mais de Chihiro Ito (10)

Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能
 
Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能
 
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseQuarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - Japanese
 
Advanced database monitoring in modern java
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern java
 
システムのモダナイズ 落ちても良いアプリの作り方
システムのモダナイズ 落ちても良いアプリの作り方システムのモダナイズ 落ちても良いアプリの作り方
システムのモダナイズ 落ちても良いアプリの作り方
 
Quarkusのビジネスと技術的な価値
Quarkusのビジネスと技術的な価値Quarkusのビジネスと技術的な価値
Quarkusのビジネスと技術的な価値
 
Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発
 
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要
 
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data StoreGetting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
 

Último

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
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介: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
 
論文紹介: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
 
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
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介: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
 

Último (9)

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」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介: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...
 
論文紹介: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
 
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
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介: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
 

Hello Java

  • 2. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 自己紹介 • 日本オラクル Fusion Middleware製品コンサルタント – Java SE全般/Coherence/Event Processor/トラブルシュートを主に担当 • 講演(http://www.slideshare.net/ChihiroIto1) – オラクルの公式イベント – 日本Javaユーザグループなど • 執筆 – 技術評論社様 • 絵で見て分かるJVM(http://gihyo.jp/dev/serial/01/jvm-arc) 2
  • 3. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito ここで示されている見解は私個人のものであり 所属会社の見解を反映したものではありません 3
  • 4. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito アジェンダ 1. Javaとは 2. Java VMの内部 3. アプリケーションとJava VM 4. HotSpot JVM 5. アプリケーション開発方法 6. Java VM運用方法 7. Javaの情報収集方法 4
  • 5. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 1.Javaとは 5
  • 6. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito • Raspberry Pi • 携帯電話 • GUI • CUI • 動的なサイト • スマホアプリの通信先 Javaが使われている分野 組み込み機器 デスクトップ ブラウザ / スマホアプリ 実行環境 システム ■ - × >java Hello please Input : Java Hello Java ! > ■ - × 6
  • 7. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito • オブジェクト指向によって プログラミングを行う言語 • アプリケーション開発者が使用 • 教材はたくさんある • Java言語によって書かれた アプリケーションの実行環境 • インフラ担当者が使用 • 教材はほとんどない 7 Javaとは プログラミング言語 実行環境
  • 8. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito • 組込み機器用実行環境 • Java SEに比べて機能 を限定し軽量 • デスクトップやサーバ で使用する実行環境 • 一般的に言うJava • 標準的なAPIの仕様 – Servlet/JSF/JSP/EJB /CDI/JAX-RS/JPA • 実行にAPサーバが必須 Javaの種類 Java SE Embedded / Java ME Java SE Java EE Java SE API 実行環境実行環境 8 ※ APサーバ:アプリケーションサーバ ※
  • 9. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 実行環境のメリット Linux用 アプリ Linux Solaris用 アプリ Solaris ネイティブの場合 環境ごとにアプリを作る 実行環境 アプリ Linux 実行環境 Solaris アプリ Javaの場合 環境の差異は実行環境が吸収 →1つのアプリで良い 9
  • 10. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito アプリケーション(AP)サーバとは • Java EEアプリケーションの実行に必要 • APサーバはJava EEによるAPIの実装を提供 • リソースを管理およびアプリケーションへ提供 – データベース接続など • 運用に必要なツールも提供 • ベンダーやオープンソースによって開発 – WebLogic Server、Oracle Application Server – GlassFish Server 10 実行環境 アプリ OS APサーバ アプリ…
  • 11. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito Javaの作られ方 • 仕様の要望をJava Specification Requests(JSR)としてまとめる • Java Community Process(JCP)の一部メンバーによって投票 – JCPメンバーにはベンダーだけではなく利用者もいる • 仕様を策定し、参照実装(RI : Reference Implementation)を作成 – 製品ベンダーはこの仕様にあわせてRIを参考に開発 • 互換テストにより、仕様を満たすことで認定 11
  • 12. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito さまざまな実行環境 Oracle 実行環境 (HotSpot) アプリ OS Oracle 実行環境 (JRockit) アプリ OS H社様 実行環境 アプリ OS OpenJDK (HotSpot) アプリ OS I社様 実行環境 アプリ OS • さまざまな企業(ベンダー)やオープンソースが実装 12 • さまざまな企業(ベンダー)
  • 13. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 開発から実行するまでの流れ 開発者 アプリケーション 実行環境 13 • ソースファイル – Java言語で書かれる • コンパイル – ソースファイルから クラスファイルを生成 • クラスファイル – 実行環境が実行できる バイトコードが含まれる 実行 ソース ファイル 記述 クラス ファイル コンパイル
  • 14. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito API アプリケーション • Java VM – バイトコードを読み込み、 ネイティブコードへ変換して アプリケーションを実行する – アプリケーションの実行に必要な メモリを管理する • API – 標準で含まれるクラスの集合 – Stringクラスなど 実行環境とは クラス ファイル 実行環境 読込 クラス ファイル クラス ファイル クラス ファイル 14 参照 Java VM 読込 クラス ファイル クラス ファイル 読込んだ クラス ファイル 実行
  • 15. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 2.Java VMの内部 15
  • 16. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito Java VMとは • Java Virtual Machineの略称、更に略してJVMと呼ばれる • javaコマンドで実行される • OSから見るとプロセス • ベンダーごとの実装によって細かい動きは異なる 16
  • 17. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito Java VMの役割 • アプリケーションを動かす • アプリケーションのサポート – アプリケーションの実行に必要なクラスファイルを読込む – バイトコードをネイティブコードへ変換・最適化 – オブジェクトの終了処理 – アプリケーションが使用したメモリの掃除(ガベージ・コレクション) – など 17
  • 18. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito Java VMの構成要素 • スレッド – 与えられた仕事を実行する – OSのCPUリソースを使用 • メモリ領域 – スレッドが作業領域として使用 – OSのメモリリソースを使用 18 メモリ領域 JVMプロセス スレッド
  • 19. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito メモリ領域 Java VMが持つ2種類のスレッド • アプリケーションスレッド – アプリケーションを動かす – 開発者が作成・管理可能 • VMスレッド – アプリケーションをサポートする – 開発者は気にしない 19 JVMプロセス VMアプリケーション
  • 20. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito メモリ領域 いろいろな役割のVMスレッド • スレッドによって役割がある – ガベージ・コレクション スレッド – コンパイル スレッド – ファイナライザ スレッド 20 JVMプロセス アプリケーションGC担当 コンパイル 担当 VM など
  • 21. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito Java VMのメモリ構造 • メモリ領域は2種類 – ヒープ領域 • アプリケーションのオブジェクトを格納 • アプリケーションがnewすると使用 • 開発者はオブジェクトの削除を意識不要 – ネイティブ領域 • Java VM自身が使用するメモリ空間 21 メモリ領域 JVMプロセス ネイティブヒープ VMアプリケーション abc new GC
  • 22. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito Java VMのネイティブ領域 • JVM内部で使用 • 他にもさまざまな用途で使用 – スレッドスタック • スレッドが処理中の情報を格納 – メタスペース • 読込んだクラスの情報を格納 22 JVMプロセス ネイティブヒープ VMアプリケーション スレッド スタック 処理中の 情報を記録
  • 23. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 3.アプリケーションとJava VM 23
  • 24. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 実行環境 String s = new String(“abc”); 1. Stringクラスの読み込み 2. Stringオブジェクトの作成 3. 変数とオブジェクトの紐付け Java VMの動きの例 ヒープ メタスペース s ※フィールドを含む 変数※ API開発者が実行したい処理 実行環境が行う主な処理 abc オブジェクト 2 参照 3 24 1 StringString
  • 25. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito アプリケーションをサポートする機能例 • ガベージ・コレクション – ヒープ領域にある使われないオブジェクトを削除する – GCスレッドによって実行される – 実行中はアプリケーションが停止する(Stop The World : STW) 25
  • 26. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito アプリケーションとGC String s = new String(“abc”); s = null ; メモリ abcs 参照 参照があるため GC対象ではない メモリ abcs 参照を削除 参照がないため GC対象 26
  • 27. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 4.HotSpot JVM 27
  • 28. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito HotSpotのヒープ構造 • 大きく2つに分割され、細かくは4つの領域に分割 – New領域 • Eden – 最初にオブジェクトを作られる領域 • Survivor 0/1 – 1回以上GCを経験したオブジェクトの領域 – Tenured領域 • 指定回数以上GCを経験した、 またはSurvivorに入りきらなかった オブジェクトの領域 28 Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域
  • 29. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito HotSpotのGC • GCはNew領域だけを対象とするものと全体を対象とする2種類 • GCの方法は主に3種類 – パラレル • 複数のスレッドでGCを行う – コンカレント・マーク&スイープ (CMS) • 複数の役割に分けてGCを行う • アプリと並行して実行可能な役割もある – ガベージ・ファースト (G1GC) • 領域を細かく分ける • 複数の役割に分けてGCを行う 29 Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域 Full GC Minor GC
  • 30. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 1.Edenにオブジェクトが作成される 3.Edenにオブジェクトが作成される 2.GCが実行され、参照のあるオブ ジェクトはEdenからSurvivor 0へ移 動 4.GCが実行され、参照のあるオブ ジェクトはEdenからSurvivor 1へ移 動 GCによるオブジェクトの動き (1/2) Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域 参照のあるオブジェクト 参照の無いオブジェクト Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域 Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域 1 2 1 2 Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域 1 23 1 3 30
  • 31. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 5.Edenにオブジェクトが作成される 7.GCを繰返すとTenuredがいっぱい になる 6.GCが実行され、一定回数GCを 経験するとTenuredへ移動する 8.Full GCが実行され、参照のない オブジェクトは全て削除される GCによるオブジェクトの動き (2/2) Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域 参照のあるオブジェクト 参照の無いオブジェクト Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域 Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域 1 3 Eden 領域 Tenured 領域 Survivor 0 領域 Survivor 1 領域1 3 31 1 1
  • 32. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 5.Javaアプリケーションの開発方法 32
  • 33. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 開発には Java Development Kit を使用 • Java用のソフトウェア開発キット(SDK) • Java Development Kit(JDK)の構成要素 – 実行環境(JRE) – 開発ツール:コンパイラ、アーカイブ、ドキュメント生成 – 運用ツール:分析ツール、監視ツール 33
  • 34. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito アプリケーション開発で扱う3種類のファイル • ソースファイル (*.java) – 開発者がJava言語で作成するファイル • クラスファイル (*.class) – JVMが実行可能なバイトコードを含むファイル • アーカイブファイル (*.jar, *.war, *.ear) – クラスファイルをまとめたファイル 34
  • 35. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 35 アプリケーション開発の流れ ソース ファイル クラス ファイル アーカイブ ファイル 記述 実行実行コンパイル アーカイブ • 実行はクラスファイルとアーカイブファイルのどちらでも可能
  • 36. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 昔のアプリケーション開発の流れ • エディタ(メモ帳など)を使用してソースファイルを作成 • JDKを直接使用してクラスファイル・アーカイブファイルを作成 36 ソース ファイル クラス ファイル アーカイブ ファイル javacコマンド jarコマンド エディタ JDK 実行
  • 37. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito IDEを使ったアプリケーション開発の流れ • 統合開発環境:Integrated Development Environment (IDE) – Eclipse, Netbeans, JDeveloper など – アプリケーション開発に必要な機能がまとめられている 37 ソース ファイル クラス ファイル アーカイブ ファイル Run保存/ビルド エクスポート IDEを使った開発 記述 実行
  • 38. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 商用で使われるアプリケーション開発の流れ(例) • CIツール – 継続的にテストやビルドを繰返し、品質管理を行うツール – ビルドツールを使用してコンパイルやアーカイブを行う 38 ソース ファイル クラス ファイル アーカイブ ファイル 実行コンパイル アーカイブ IDE CIツール
  • 39. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 6.Java VMの運用方法 39
  • 40. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito なぜ監視するのか • アプリケーションとJVMが動けているか確認 – OSリソース/APサーバ/Java VM/アプリケーションのリソースの過不足 – アプリケーションが動かず、Java VMばかり動いていないか – アプリケーションやJava VMが無駄な処理をしていないか 40
  • 41. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito • 使用量 – 各領域のGC前後の使用量 • GCの履歴 – GC開始時間と処理時間 • 占有オブジェクト – ヒープを閉めている オブジェクトの種類 • ステータス – 処理待ちしていないか – スリープしていないか • 実行中の処理 – 実行中の処理の スタックトレース • 処理量 – 起動からの処理量 • リソース使用量 – DB接続の使用数など • メソッドの実行時間 – メソッドの呼び出しごと と累計の処理時間 監視する項目 ヒープ スレッド アプリ 41
  • 42. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito • 使用量 – 各領域のGC前後の使用量 • GCの履歴 – GC開始時間と処理時間 • 占有オブジェクト – ヒープを閉めている オブジェクトの種類 • ステータス – 処理待ちしていないか – スリープしていないか • 実行中の処理 – 実行中の処理の スタックトレース • 処理量 – 起動からの処理量 • リソース使用量 – DB接続の使用数など • メソッドの実行時間 – メソッドの呼び出しごと と累計の処理時間 監視するツールと機能 ヒープ スレッド アプリ 42 GCログ ヒープダンプ MBean プロファイラ スレッドダンプ
  • 43. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito 7.Javaの情報収集方法 43
  • 44. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito • 毎月Javaの勉強会を開催 • 年2回大規模な勉強会を開催 • Twitter @JJUG、#JJUG • 関東と関西で開催 • もくもく会と勉強会を開催 • Twitter @java_women、#javajo • 1~2ヶ月に1回 勉強会を開催 • Twitter @kan_java、#kanjava • Twitter #okajug Javaのコミュニティに参加しましょう 日本Javaユーザグループ Java女子部 関西Javaエンジニアの会 岡山Javaユーザ会 44 • Twitter #hirojug 広島Javaユーザグループ
  • 45. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito Oracleが提供するオススメの情報源 • 認定試験 – Oracle Certified Java Programmer Silver/Gold • ドキュメント – JavaMagazine (http://www.oracle.com/technetwork/java/javamagazine/index.html) • 日本語版 (http://www.oracle.com/technetwork/jp/articles/java/overview/index.html) • イベント – 国内 • Java Day Tokyo、JavaOne Tokyo、Oracle DBA & Developer Day – 海外 • JavaOne San Francisco 45
  • 46. Java女子部 Oracleコンサルによる超Java入門 / Hello Java / @chiroito • Java チャンピオン – Javaにおけるリーダシップの役割を持つ – Java の技術に関する啓蒙活動等を行う – 厳選されたJava のスペシャリスト • Oracle Ace – Oracleの製品に卓越した知識と経験を持つ – コミュニティ活動を強力に支援 – トップエンジニアとしてオラクルが認定 • エバンジェリスト – 技術の採用を促す広報役 – 主に、所属会社の製品や技術戦略に則って 活動し、それらをエンジニアに広める • コミッター – 製品やその機能を開発し、反映できる人 – JavaではOpenJDKや各種ライブラリ 信頼できる情報発信源から情報を得ましょう 46