5-D オラクルコンサルが語るJava SE 8の勘所

Size: px
Start display at page:

Download "5-D オラクルコンサルが語るJava SE 8の勘所"

Transcription

1 オラクルコンサルが語る Java SE 8 の勘所 日本オラクル株式会社コンサルティング統括本部プリンシパルコンサルタント伊藤智博 Java Day Tokyo 年 5 月 24 日

2 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 4

3 自己紹介 伊藤智博 ( いとうちひろ ) コンサルティングサービス統括所属 インメモリ高速処理基盤の構築を支援 Javaに関わるトラブルシューティング 国内外問わずJavaのイベントで講演 5

4 Java SE 8 を使ってますか? 6

5 Java SE 8 について次のような疑問を伺います 7

6 " 旧来の日付 API で十分だし 新しいのは重そうね " 8

7 "Lambda 式? 複雑そうだし 処理に 時間が掛かりそうだね " 9

8 "Stream API? 本当に速いの?" 10

9 こんな疑問をパフォーマンス分析の観点で解決します 11

10 アジェンダ 1. Date and Time API 2. Lambda 式 3. Stream API and Java Flight Recorder 12

11 Java Flight Recorder とは アプリケーションと JVM の情報を記録 低負荷で情報取得し 簡単に解決までの時間を短縮 13

12 主な分析観点 CPU リソースの割り当て JVM に中断された時間 処理時間 14

13 1. Date and Time API 15

14 よく行われる日付の処理 文字列 日付オブジェクト "2016/05/24" 2016/05/24 変換計算 2016/05/31 16

15 これまでの実装方法 SimpleDateFormat formater = スレッドセーフではない new SimpleDateFormat("yyyy/MM/dd"); Date date = formater.parse("2016/05/24"); 重い Calendar cal = Calendar.getInstance(); cal.settime(date); イミュータブルではない cal.set(date,cal.getactualmaximum(date)); Date end = cal.gettime(); 常に日付と時間を持つ 17

16 Date and Time API とは JSR 310 として標準化された日時 API これまでのAPIと互換性は無い スレッドセーフ データ形式ごとにクラスを定義 イミュータブル 18

17 文字列からオブジェクトへ変換手順 文字列日付オブジェクト変換 "2016/05/24" 2016/05/ 形式を指定してフォーマッタを作成 形式の例 :yyyy/mm/dd 2. 2 フォーマッタと文字列からオブジェクトを作成 文字列の例 :2016/05/24 19

18 変換コードの比較 1 2 SimpleDateFormat formater = 旧 new SimpleDateFormat("yyyy/MM/dd"); Date date = formater.parse("2016/05/24"); 1 2 DateTimeFormatter formater = 新 DateTimeFormatter.ofPattern("yyyy/MM/dd"); LocalDate date = LocalDate.parse("2016/05/24", formater); 20

19 月末日の取得手順 日付オブジェクト 2016/05/24 計算 2016/05/ 計算をするための日付オブジェクトの取得 2. 2 日付オブジェクトに末日を設定 3. 3 欲しいクラスの日付オブジェクトへ変換 21

20 月末日の取得コードの比較 Calendar cal = Calendar.getInstance(); 旧 cal.set(date,cal.getactualmaximum(date)); Date end = cal.gettime(); 新 LocalDate end = YearMonth.now().atEndOfMonth();

21 パフォーマンス分析 23

22 パフォーマンス分析するケース 1 文字列 日付オブジェクト "2016/05/24" 2016/05/24 変換計算 /05/31 24

23 ケース 1: 変換処理 処理 日付文字列から日付オブジェクトを変換 分析観点 CPUリソースの割り当て GCの実行時間 変換にかかった処理時間 25

24 リソースと中断時間を確認 CPU が使えたかを確認 GC の実行時間を確認 26

25 検証環境 ハードウェア CPU 4コア メモリ 16GB Java VM ヒープ 4GB (New 3GB, Eden 2.88GB) 27

