JS2-14 マルチコアCPU時代の Javaプログラミング
|
|
|
- かずまさ すえがら
- 6 years ago
- Views:
Transcription
1 JavaOne Tokyo 2012 JS2-14 マルチコア CPU 時代の Java プログラミング 2012 年 4 月 5 日 富士通株式会社数村憲治 Copyright 2012 FUJITSU LIMITED
2 自己紹介 数村憲治 富士通株式会社 Interstage Application Server 開発チーム Java VMの開発 サポート 大規模システムでの性能チューニングに 数多く携わる 1 Copyright 2012 FUJITSU LIMITED
3 アジェンダ ハードウェアの進化と性能問題 メモリ関連問題 ロック関連問題 まとめ Q&A 2 Copyright 2012 FUJITSU LIMITED
4 アジェンダ ハードウェアの進化と性能問題 いまどきのCPU コア数を意識するJava よくあるパターン メモリ関連問題 ロック関連問題 まとめ Q&A 3 Copyright 2012 FUJITSU LIMITED
5 いまどきの CPU Xeon E コア数 10 スレッド数 20 SPARC T3 コア数 16 スレッド数 128 PRIMEQUEST 1800E2 CPU 数 8 コア数 80 スレッド数 160 SPARC T3-4 CPU 数 4 コア数 64 スレッド数 512 マルチコアからメニーコアへ 4 Copyright 2012 FUJITSU LIMITED
6 コア数を意識する Java HotSpot VM のエルゴノミクス機能 Java VM が動作するマシン情報から自動判定 GC のワーカースレッド数に影響 確認方法 ( スレッドダンプ ) "GC task thread#0 (ParallelGC)" prio=10 tid=0x088d1800 nid=0x3428 runnable "GC task thread#1 (ParallelGC)" prio=10 tid=0x088d3000 nid=0x3429 runnable "GC task thread#2 (ParallelGC)" prio=10 tid=0x088d4400 nid=0x3430 runnable "GC task thread#3 (ParallelGC)" prio=10 tid=0x088d5000 nid=0x3431 runnable "GC task thread#4 (ParallelGC)" prio=10 tid=0x088d6000 nid=0x3432 runnable -XX:ParallelGCThreads=n ( パラレル GC 使用時 ) -XX:ConcGCThreads=n ( コンカレント GC 使用時 ) 5 Copyright 2012 FUJITSU LIMITED
7 コア数を意識する Java java.util. concurrent.forkjoinpool タスクを分割し work-stealingモデルで並列に実行 デフォルトの並列数は 論理 CPU 数 ForkJoinPool pool = new ForkJoinPool(); pool.invoke(sometask); ForkJoinPool pool = new ForkJoinPool(properValue); pool.invoke(sometask); 6 Copyright 2012 FUJITSU LIMITED
8 よくあるパターン CPU のマルチコア スレッド化により論理 CPU 数の増加 ハードの性能が上がった と喜ぶ アプリケーションで同時に実行するスレッド数を増加させる 同時実行スレッドが少ない時には発生しなかった問題が浮上 7 Copyright 2012 FUJITSU LIMITED
9 アジェンダ ハードウェアの進化と性能問題 メモリ関連問題 メモリアロケーション ガベージコレクション ロック関連問題 まとめ Q&A 8 Copyright 2012 FUJITSU LIMITED
10 メモリアロケーション Java のアロケーションはロックレス TLAB(Thread Local Alloc Buffer) Eden 領域 ( 初期状態 ) Eden 領域 ( アロケート時 ) スレッド A に割当て スレッド B に割当て スレッド A からのメモリ要求 スレッド B からのメモリ要求 多重度を上げても問題ないように見えるが 9 Copyright 2012 FUJITSU LIMITED
11 メモリアロケーション スレッド数が多いと TLAB が非効率に Eden 領域 スレッド 1 用 スレッド 2 用 スレッド 3 用 スレッド 4 用 スレッド (N+1) 用の TLAB が割当てられない スレッド 5 用 使用域 スレッド N 用 未使用域 Eden 全体では 未使用域がたくさんあるが GC が発生 10 Copyright 2012 FUJITSU LIMITED
12 ガベージコレクション JNI 使用時には注意が必要 cstr = (*env)->getstringcritical(env, string, &iscopy); ~ 長い処理 ~ (*env)->releasestringcritical(env, string, cstr); GetStringCritical ReleaseStringCritical 間は ガベージコレクションが抑止 他のスレッドで OutOfMemoryError の可能性 GetPrimitiveArrayCritical も同様 11 Copyright 2012 FUJITSU LIMITED
13 アジェンダ ハードウェアの進化と性能問題 メモリ関連問題 ロック関連問題 JavaVMロック機構の進化 無意識のロック フェアネスロック 性能分析 まとめ Q&A 12 Copyright 2012 FUJITSU LIMITED
14 JavaVM ロック機構の進化 ほとんどのロックは共有すらされていない 第三世代バイアスロック ロード命令を使用 ほとんどのロックは競合していない 第二世代シンロック CAS 命令を使用 マルチコア CPU では CAS のコストが増大 第一世代ヘビーロック OS の mutex 関数を使用 オブジェクト毎に mutex を用意 ロック機構の進化はロック競合時の改良ではない 13 Copyright 2012 FUJITSU LIMITED
15 無意識のロック API ドキュメントには どのメソッドが synchronize メソッドか 記述なし 内部的に synchronized ブロックを使用している場合もあり java.util.hashtable java.lang.stringbuffer java.lang.string#getbytes() java.net.inetaddress#getallbyname() java.io.file#renameto() 14 Copyright 2012 FUJITSU LIMITED
16 無意識のロック java.util.hashtable クラス ほとんどのメソッドが synchronize メソッド スレッドローカルで使用するなら java.util.hashmap 等を java.lang.stringbuffer クラス ほとんどのメソッドが synchronize メソッド java.lang.stringbuilder の使用を 15 Copyright 2012 FUJITSU LIMITED
17 無意識のロック java.lang.string#getbytes() byte[] b1 = str1.getbytes( MS932 ); byte[] b2 = str2.getbytes( EUC_JP ); byte[] b3 = str3.getbytes( UTF-8 ); at sun.nio.cs.fastcharsetprovider.charsetforname(fastcharsetprovi -waiting to lock <0x74b1e5d8> (a sun.nio.cs.standardcharsets) at java.nio.charset.charset.lookup2(charset.java:487) at java.nio.charset.charset.lookup(charset.java:475) at java.nio.charset.charset.issupported(charset.java:517) at java.lang.stringcoding.lookupcharset(stringcoding.java:99) at java.lang.stringcoding.encode(stringcoding.java:335) at java.lang.string.getbytes(string.java:955) 16 Copyright 2012 FUJITSU LIMITED
18 無意識のロック java.net.inetaddress#getallbyname() InetAddress ia = InetAddress.getAllByName( hostname ); at java.net.inetaddress.getcachedaddresses(inetaddress.java:839) -waiting to lock <0x74b40e78> (a java.net.inetaddress$cache) at java.net.inetaddress.getallbyname0(inetaddress.java:1207) at java.net.inetaddress.getallbyname(inetaddress.java:1127) at java.net.inetaddress.getallbyname(inetaddress.java:1063) 17 Copyright 2012 FUJITSU LIMITED
19 無意識のロック java.io.file#renameto() (delete/mkdirs/getcanonicalpath も同様 ) File f1 = new File( ); File f2 = new File( ); f1.renameto(f2); at java.io.expiringcache.clear(expiringcache.java:98) -locked <0x9fa0c328> (a java.io.expiringcache) at java.io.unixfilesystem.rename(unixfilesystem.java:276) at java.io.file.renameto(file.java:1314) 18 Copyright 2012 FUJITSU LIMITED
20 フェアネスロック lock = new Object(); public void run() { for (int i = 0 ; i < 100 ; i++) { synchronized (lock) { System.out.println( i=" + i + " tid=" + Thread.currentThread().getId()); } } 期待する結果 i=0 tid=9 i=0 tid=12 i=0 tid=11 i=1 tid=9 i=0 tid=10 i=0 tid=14 i=1 tid=10 実際の結果 i=0 tid=9 i=1 tid=9 i=2 tid=9 i=3 tid=9 i=4 tid=9 i=5 tid=9 i=6 tid=9 19 Copyright 2012 FUJITSU LIMITED
21 フェアネスロック ロック待ち ロック中 レスポンス重視 スレッドA スレッドB スレッドC スレッドD ロック解放ロック解放ロック解放ロック解放 各スレッドでロック待ち時間が均等 スループット重視 スレッドA スレッドB スレッドC スレッドD ロック解放ロック解放ロック解放ロック解放 飛びぬけてロック待ち時間の長いスレッドが存在 20 Copyright 2012 FUJITSU LIMITED
22 モニター synchronized (o) { 待合室 オーナー部屋 1 Monitor Enter Monitor 2 Entered 3 待ちスレッド オーナースレッド Monitor Exit 1: Monitor Enter: 待合室に入る この段階ではロックは取れていない 2: Monitor Entered: オーナー部屋に入る この段階でロック獲得 3: Monitor Exit: 部屋から退出 ロックを解放 21 Copyright 2012 FUJITSU LIMITED
23 フェアネスロック synchronize(d) は フェアネスロックではない フェアネスを期待する場合は java.util.concurrent.locks.reentrantlock lock = new ReentrantLock(true); // true: フェアネスの指定 public void run() { for (int i = 0 ; i < 100 ; i++) { try { lock.lock(); System.out.println( i=" + i + " tid=" + Thread.currentThread().getId()); } finally { lock.unlock(); } } 22 Copyright 2012 FUJITSU LIMITED
24 性能分析 System.out#println() による区間分析 long time1 = System.currentTimeMillis(); System.out.println( 区間 A 開始 : + threadid + : + time1); n = n+1; long time2 = System.currentTimeMillis(); System.out.println( 区間 A 終了 : + threadid + : + time2); 実行結果 区間 A 開始 :9:11000 区間 A 開始 :8:11010 区間 A 終了 :8:11020 区間 A 開始 :7:20010 区間 A 終了 :7:20020 区間 A 終了 :9:21000 スレッド 9 だけ 10 秒かかっている System.out#pintln() 内でも synchronized の使用 23 Copyright 2012 FUJITSU LIMITED
25 性能分析 JVMTI の例 void JNICALL cbmethodenter(jvmtienv *env, ) { メソッド名の抽出 (*env)->rawmonitorenter( ); メソッド名のログ書き込み (*env)->rawmonitorexit( ); void JNICALL cbmethodenter(jvmtienv *env, ) { メソッド名の抽出 (*env)->getthreadlocalstorage(env, thread, &tls); tls へメソッド名の記録 24 Copyright 2012 FUJITSU LIMITED
26 アジェンダ ハードウェアの進化と性能問題 メモリ関連問題 ロック関連問題 まとめ Q&A 25 Copyright 2012 FUJITSU LIMITED
27 まとめ ハードウェアの更改時は要注意 プログラム変更が必要な場合も わずかのロックが命取りに できるだけロックを使わない 無意識に使っているロックを見極める ロックポリシーの選択 レスポンス重視かスループット重視か デバッグコードが性能ネックに 正しい性能測定を 26 Copyright 2012 FUJITSU LIMITED
28 Q&A 27 Copyright 2012 FUJITSU LIMITED
29 28 Copyright 2011 FUJITSU LIMITED
30 29 Copyright 2011 FUJITSU LIMITED
JVMTIを使った超低負荷プロファイラの作成
JVMTI を使った超低負荷プロファイラの作成 2011 年 12 月 22 日 数村憲治 Java アプリケーションにおいて ボトルネックになる要因はいろいろありますが もっともよく問題になるのが ロックによる排他待ちです ロックによる排他待ちを検出するにはどうしたらよいでしょうか? もっとも簡単なのは Java のフルスレッドダンプを取ることです この方法での問題は 排他待ちになっている瞬間に採取しなければならないことです
HashMapからConcurrentHashMapへの移行
HashMap から ConcurrentHashMap への移行 レガシー アプリケーションにおける注意点 2012 年 1 月 4 日橋口雅史 1. はじめにアプリケーションでは キーと値のマッピングが多用されます 例えば ユーザー名 というキーにユーザーの 情報 をマッピングするといった用途で java.util.map インタフェースは広く使われています 特に ハッシュテーブルに基づいて高速にマップを検索
Slide 1
Oracle Direct Seminar 高速 JVM Oracle JRockit の全貌入門編 Agenda JRockitとは JRockitの内部動作について JRockitの運用監視について 2 概要 JRockit とは? BEA(Oracle) が提供 & サポートする Java SE 完全準拠の JVM もともとサーバサイド用途専用に作られた
JavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
富士通製プラットフォーム 「PRIMEPOWER/PRIMERGY」及び、富士通製ミドルウェア 「Interstage」とVantage Analyzer 動作検証完了報告書
富士通株式会社殿富士通製プラットフォーム PRIMEPOWER / 及び 富士通製ミドルウェア Interstage と Vantage Analyzer 動作検証完了報告書 日本コンピュウェア株式会社 [ 目次 ] 1. 目的 --------------------------------------------------------- 2 2. ハードウェアの構成 ---------------------------------------------------------
検証事例 富士通株式会社
http://www.humancrest.co.jp/ Interstage / ENdoSnipe 動作検証結果報告書 (Solaris) 平成 21 年 6 月 5 日株式会社ヒューマンクレスト品質コンサルティングコンサルティング部第 1.0 版 動作検証結果報告書目次 1. 本プロジェクトの目的及び方針 2. 検証環境 3. 検証内容 4. 検証結果 メモリリーク マルチプロセス 負荷試験
JavaプログラミングⅠ
Java プログラミング Ⅱ 11 回目スレッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スレッドは 1 つの実行箇所をもつ一連の処理の流れである (2) マルチスレッドで各スレッドの処理は並行して実行される (3) Java はマルチスレッド処理を記述できない (4) 新たにスレッドを生成する場合 Thread クラスを拡張し かつ Runnable インタフェースを実装する必要がある
POSIXスレッド
POSIX スレッド (3) システムプログラミング 2011 年 11 月 7 日 建部修見 同期の戦略 単一大域ロック スレッドセーフ関数 構造的コードロッキング 構造的データロッキング ロックとモジュラリティ デッドロック 単一大域ロック (single global lock) 単一のアプリケーションワイドの mutex スレッドが実行するときに獲得, ブロックする前にリリース どのタイミングでも一つのスレッドが共有データをアクセスする
Full GC発生を抑止するメモリ管理技術
y1 2 0 1 0. J a n u a r Contents 1. Stop the World -ミッションクリティカルシステムを止めない... 1 2. Java TM VMのメモリ管理とガーベージコレクション... 2 2.1 ガーベージコレクションとは... 2 2.2 Java VMのメモリ管理方式... 2 2.3 Copy GCとFull GC... 2 2.4 Stop the
< F2D F B834E2E6A7464>
ランダムウォーク [Java アプレット ] [Java アプレリケーョン ] 1. はじめに 酔っぱらいは前後左右見境なくふらつきます 酔っぱらいは目的地にたどり着こうと歩き回っているうちに何度も同じところに戻って来てしまったりするものです 今 酔っぱらいが数直線上の原点にいるとします 原点を出発して30 回ふらつくとき 30 回目に酔っぱらいがいる位置は 出発点である原点からどれくらい離れてしまっているのでしょうか
マルチコア時代の並列プログラミング
マルチコア時代の 並列プログラミング ~ ロックとメモリオーダリング ~ 中村実 [email protected] http://www.nminoru.jp/~nminoru/ まずは自己紹介を 電機メーカー勤務のエンジニア Java VM 特に並列 GC JIT コンパイラの研究 開発 Java 系雑誌にときどき寄稿 最近は IA-64 と戯れる日々 趣味で Web に細々とプログラミングのメモを綴る日々
White Paper 高速部分画像検索キット(FPGA アクセラレーション)
White Paper 高速部分画像検索キット (FPGA アクセラレーション ) White Paper 高速部分画像検索キット (FPGA アクセラレーション ) Page 1 of 7 http://www.fujitsu.com/primergy Content はじめに 3 部分画像検索とは 4 高速部分画像検索システム 5 高速部分画像検索の適用時の改善効果 6 検索結果 ( 一例 )
text_10.dvi
C 10 13 6 18 10 Java(5) {, 1 10.1 10 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 10.2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Insert your Title here
マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?
WebOTXプロファイラを使用したメモリリーク調査方法
WebOTX プロファイラを使用したメモリリーク調査方法 2006 年 10 月初版 改版履歴 i 目次 1. はじめに...1 2. OutOfMemoryErrorの確認...1 3. JavaVMのヒープ使用量の確認...2 4. WebOTXプロファイラの利用...5 4.1. WebOTXプロファイラを利用するための設定...5 4.1.1. ドメインのJavaVMオプションにプロファイラのオプションの追加...5
ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014
ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 コンカレントな処理の実行 システム内部の複数の処理を 平行に実行する CPU GPU メモリ転送 カーネル実行 複数のカーネル間 ストリーム GPU 上の処理キュー カーネル実行 メモリ転送の並列性 実行順序 DEFAULT STREAM Stream : GPU
Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments
計算機アーキテクチャ第 11 回 マルチプロセッサ 本資料は授業用です 無断で転載することを禁じます 名古屋大学 大学院情報科学研究科 准教授加藤真平 デスクトップ ジョブレベル並列性 スーパーコンピュータ 並列処理プログラム プログラムの並列化 for (i = 0; i < N; i++) { x[i] = a[i] + b[i]; } プログラムの並列化 x[0] = a[0] + b[0];
Pervasive PSQL v11 のベンチマーク パフォーマンスの結果
Pervasive PSQL v11 のベンチマークパフォーマンスの結果 Pervasive PSQL ホワイトペーパー 2010 年 9 月 目次 実施の概要... 3 新しいハードウェアアーキテクチャがアプリケーションに及ぼす影響... 3 Pervasive PSQL v11 の設計... 4 構成... 5 メモリキャッシュ... 6 ベンチマークテスト... 6 アトミックテスト... 7
Java知識テスト問題
Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください
目次 1. はじめに SSL 通信を使用する上での課題 SSL アクセラレーターによる解決 SSL アクセラレーターの導入例 SSL アクセラレーターの効果... 6 富士通の SSL アクセラレーター装置のラインナップ... 8
IPCOM 目次 1. はじめに... 1 2.SSL 通信を使用する上での課題... 2 3.SSL アクセラレーターによる解決... 3 4.SSL アクセラレーターの導入例... 4 5.SSL アクセラレーターの効果... 6 富士通の SSL アクセラレーター装置のラインナップ... 8 1. はじめに SSL は インターネット上で最も良く使われている暗号技術です SSL は 通信内容を暗号化して盗聴を防ぐ機能のほかに
JavaプログラミングⅠ
Java プログラミング Ⅱ 3 回目クラスの機能 (1) アクセス制限 オーバーロード課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) クラスの private メンバは そのクラスからのみアクセス可能なメンバである (2) 一般に クラスのフィールドはどこからでもアクセスできるように public メンバで宣言すべきである (3) クラスは private メンバと public
新・明解Java入門
537,... 224,... 224,... 32, 35,... 188, 216, 312 -... 38 -... 38 --... 102 --... 103 -=... 111 -classpath... 379 '... 106, 474!... 57, 97!=... 56 "... 14, 476 %... 38 %=... 111 &... 240, 247 &&... 66,
情報技術 Java の特徴 Java は現在 事務処理計算用プログラミング言語として開発された COBOL に取って代わり C 言語や C++ と並んで 現在最も使われているプログラミング言語の一つである Java は Write Once, Run Anywhere( プログラムを一度作成したらど
情報技術 Java の特徴 Java は現在 事務処理計算用プログラミング言語として開発された COBOL に取って代わり C 言語や C++ と並んで 現在最も使われているプログラミング言語の一つである Java は Write Once, Run Anywhere( プログラムを一度作成したらどこでも動く ) という構想で設計されており 以下のような特徴を持つ 一度作成したら どんなプラットフォーム上でも動作する
160311_icm2015-muramatsu-v2.pptx
Linux におけるパケット処理機構の 性能評価に基づいた NFV 導 の 検討 村松真, 川島 太, 中 裕貴, 林經正, 松尾啓志 名古屋 業 学 学院 株式会社ボスコ テクノロジーズ ICM 研究会 2016/03/11 研究 的 VM 仮想 NIC バックエンド機構 仮想化環境 仮想スイッチ パケット処理機構 物理環境 性能要因を考察 汎 IA サーバ NFV 環境に適したサーバ構成を検討
開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]
開発 運用時のガイド [UNIX] JDK8 への移行に伴う留意点 2015.10 O c t o b e r はじめに 本書は 開発 運用フェーズで使用するドキュメントとして Java TM Development Kit 8 への移行に伴う 留意点について記述しています 1. 対象とする読者本書は Java TM Development Kit 8 を使用し システムを設計 構築 運用する立場にある方を対象としています
Javaセキュアコーディングセミナー2013東京第1回 演習の解説
Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog
PowerPoint プレゼンテーション
5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse
(速報) Xeon E 系モデル 新プロセッサ性能について
( 速報 ) Xeon E5-2600 系モデル新プロセッサ性能について 2012 年 3 月 16 日 富士通株式会社 2012 年 3 月 7 日 インテル社より最新 CPU インテル Xeon E5 ファミリー の発表がありました この最新 CPU について PC クラスタシステムの観点から性能検証を行いましたので 概要を速報いたします プロセッサインテル Xeon プロセッサ E5-2690
Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def
Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致致しない場合 default: から直後の まで処理します 式の結果 ラベル 定数 整数または文字 (byte, short, int,
Windows Server 2016 Hyper-V ストレージQoS機能の強化
Windows Server 2016 Hyper-V ストレージ QoS 機能の強化 1. はじめに Windows Server 2012 R2 の Hyper-V ストレージ QoS(Quality of Service) 機能は 仮想ディスクに対する I/O 帯域制御において Hyper-V ホスト上の仮想マシン ( 以下 VM と略 ) に対してのみ管理が可能でした このため Hyper-V
< F2D825282CC947B909482CC A815B83682E6A>
3 の倍数のトランプカード 1. はじめに [Java アプレット ] [Java アプリケーション ] ここにトランプが 1 組あります ジョーカー 2 枚を除いて 52 枚を使います 3 の倍数は スペード クローバ ダイヤ ハートに それぞれ 3 と 6 と 9 と 12 の 4 枚ずつあるので 4 4=16 枚あります この 52 枚のトランプから 1 枚引いたとき そのカードが 3 の倍数である確率を考えます
Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat
作成日 :2017/07/06 ******************************************************************************* ** ** ** FUJITSU Cloud Service K5 ** ** ** ** ソフトウェアカフェテリアサービス向けソフトウェア説明書 ** ** Linux 版 ** ** Interstage
ファイナライザを理解する ~ ファイナライザに起因するトラブルを避けるために ~ 2013 年 11 月 25 日 橋口雅史 Java アプリケーションでファイナライザ (finalize() メソッド ) を使用したことがあるプログラマーは多いと思います しかし ファイナライザの仕組みや注意点につ
ファイナライザを理解する ~ ファイナライザに起因するトラブルを避けるために ~ 2013 年 11 月 25 日 橋口雅史 Java アプリケーションでファイナライザ (finalize() メソッド ) を使用したことがあるプログラマーは多いと思います しかし ファイナライザの仕組みや注意点について 理解したうえで使っているでしょうか? アプリケーション プログラムでファイナライザを使用する場合は
Microsoft Windows Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です Linux は Linus Torvalds 氏の日本およびその他の国における登録商標または商標です Red Hat
作成日 :2017/07/06 ******************************************************************************* ** ** ** FUJITSU Cloud Service K5 ** ** ** ** ソフトウェアカフェテリアサービス向けソフトウェア説明書 ** ** Linux 版 ** ** Interstage
Microsoft PowerPoint - chap10_OOP.ppt
プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,
JavaプログラミングⅠ
Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または
Javaの作成の前に
メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?
PowerPoint プレゼンテーション
システム 安 定 稼 働 を 実 現 するための JavaVMメモリサイジング 2008 年 6 月 18 日 株 式 会 社 日 立 製 作 所 ソフトウェア 事 業 部 第 2AP 基 盤 ソフト 設 計 部 中 島 恵 Hitachi, Ltd. 2008. All rights reserved. Contents 1. 安 定 したシステムを 構 築 するために 2. GC(ガベージコレクション)とは
r3.dvi
00 3 2000.6.10 0 Java ( 7 1 7 1 GSSM 1? 1 1.1 4 4a 4b / / 0 255 HTML X 0 255 16 (0,32,255 #0020FF Java xclock -bg #0020FF xclock ^C (Control C xclock 4c 1 import java.applet.applet; import java.awt.*;
< F2D82518CC282CC D2E6A7464>
2 個のさいころ 1. はじめに [Java アプレット ] [Java アプリケーション ] 2 個のさいころを同時に投げたときの目の出方を考えてみましょう この 2 個のさいころをそれぞれ さいころ Ⅰ さいころ Ⅱ とすると その目の出方は順に 1 1 2 1 3 1 4 1 5 1 6 1 1 2 2 2 3 2 4 2 5 2 6 2 1 3 2 3 3 3 4 3 5 3 6 3 1 4
Oracle Solarisゾーンによるハード・パーティショニング
Oracle ホワイト ペーパー 2014 年 10 月 はじめに このドキュメントでは Oracle Solarisゾーン (Oracle Solarisコンテナとしても知られる ) によるハード パーティショニングを パーティション化された環境向けのオラクル ライセンス ポリシーに準拠するために使用する方法について説明します 以下に説明する承認済みのハード パーティション構成は あらゆるタイプのOracle
文字列操作と正規表現
文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性
POSIXプログラミング Pthreads編
POSIXプログラミング Pthreads 編 デジタルビジョンソリューション 中山一弘佐藤史明 参考図書 Pthreads プログラミング, Bradford Nichols, Dick Buttlar, Jacqeline Proulx Farrell, ISBN4-900900-66-4 Pthreads POSIX スレッド標準を実装したライブラリを Pthreads と呼ぶ C 言語のデータ型
Effective Android NDK Advanced Core Engineer
Effective Android NDK Advanced Core Engineer Effective Android NDK Effective Android NDK NDK NDK NDK JNI Effective Android NDK native java native NDK NDK NDK C, C++ native toolset Android java native NDK
JavaプログラミングⅠ
Java プログラミング Ⅱ 4 回目クラスの機能 (2) コンストラクタ クラス変数 クラスメソッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) コンストラクタはメソッドと同様に戻り値をもつ (2) コンストラクタはオブジェクトが生成されると最初に実行される (3) コンストラクタはメソッドと同様にオーバーロードができる (4) コンストラクタは常に public メンバとしなければならない
PowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念
トラブルシューティング集
FUJITSU Software Interstage Mobile Application Server V1.0.0 トラブルシューティング集 B1WS-1131-01(00) 2013 年 10 月 まえがき 本書の目的 本書は Interstage Mobile Application Server のトラブルシューティングを目的としています 本書の読者 本書は Interstage Mobile
Java講座
~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト
問題1 以下に示すプログラムは、次の処理をするプログラムである
問題 1 次に示すプログラムは 配列 a の値を乱数で設定し 配列 a の値が 333 より大きく 667 以下の値 の合計値を求めるプログラムである 1 と 2 に適切なコードを記述してプログラムを完 成させよ class TotalNumber { public static void main(string[] args) { int[] a = new int[1000]; // 1 解答条件