26 ケース 1: 変換処理のコード比較 ( 再掲 SimpleDateFormat formater = new SimpleDateFormat("yyyy/MM/dd"); Date date = formater.parse("2016/05/24"); 旧新 DateTimeFormatter formater = DateTimeFormatter.ofPattern("yyyy/MM/dd"); LocalDate date = LocalDate.parse("2016/05/24", formater); 28

27 リソース使用量 これまでの方法 Date and Time API 1 つのコアを使用できている GC 回数 30 回 GC 回数 33 回 29

28 ケース 1:GC 停止時間 ms ms +4.6% ms 0 これまでの方法 Date and Time API 30

29 ケース 1: 処理時間 240 秒 秒 106 秒 60 0 これまでの方法 -41.2% Date and Time API 31

30 ケース 2: オブジェクトのサイズ 処理 1. 日付オブジェクトを生成 保持 1000 万オブジェクト 2. Full GC 分析観点 FullGC をした後のヒープ使用量 32

31 FullGC 後のヒープ使用量の確認 GC を選択 ヒープ情報を確認する 33

32 FullGC 後のヒープ使用量の確認 これまでの方法 Date and Time API 34

33 ケース 2: ヒープ使用量 400 MB MB 284 ±0% MB java.util.date java.time.localdate 35

34 まとめ 処理の流れはほぼ同一に実装可能 処理時間は40% 以上短縮 日付オブジェクトのヒープ使用量は同等 データ形式によっては増えるので注意が必要 36

35 2. Lambda 式 37

36 インターフェースについて インターフェース インターフェース 関数型インターフェース 1 つのメソッドのみ定義 本番実装 モック実装 38

37 インターフェースの実装方法 名前付きのクラスによる実装 class Impl implements Iface public void method1(){ // 処理 } } 匿名クラスによる実装 Iface o = new Iface() public void method1(){ // 処理 } }; 39

38 これまでの実装方法とその嫌な点 IntPredicate func = new Intpredicate(){ public boolean test(int param){ return param % 2 == 0; } }; 関心事 開発者は関心事だけに集中したい 40

39 Lambda 式とは 関数型インターフェースを簡単に実装する記法 ( 引数 )-> { 本体 } Stream APIとの親和性が高い Java SE 7 以前のインターフェースにも使える 実行時に多くのクラスをロード 41

40 Lambda 式への変換方法 IntPredicate func = new Intpredicate(){ public boolean test(int param){ return param % 2 == 0; } }; 関心事の抽出 IntPredicate func = param -> param % 2 == 0; 42

41 パフォーマンス分析 43

42 ケース : 実装方法による処理時間 処理 指定した数が素数かどうかを確認する あえて条件式をLambda 式で書いた方法を比較 分析観点 コンパイル数およびコンパイル時間 処理時間 44

43 素数とは 1 とその数自身のみで割りきれる数 (2,3,5,7,11, ) 素数の候補となる数 n を 2 から n-1 までの数で 割り切れなければ ( 余り 0) 素数である 本例では計算量増加のために 2 から n-1 まで全て計算します 45

44 コンパイル数の確認方法 コンパイルされたメソッド数 46

45 コンパイル時間の確認方法 コンパイルの情報から時間を算出 47

46 ケース : テストコード 旧 for (int div = 2; div < candidate; div++) boolean isprime = true; if (candidate % div == 0) isprime = false; IntPredicate func = div -> (candidate % div 新 == 0); for (int div = 2; div < candidate; div++) if( func.test(div) ) isprime = false; 48

47 リソース使用量 for 文 lambda 式 1 つのコアを使用できている ヒープ使用量 9.4MB ヒープ使用量 10.7MB 49

48 コンパイル数の確認 for 文 Lambda 式 66 メソッド 312 メソッド 50

49 コンパイル時間の比較 400 ms 371 ms % ms for 文 Labmda 式 51

50 処理時間の比較 60 秒 55.0 秒 53.3 秒 % 15 0 for 文 Labmda 式 52

51 まとめ コンパイルされるメソッド数が増加 コンパイル時間が増加 実行時間に比べると微増 処理時間は Lambda 式がわずかに短い 53

52 3. Stream API 54

53 繰り返し内で行われる処理 中間操作 ( 途中で行う処理 ) 情報のフィルタ 情報の変換 終端操作 ( 最終的に行う処理 ) 出力 コレクションに入れるなど 55

54 繰返し処理の種類 外部イテレータ :( 繰返しを外に書く ) for( 要素 e : 集合 ) 処理 内部イテレータ :( 繰返しを内部で隠蔽する ) 集合. 終端操作用メソッド ( 処理 ); 56

55 30 歳以上の社員名を集める実装例 Collection<Employee> empcol =...; List<String> list = new ArrayList<>(); 終端操作 for(employee e : empcol) if( e.getage() >= 30 ) list.add( e.getname() ); 外部イテレータ 中間操作 終端操作 57

56 これまでの実装方法の嫌な点 同じようなコードが多くメンテナンス性に欠ける for 文の前でコレクションを作って 中で add して スループットの向上が困難 1 回あたりの処理の粒度が小さいために速度向上が困難 マルチスレッドに分割する開発コストが高い 58

57 Stream API とは 内部イテレータによる繰返し処理 主に Collection インターフェースに定義 中間操作と終端操作を組み合わせて処理を実行 Fork Join Frameworkでパラレル化を実現 オブジェクトだけではなくプリミティブも使える 59

58 Stream API のメソッド例 中間操作 情報のフィルタ (filter) 情報の変換 (map) 終端操作 戻り値無し (foreach) 戻り値あり (collect など ) 内部イテレータ empcol.stream().collect( 処理 ); 60

59 Parallel Stream empcol.stream().parallel().collect( 処理 ); empcol.parallelstream().collect( 処理 ); システムプロパティで多重度を設定可能 java.util.concurrent.forkjoinpool.common.parallelism デフォルト値はコア数 61

60 繰返し処理のコード比較 旧 if( e.getage() >= 30 ) list.add( e.getname() ); List<String> list = new ArrayList<>(); for(employee e : empcol) List<String> list = 新 empcol.stream().filter(e->e.getage() >= 30).map(e->e.getName()).collect(Collectors::toList); 62

61 パフォーマンス分析 63

62 分析するケース 実装方法 1 スレッド数 for 文 1 Stream 1 Parallel Stream

63 検証環境 Oracle Exalogic X5-2 Intel Xeon CPU E v3 2.3GHz 18 コア HT あり 2 プロセッサ 256GB メモリ 65

64 ケース 1: 実装方法ごとの処理時間 処理 from から to までにある素数を数える for 文 Stream Parallel Stream(1スレッド ) 分析観点 CPU 使用率 スレッドの処理割合 オーバーヘッドの確認 66

65 リソース使用量の確認 CPU が使えたかを確認 処理をしているスレッド数を確認 67

66 オーバーヘッドを確認 素数を判断するメソッドまでの処理階層を確認 68

67 for 文のコード int primenum = 0; for(int candidate=from; candidate<=to; candidate++) { } if ( PrimeUtil.isPrimeFunc(candidate) ){ } primenum++; 69

68 Stream API のコード Stream long num =IntStream.rangeClosed(from,to).filter(PrimeUtil::isPrimeFunc).count(); Parallel Stream long num =IntStream.rangeClosed(from,to).parallel().filter(PrimeUtil::isPrimeFunc).count(); 70

69 リソース使用量 for 文 Stream Parallel Stream 1 コアを使用できている 1 スレッドで処理をしている 71

70 実装方法による処理階層の深さ 実行までの階層が異なる for 文 Stream Parallel Stream 72

71 実装方法による処理時間の比較 秒 秒秒秒 for 文 Stream Parallel Stream 73

72 ケース 2: パラレル化 処理 from から to までにある素数を数える 1~72スレッドまでスレッド数を増加 分析観点 CPU 使用率 スレッドの処理割合 処理時間 74

73 リソース使用量 (1 と 3 スレッド ) 1 スレッドを設定 3 スレッドを設定 CPU 使用率が 3 倍に増加 3 スレッドで分割している 75

74 1~18 スレッドの処理時間推移 100% 75% 50% 25% 0% 51.3% 33.6% 処理時間 18.2% 12.8% CPU 使用率 スレッド数増加に伴い処理時間は短縮 7.0% スレッド数 76

75 リソース使用量 (18 と 36 スレッド ) 18 スレッドを設定 36 スレッドを設定 CPU 使用率が 2 倍に増加し 50% となる 77

76 18 と 36 スレッドの処理時間推移 100% 処理時間 CPU 使用率 75% 50% 25% 0% 56.8% 処理時間は約半減 スレッド数 78

77 リソース使用量 (36 と 72 スレッド ) 36 スレッドを設定 72 スレッドを設定 CPU 使用率が 2 倍に増加し 100% となる 79

78 36 と 72 スレッドの処理時間推移 100% 処理時間 CPU 使用率 75% 50% 25% 0% 90.5% 処理時間は微減 HT と CPU 使用率に注意 スレッド数 80

79 スレッド数毎の処理時間推移まとめ 100% 75% 50% 処理時間 CPU 使用率 25% 0% 7.0% 4.0% 3.6% スレッド数 81

80 まとめ Stream APIのオーバーヘッドは微少 処理を簡単にパラレル化できる マルチコア マルチプロセッサの効果大 HT の効果は低く CPU 使用率に注意 82

81 全体のまとめ 処理時間は短縮 リソース使用量は微増 パフォーマンス以外にもメリット Java SE 8 の新機能をご使用ください 83

82 Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 84

83 85

84

85

Oracle パブリック・クラウド・サービス無料トライアル 申込手順書

Oracle パブリック・クラウド・サービス無料トライアル 申込手順書 Oracle パブリック クラウド サービス 無料トライアル申込手順書 日本オラクル Oracle Digital Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may

More information

How to Use the PowerPoint Template

How to Use the PowerPoint Template Nashorn in the Future Oracle Corporation Japan Fusion Middleware Business Unit NISHIKAWA, Akihiro 2015 年 4 月 8 日 Safe Harbor Statement The following is intended to outline our general product direction.

More information

Null

Null Oracle Database Technology Night ~ 集え! オラクルの力 ( チカラ )~ Technical Discussion Night ~ データベースの DB の障害 を語ろう ~ 日本オラクル株式会社クラウド テクノロジー事業統括 Database & Exadata プロダクトマネジメント本部 Safe Harbor Statement The following

More information

Sort-of-List-Map(A)

Sort-of-List-Map(A) Java オブジェクト集合のソートとラムダ式の初歩 山本富士男 2016-4-23 この資料は Java での コレクション Coections と ジェネリクス Generics に関してさらに深く学ぶためのものです 以下の事項を学びます レポート課題が 5 ページの末尾にあります 名称のない内部クラスである 匿名クラス を使う 一般のオブジェクトの集合 (List や Map など ) を何らかの基準でソートする

More information

Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be State of the Dolphin Designed to Power Next Generation Web, Mobile & Cloud-based Applications Ryusuke Kajiyama / 梶 山 隆 輔 MySQL Global Business Unit MySQL Sales Consulting Senior Manager, Asia Pacific &

More information

文字列操作と正規表現

文字列操作と正規表現 文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性

More information

Null

Null Technical Discussion Night ~ 今宵のテーマ : エキスパートはどう考えるか? 体感! パフォーマンスチューニング ~ Japan Oracle User Group 日本オラクル株式会社クラウド テクノロジー事業統括 Database & Exadata プロダクトマネジメント本部 Copyright 2017, Oracle and/or its affiliates.

More information

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先 第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先頭の要素要素から最後までが直線的に直結している構造 Set 同じものは含まないという構造. 要素間につながりはない

More information

デジタル表現論・第4回

デジタル表現論・第4回 デジタル表現論 第 4 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 2 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 4 回 2016 年 5 月 2 日 1 / 14 本日の目標 Java プログラミングの基礎 出力の復習 メソッドの定義と使用 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 4 回 2016 年 5 月 2 日 2 / 14 出力 Systemoutprint()

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

How to Use the PowerPoint Template

How to Use the PowerPoint Template Lambda: A Peek Under The Hood 日 本 オラクル 株 式 会 社 Java SE サステイニング エンジニアリング バック デイビッド Java Day Tokyo 2015 2015 年 4 月 8 日 以 下 の 事 項 は 弊 社 の 一 般 的 な 製 品 の 方 向 性 に 関 する 概 要 を 説 明 するものです また 情 報 提 供 を 唯 一 の 目 的

More information

JAVA とテンプレート

JAVA とテンプレート JAVA とテンプレート 序論 : コンテナ 他のクラスのオブジェクトを保存するものをコンテナ (Container) と呼ぶ 集合 リスト 表 コンテナに求められる機能 追加 削除 参照 要素の比較 並べ替え 要素のクラスが不明では 比較できない 要素が想定しているクラスのものかの判定 テンプレート以前の対応方法 コンテナ設計時に 保存されるクラスを特定してコンテナをコードする 保存されるクラスごとに作成しなければならない

More information

JS2-14 マルチコアCPU時代の Javaプログラミング

JS2-14 マルチコアCPU時代の Javaプログラミング JavaOne Tokyo 2012 JS2-14 マルチコア CPU 時代の Java プログラミング 2012 年 4 月 5 日 富士通株式会社数村憲治 Copyright 2012 FUJITSU LIMITED 自己紹介 数村憲治 kzr@jp.fujitsu.com 富士通株式会社 Interstage Application Server 開発チーム Java VMの開発 サポート 大規模システムでの性能チューニングに

More information

Java Day Tokyo 2017 ダウンロード資料

Java Day Tokyo 2017 ダウンロード資料 JDK9 の JMC & JFR のプレビュー Java SE Advanced 日本オラクル株式会社 Java Global Business Unit マスター プリンシパル セールスコンサルタント 宇野浩司 Java Day Tokyo 2017 2017 年 5 月 17 日 Safe Harbor Statement The following is intended to outline

More information

DB12.2 CoreTech Seminar Overview

DB12.2 CoreTech Seminar Overview Transforming Data Management with Oracle Database 12c Release 2 2016 年 10 月日本オラクル株式会社クラウド テクノロジー事業統括 Database & Exadata プロダクトマネジメント本部ビジネス推進部桑内崇志 Safe Harbor Statement The following is intended to outline

More information

[HO-2] NetBeansとGlassFishではじめるJava EE7ハンズオン

[HO-2] NetBeansとGlassFishではじめるJava EE7ハンズオン Java EE 7 ハンズオン概要 日本オラクル株式会社 Oracle University 野邊 哲男 Java Day Tokyo 2016 2016 年 5 月 24 日 Copyright 2016, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

PowerPoint Presentation

PowerPoint Presentation JDK 8 JVM Improvements David Buck Java SE Sustaining Engineering 日本オラクル株式会社 #jdt2014_c2 1 The following is intended to outline our general product direction. It is intended for information purposes only,

More information

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx シーケンスに基づく検索モデルの検索精度について 東京工芸大学工学部コンピュータ応用学科宇田川佳久 (1/3) (2/3) 要員数 情報システム開発のイメージソースコード検索機能 他人が作ったプログラムを保守する必要がある 実務面での応用 1 バグあるいは脆弱なコードを探す ( 品質の高いシステムを開発する ) 2 プログラム理解を支援する ( 第 3 者が書いたコードを保守する ) 要件定義外部設計内部設計

More information

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX] 開発 運用時のガイド [UNIX] JDK8 への移行に伴う留意点 2015.10 O c t o b e r はじめに 本書は 開発 運用フェーズで使用するドキュメントとして Java TM Development Kit 8 への移行に伴う 留意点について記述しています 1. 対象とする読者本書は Java TM Development Kit 8 を使用し システムを設計 構築 運用する立場にある方を対象としています

More information

Fork/Join Frameworkの性能について

Fork/Join Frameworkの性能について Fork/Join Framework の性能について 2012 年 12 月 3 日湊隆行 最近 CPU クロック数の上昇が望めなくなりマルチコア化された CPU が登場するようになると マルチスレッド処理の高度化が求められるようになりました しかし スレッドはスタック領域などのメモリを必要とするので 大量のスレッドを生成するとメモリが枯渇する問題に直面しやすくなります また スレッドのプリエンプションなどにかかるオーバーヘッドなども含めると

More information

How to Use the PowerPoint Template

How to Use the PowerPoint Template ORACLE MASTER Bronze Oracle Database 12c 試験対策ポイント解説セミナー Bronze DBA 12c 編 日本オラクル株式会社オラクルユニバーシティ 2018 年 6 月 Safe Harbor Statement The following is intended to outline our general product direction. It is

More information

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク 2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパークラス利用法:ArrayList... 5 例外:Exception... 6 ぬるぽ... 6 例外処理:try-catch-finaly...

More information

(ch2 + i)->next = ch1 + r; doit(ch1, ch2); 図 1 ランダムアクセスする C ソース 時間 (elapsed) 32 ビットプログラム (gcc -O2 -m32 でコンパイル ) 6.23 秒 秒 64 ビットプログラム (gcc -O2 -m

(ch2 + i)->next = ch1 + r; doit(ch1, ch2); 図 1 ランダムアクセスする C ソース 時間 (elapsed) 32 ビットプログラム (gcc -O2 -m32 でコンパイル ) 6.23 秒 秒 64 ビットプログラム (gcc -O2 -m Java VM の 32 ビット 64 ビット選択 2013 年 9 月 21 日 数村憲治 現在 サーバー向け OS の主流は 64ビット OS となりつつあります 32ビット OS では 搭載できるメモリ量に制約があるため 大規模システムには向かなくなってきています OS の64ビット化に伴い OS の上で動作するミドルウェアやアプリケーションも64ビット化に向かいつつあります 一方 ほとんどの64ビット

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

人工知能入門

人工知能入門 藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する

More information

パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 Copyright the Seasar Foundation and the others all rights reserved.

パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 Copyright the Seasar Foundation and the others all rights reserved. パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 1 目的 DI コンテナの実装によるパフォーマンスの違いを明らかにする DI コンテナが行う処理の中で どこに時間が掛かるのかを明らかにする 2 ベンチマーク測定環境 ハードウェア HP ProLiant DL360 G4p CPU: Intel Xeon

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

Safe Harbor Statement The following is intended to outline about pitfall and risks happened with Oracle. It is intended for information purpose only,

Safe Harbor Statement The following is intended to outline about pitfall and risks happened with Oracle. It is intended for information purpose only, Oracle ライセンスの落とし穴とリスク SoftwareONE Japan 株式会社 ディレクター高島田正哉 2016 年 6 月 10 日 2016 SAMAC all rights reserved. Safe Harbor Statement The following is intended to outline about pitfall and risks happened with

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プロシージャ プロシージャの種類 Subプロシージャ Functionプロシージャ Propertyプロシージャ Sub プロシージャ Subステートメント~ステートメントで囲まれる 実行はするけど 値は返さない 途中で抜けたいときは Exit Sub を行なう Public Sub はマクロの実行候補に表示される Sub プロシージャの例 Public Sub TestSubProc() Call

More information

Java Day Tokyo 2017 ダウンロード資料

Java Day Tokyo 2017 ダウンロード資料 今日からはじめる Java プログラミング ~Java 超入門 ~ 日本オラクル株式会社オラクルユニバーシティプリンシパルインストラクター渋井俊昭 Java Day Tokyo 2017 2017 年 5 月 17 日 Safe Harbor Statement The following is intended to outline our general product direction. It

More information

レポートでのデータのフィルタ

レポートでのデータのフィルタ フィルタのタイプ, 1 ページ 日付の範囲フィルタの設定, 2 ページ 値リストまたはコレクション フィルタの設定, 3 ページ 詳細フィルタの設定, 5 ページ フィルタのタイプ フィルタのタイプは [基本フィルタ Basic Filters ] と [詳細フィルタ Advanced Filters ] の 2 種類から選択できます [基本フィルタ Basic Filters ] [基本フィルタ

More information

グラフの探索 JAVA での実装

グラフの探索 JAVA での実装 グラフの探索 JAVA での実装 二つの探索手法 深さ優先探索 :DFS (Depth-First Search) 幅優先探索 :BFS (Breadth-First Search) 共通部分 元のグラフを指定して 極大木を得る 探索アルゴリズムの利用の観点から 利用する側からみると 取り替えられる部品 どちらの方法が良いかはグラフに依存 操作性が同じでなければ 共通のクラスの派生で作ると便利 共通化を考える

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる

More information

Oracle Code Tokyo 2017 ダウンロード資料

Oracle Code Tokyo 2017 ダウンロード資料 Live Challenge!! SQL パフォーマンスの高速化の限界を目指せ! Tsukasa Shibata Director Database Technology, Database & Exadata Product Management Cloud Technology Business Unit Oracle Corporation Japan May 18, 2017 Copyright

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

富士通製プラットフォーム 「PRIMEPOWER/PRIMERGY」及び、富士通製ミドルウェア 「Interstage」とVantage Analyzer 動作検証完了報告書

富士通製プラットフォーム 「PRIMEPOWER/PRIMERGY」及び、富士通製ミドルウェア 「Interstage」とVantage Analyzer 動作検証完了報告書 富士通株式会社殿富士通製プラットフォーム PRIMEPOWER / 及び 富士通製ミドルウェア Interstage と Vantage Analyzer 動作検証完了報告書 日本コンピュウェア株式会社 [ 目次 ] 1. 目的 --------------------------------------------------------- 2 2. ハードウェアの構成 ---------------------------------------------------------

More information

Null

Null Oracle Database Connect 2017 ~ 最新のデータベース技術がここにある ~ エキスパートはどう考えるか? 体感! パフォーマンスチューニング Japan Oracle User Group 日本オラクル株式会社クラウド テクノロジー事業統括 Database & Exadata プロダクトマネジメント本部 Copyright 2017, Oracle and/or its

More information

2

2 プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

How to Use the PowerPoint Template

How to Use the PowerPoint Template Oracle Database Technology Night 夏祭り ~ 集え! オラクルの力 ( チカラ ) ~ 実演!SQL パフォーマンスの高速化の限界を目指せ 日本オラクル株式会社クラウド テクノロジー事業統括 Cloud Platform ソリューション本部 Database ソリューション部部長柴田長 Live Challenge!! SQL パフォーマンスの高速化の限界を目指せ!

More information

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

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

More information

Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バ

Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バ Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バージョン 1.2 で追加されたロック機構を使わない API および バージョン 5.0 で追加された同期化コストが低い

More information

Vantage Analyzer 機能検証結果報告書

Vantage Analyzer 機能検証結果報告書 富士通株式会社御中 ( 補足資料 1) Vantage Analyzer 機能検証結果報告書 日本コンピュウェア株式会社 2008 年 7 月 3 日 1 目 次 1. 概要 2. パフォーマンスコンソール 2-1.Transaction Exproler 2-2.Transaction Scope 2-3.Stalled Transaction 2-4.Method HotSpots 2-5.SQL

More information

[3-F] コンテナとJavaとOracle JETによるアプリ開発ハッカソン

[3-F] コンテナとJavaとOracle JETによるアプリ開発ハッカソン [Hands-on: 3-F] コンテナと Java と Oracle JET によるアプリ開発ハッカソン 日本オラクル株式会社 Fusion Middleware Business Unit PaaS 事業推進室 Java Day Tokyo 2016 2016 年 5 月 24 日 Safe Harbor Statement The following is intended to outline

More information

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果 Pervasive PSQL v11 のベンチマークパフォーマンスの結果 Pervasive PSQL ホワイトペーパー 2010 年 9 月 目次 実施の概要... 3 新しいハードウェアアーキテクチャがアプリケーションに及ぼす影響... 3 Pervasive PSQL v11 の設計... 4 構成... 5 メモリキャッシュ... 6 ベンチマークテスト... 6 アトミックテスト... 7

More information

Javaの作成の前に

Javaの作成の前に メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?

More information

Program Design (プログラム設計)

Program Design  (プログラム設計) 7. モジュール化設計 内容 : モジュールの定義モジュールの強度又は結合力モジュール連結モジュールの間の交信 7.1 モジュールの定義 プログラムモジュールとは 次の特徴を持つプログラムの単位である モジュールは 一定の機能を提供する 例えば 入力によって ある出力を出す モジュールは 同じ機能仕様を実装しているほかのモジュールに置き換えられる この変化によって プログラム全体に影響をあまり与えない

More information

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog04.ppt プログラミング言語 3 第 04 回 (2007 年 10 月 15 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 15 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

Android Layout SDK プログラミング マニュアル

Android Layout SDK プログラミング マニュアル プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から

More information

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド Brekeke PBX Version 2.1 ARS プラグイン開発ガイド Brekeke Software, Inc. バージョン Brekeke PBX v2.1 ARS プラグイン開発ガイド, 2008 年 2 月 著作権本書の著作権は Brekeke Software, Inc. にあります Copyright 2003-2008 Brekeke Software, Inc. 本書の一部または全部を

More information

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ 2-2 手書認識認識結果 ( 数式 ) を描画する ステップ 3 認識した数式を元に関数グラフを描画する

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

メディプロ1 Javaプログラミング補足資料.ppt

メディプロ1 Javaプログラミング補足資料.ppt メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

HashMapからConcurrentHashMapへの移行

HashMapからConcurrentHashMapへの移行 HashMap から ConcurrentHashMap への移行 レガシー アプリケーションにおける注意点 2012 年 1 月 4 日橋口雅史 1. はじめにアプリケーションでは キーと値のマッピングが多用されます 例えば ユーザー名 というキーにユーザーの 情報 をマッピングするといった用途で java.util.map インタフェースは広く使われています 特に ハッシュテーブルに基づいて高速にマップを検索

More information

- i - org.t_engine.tenet.core.coreerrormessageexception org.t_engine.tenet.core Class CoreErrorMessageException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception

More information

問題1 以下に示すプログラムは、次の処理をするプログラムである

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { int i=2; int j=3; System.out.println("i"+j); a) 23,b) 5,c) i3,d) ij 問題 2 次のプログラムの出力結果を a~d の中から選べ public class Problem2 { int a=6; if((a>=2)&&(a

More information

Java 16x9 PPT Interim Template

Java 16x9 PPT Interim Template Java EE 利用者のための Java EE 8 以降の世界に向けた歩き方 日本オラクル株式会社クラウド テクノロジー事業統括 Cloud Platform ソリューション本部柳原伸弥 2018 年 5 月 17 日 Copyright 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The

More information

使用する前に

使用する前に この章では Cisco Secure ACS リリース 5.5 以降から Cisco ISE リリース 2.4 システムへのデー タ移行に使用される Cisco Secure ACS to Cisco ISE Migration Tool について説明します 移行の概要 1 ページ Cisco Secure ACS から データ移行 1 ページ Cisco Secure ACS to Cisco ISE

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 9 回 メソッド (3) 授業の前に自己点検 以下の質問に答えられますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか 戻り値はどのように利用しますか 変数のスコープとは何ですか

More information

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20

More information

Microsoft PowerPoint - chap10_OOP.ppt

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,

More information

POSIXスレッド

POSIXスレッド POSIX スレッド (3) システムプログラミング 2011 年 11 月 7 日 建部修見 同期の戦略 単一大域ロック スレッドセーフ関数 構造的コードロッキング 構造的データロッキング ロックとモジュラリティ デッドロック 単一大域ロック (single global lock) 単一のアプリケーションワイドの mutex スレッドが実行するときに獲得, ブロックする前にリリース どのタイミングでも一つのスレッドが共有データをアクセスする

More information

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文 Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文字 0x0000 ~ 0xffff byte 1バイト整数 - 2 8 ~ 2 8-1 short 2バイト整数

More information

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1 JUnit 概要 2015/4/16 版今泉俊幸 1 目次 1. 手動テストと自動テスト 2. JUnitの機能 3. 検証用メソッド 4. 基本的なJUnitテストケース 5. 実践的なJUnitテストケース 6. よく使う検証用メソッド 7. テストクラスの命名 配置など 2 手動テスト 手動テストと自動テスト テスト仕様書に基づいて 人手で値を入力 結果を検証する プログラム修正の度に実施するのはコストが高い

More information

SpringSecurity

SpringSecurity Spring Security 1/40 OUTLINE Spring Security Spring Securityを使った認証の仕組み Spring Securityを使った独自認証 認証エラーメッセージの変更 2/40 Spring Security 3/40 Spring Security とは アプリケーションのセキュリティを高めるためのフレームワーク 認証 認可機能 その他 多数のセキュリティ関連の機能を持つ

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

Make the Future Java FY13 PPT Template

Make the Future Java FY13 PPT Template 1 OJCP Silver SE 7 資格試験の傾向と対策 日本オラクル株式会社オラクルユニバーシティ 2 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらないで下さい

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 動作検証レポート dd 2016 年 6 月 株式会社高速屋 1 刻々と発生するビッグデータのオンタイム アナリシス : 動作検証概要 検証対象 : 1. ファイル処理 入力 CSV ファイルを読込み 処理結果を CSV ファイルに出力 2. インメモリ処理 事前にインメモリ化されたデータに対してクエリ (Select 文 ) を実行 1. ファイル処理 1-1. 集計 ロード データ :POS 明細件数

More information

How to Use the PowerPoint Template

How to Use the PowerPoint Template Master Distribution Agreement 契約ガイド FUDA Addendum, CSDA, ASFU Addendum/APRF Partner Business Center September 12 th, 2016 Program Agenda 1 MDA 概要 p3~4 2 MDA 切り替えについて p5~7 3 4 5 MDA 申請手続き p11 FUDA Addendum

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 11 回目スレッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スレッドは 1 つの実行箇所をもつ一連の処理の流れである (2) マルチスレッドで各スレッドの処理は並行して実行される (3) Java はマルチスレッド処理を記述できない (4) 新たにスレッドを生成する場合 Thread クラスを拡張し かつ Runnable インタフェースを実装する必要がある

More information

デザインパターン第一章「生成《

デザインパターン第一章「生成《 変化に強いプログラミング ~ デザインパターン第一章 生成 ~ 梅林 ( 高田明宏 )@ わんくま同盟 デザインパターンとは何か (1) デザインパターンの定義 ソフトウェア開発におけるデザインパターンとは 過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し 名前をつけ 再利用しやすいように特定の規約に従ってカタログ化したもの (Wikipedia) 参考書籍 オブジェクト指向における再利用のためのデザインパターン

More information

2. データ構造ヒープに保存するデータは 番号付けられて保存される 従って リスト L として保存することとする 3. アルゴリズム 3.1. 要素の追加新しい要素の追加は リストの終端に置くことで開始する つまり 最下層の一番右 または新たに最下層を生成してその一番左となる この後 この要素を正し

2. データ構造ヒープに保存するデータは 番号付けられて保存される 従って リスト L として保存することとする 3. アルゴリズム 3.1. 要素の追加新しい要素の追加は リストの終端に置くことで開始する つまり 最下層の一番右 または新たに最下層を生成してその一番左となる この後 この要素を正し 1. はじめに 二分木ヒープ 様々なアルゴリズムにおいて ある要素の集合またはリストから 最小 な要素を取り 出す必要がある そのような場合に使われる標準的データ構造が二分木ヒープ (binary heap) である あるオブジェクトO を考える そのオブジェクトは ラベル O. label と値 O. value を持つとする このようなオブジェクトを保存する二分木ヒープについて考える 二分木ヒープは以下の二つの制約のある二分木である

More information

Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹

Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹 Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹 趣旨 M Java を通してオブジェクト指向に対する理解をより深め 次のステップへの足がかりとなるようにする 2000.10.20 オブジェクト指向 AtoZ 2 対象 M オブジェクト指向をこれから始めたい方 M Javaをもっと使いこなしたい方 M 必要な知識 Java の言語仕様 UML 2000.10.20

More information

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太 第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太 2.1 メソッドの構造 メソッドとは プログラムステータメントの集合体 Java の基本的な実行単位 クラスの一部 メソッドの外部にプログラムコードを置いたり クラスの外部にメソッドを置くことはできない

More information

橡ボーダーライン.PDF

橡ボーダーライン.PDF 1 ( ) ( ) 2 3 4 ( ) 5 6 7 8 9 10 11 12 13 14 ( ) 15 16 17 18 19 20 ( ) 21 22 23 24 ( ) 25 26 27 28 29 30 ( ) 31 To be or not to be 32 33 34 35 36 37 38 ( ) 39 40 41 42 43 44 45 46 47 48 ( ) 49 50 51 52

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

基礎計算機演習 実習課題No6

基礎計算機演習 実習課題No6 実習課題 No.6 課題は 3 題ある. 課題 6-1 時間内提出 次の実行例のように, 名簿を出力するプログラムをつくりたい. このプログラムでは, まず人数をたずね, 次にその人数分の名前を入力し, それを再びコンソールに出力する. なお, 空の名前が入力されても終了せずにその欄は空欄で出力するものとする. 注意とヒント この課題では,string 型の配列をまず宣言する. このとき, 配列の要素はちょうど名簿に入力する人数分だけを宣言すること

More information

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗

PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗 PostgreSQL SQL チューニング入門 ~ Explaining Explain より ~ 2012 年 11 月 30 日 株式会社アシスト 田中健一朗 アジェンダ 1.EXPLAIN とは 2. 表アクセスの基本 3. 結合の基本 4. 統計情報とは 5.EXPLAIN コマンド 6. 問題解決例 7. まとめ 2 1.EXPLAIN とは 実行計画とは - 目的地は 1 つでもアクセス方法は複数

More information

Oracle Solarisゾーンによるハード・パーティショニング

Oracle Solarisゾーンによるハード・パーティショニング Oracle ホワイト ペーパー 2014 年 10 月 はじめに このドキュメントでは Oracle Solarisゾーン (Oracle Solarisコンテナとしても知られる ) によるハード パーティショニングを パーティション化された環境向けのオラクル ライセンス ポリシーに準拠するために使用する方法について説明します 以下に説明する承認済みのハード パーティション構成は あらゆるタイプのOracle

More information

レポートのデータへのフィルタの適用

レポートのデータへのフィルタの適用 レポート内のフィルタ, 1 ページ フィルタのタイプ, 2 ページ 日時範囲フィルタの設定, 2 ページ キー基準フィールドの設定, 3 ページ フィールド フィルタの設定, 3 ページ レポート内のフィルタ Unified Intelligence Center のレポート フィルタを使用して 表示するデータを選択します [フィ ルタ Filter ] ページを使用してフィルタを定義し レポートに表示するデータをフィルタ処理

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウを作成をしたい

More information

2018 IPSJ/SIGSE Software Engineering Symposium (SES2018) 1,a) 1,b) 1,c) Java 2014 Java Java Java Stream Optional 18% Stream 5% Stream JDK6/7

2018 IPSJ/SIGSE Software Engineering Symposium (SES2018) 1,a) 1,b) 1,c) Java 2014 Java Java Java Stream Optional 18% Stream 5% Stream JDK6/7 1,a) 1,b) 1,c) Java 214 Java Java Java 1 13 3 Stream Optional 18% Stream 5% Stream JDK6/7 Java Stream Optional 1. [1], [2], [3] [4] 2 1 a) h-tanaka@ist.osaka-u.ac.jp b) shinsuke@ist.osaka-u.ac.jp c) kusumoto@ist.osaka-u.ac.jp

More information

新・明解Java入門

新・明解Java入門 第 1 章 画面 文字 表示 Java Java Java Java Java JRE Java JDK 21 1-1 Java Java Java Java 誕生 Fig.1-1 Oak Java Sun Microsystems 2010 Oracle Java Oracle 4 Java http://www.java.com/ http://www.alice.org/ Fig.1-1Java

More information

本文ALL.indd

本文ALL.indd Intel Xeon プロセッサにおける Cache Coherency 時間の性能測定方法河辺峻田口成美古谷英祐 Intel Xeon プロセッサにおける Cache Coherency 時間の性能測定方法 Performance Measurement Method of Cache Coherency Effects on an Intel Xeon Processor System 河辺峻田口成美古谷英祐

More information

5 継承とは クラス図 98 7 参照の自動型変換 参照の自動型変換 クラス図の見方 クラス図の書き方 継承 継承してクラスを作る インスタンスの初期化 継承の効果を確認する

5 継承とは クラス図 98 7 参照の自動型変換 参照の自動型変換 クラス図の見方 クラス図の書き方 継承 継承してクラスを作る インスタンスの初期化 継承の効果を確認する 3 クラスの仕組み 51 3.1 他のクラスからのアクセスを制限する 52 1.private と public 52 1 クラスの作り方 1 1.1 オブジェクトとは 2 1. オブジェクトって何? 2 2. データの集まりをオブジェクトにする 3 3. まずクラスを作る 4 4. クラスの作り方 5 5. 基本機能として必要なもの 6 1.2 クラスを作る 8 1. クラスを作る手順 8 2.

More information

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators 自己紹介 Amusement Makers ではありません 注意 IronPython って?.Net Framework および Mono 上で動作する Python.NetFramework Mono は共通中間言語 (CIL) のための仮想マシン CIL が動く仮想マシンの仕様は共通言語基盤 (CLI)

More information

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介 Dolteng Scaffold に対する機能追加 とマスタ - ディテール Scaffold の紹介 せいいち (takao) 2009/03/07 目次 Dolteng Scaffold に対する機能追加 Scaffold に関して Ruby on Rails の Scaffold RoR Scaffold と Dolteng Scaffold の比較 Scaffold のデモ Scaffold

More information

ガイダンス

ガイダンス プログラムの 1 行目に自分の名前を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ

More information

第2回講義

第2回講義 オブジェクト指向概論 第 2 講 クラスとカプセル化 立命館大学 情報理工学部 黄宏軒 1 オブジェクト指向の重要な概念 n クラス q 同じようなオブジェクトを まとめて 考える n 継承 ( インヘリタンス ) q 複数のクラスの 共通部分をまとめる n ポリモーフィズム ( 多態性 ) q 呼び出す側を 共通化 する n 複雑なものを簡単に 2 2.1 クラスとは何か n 類似のオブジェクトを

More information