java se 8 fukuoka

62
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1 祝 Java SE 8 正式リリース Yoshio Terada Java Evangelist http://yoshio3.com Twitter : @yoshioterada

Upload: oracle-fusion-middleware

Post on 08-May-2015

2.740 views

Category:

Technology


9 download

TRANSCRIPT

Page 1: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1

祝 Java SE 8 正式リリース

Yoshio Terada Java Evangelist http://yoshio3.com Twitter : @yoshioterada

Page 2: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 2

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

Oracleは、米国オラクルコーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

Page 3: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 3

Java SE 6 Java SE 7 Java SE 8 Java SE 9

2006年12月 2011年07月 2014年03月 2016年

Java リリースの歴史

Page 4: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 4

Java SE 6

2006年12月

Java SE 6 の新機能

2006 年 12 月 11 日 Java SE 5 を改良したバージョン  ● Web サービス  ● JavaScript エンジン Rhino を組み込み  ● AWT/Swing ライブラリの改善  ● Java DB の統合  ● JDBC の改善   など 

Page 5: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 5

Java SE 7

2011年07月

Java SE 7 がリリースされるまで

2010 年 9 月 8 日 タイトル:Re-thinking JDK 7 Plan A: JDK 7 (as currently defined) Mid 2012 Plan B: JDK 7 : Mid 2011 (minus Lambda, Jigsaw, and part of Coin) JDK 8 : Late 2012 (Lambda, Jigsaw, the rest of Coin, ++)

Plan B:早く実装が可能な一部機能を先にリリース

Page 6: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 6

Java SE 7

2011年07月

Java SE 7 の新機能

開発生産性向上と Java SE 8 の準備  ● Project Coin  ● Java NIO.2  ● Fork/Join Framework  ● InvokeDynamic バイトコード命令

Page 7: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 7

Java SE 8

2014年03月

Java SE 8 リリースまでの道のり1

2012 年 7 月 17 日 タイトル:Project Jigsaw: Late for the train I think the best choice is to defer Project Jigsaw to Java 9, and to aim for a two-year release cycle going forward. On this plan Java 8 will ship on time, around September 2013. Jigsaw の検討、実装、検証に時間が足りないため 次の Java SE 9 へ持ち越し

Java SE 8

2013年9月

Page 8: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 8

Java SE 8 リリースまでの道のり2

2013 年 4 月 18 日 タイトル:Java 8: Secure the train As a consequence of this renewed focus on security the Java 8 schedule, with a GA release in early September, is no longer achievable. then resume a regular two-year release cadence, with Java 8 due in early 2014 and Java 9 in early 2016. Java開発者がセキュリティ脆弱性対応に集中し、 リリース日を2013 年 9 月から2014年初旬に変更

Java SE 8

2014年初旬

Page 9: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 9

Java SE 8 リリースまでの道のり3

2013 年 4 月 26 日 タイトル:Java 8: Hold the train The target release date for Java 8 is now 2014/3/18.

Java SE 8

2014年03月

最終的なリリース予定日を 3/18 に決定

Page 10: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 10

祝 Java SE 8 正式リリース 2014 年 03 月 18 日

Page 11: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 11

JSR- 337 : Java SE 8

Page 12: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 12

Java SE 7 と Java SE 8 の関係

Java SE 7 の主要な新機能

Project Coin Java NIO.2 Fork/Join Framework InvokeDynamic

Java SE 8 の主要な新機能

Lambda 式 Stream API Nashorn (JavaScript)

利用と改善

Date & Time API Type Annotation Compact Profile JavaFX の統合 Java VM の統合

Page 13: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 13

Lambda Expression 関連

14:10~15:00 徹底解説!Project Lambdaのすべて 吉田 真也さん (@bitter_fox)

15:10~16:00 null書いたら負け! Java8コーディング作法 きしだ なおきさん (@kis)

Page 14: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 14

Java リッチクライアント開発技術

16:10~17:00 JavaFX ‒ 8 True Stories about Java FX 8 櫻庭祐一さん(@skrb)

Page 15: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 15

JSR- 310 : Date & Time API 日付処理の開発容易性が向上

Page 16: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 16

Date & Time API の目的

java.util.Date java.util.Calendar java.util.TimeZone java.text.DateFormat

これらの API の置き換え用の新しい API を定義 イミュータブル&スレッド・セーフ ISO-8601 の国際標準規格に準拠

Page 17: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 17

Date & Time API の主要なクラス

LocalDateTime

LocalDate LocalTime

人間的 (日時)

ZonedDateTime

Instant システム的(瞬間)

Page 18: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 18

プログラムでどのような時間処理が必要?

どれを利用するかは 処理内容によって選ぶ必要があり

Page 19: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 19

LocalDate タイムゾーン・時間情報は無し LocalDateTime

LocalDate LocalTime

日本で使用するクレジット・カードの作成から有効期限まで

作成

2014年6月14日

有効期間

2017年6月14日

有効期間:3年間 期限切れ

2018年1月1日

警告日付 3週間前

警告メール送信 3週間前の午前2時

Page 20: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 20

LocalDate 現在の年月日を取得 LocalDateTime

LocalDate LocalTime

日本で使用するクレジット・カードの作成から有効期限まで

作成

2014年6月14日

LocalDate regDate = LocalDate.now();

Page 21: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 21

LocalDate 年月日の加減処理 (plus) LocalDateTime

LocalDate LocalTime

日本で使用するクレジット・カードの作成から有効期限まで

作成

2014年6月14日

有効期間

2017年6月14日

有効期間:3年間

LocalDate regDate = LocalDate.now();!LocalDate expireDate = regDate.plusYears(3);

Page 22: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 22

LocalDate 年月日の前後比較 LocalDateTime

LocalDate LocalTime

日本で使用するクレジット・カードの作成から有効期限まで

作成

2014年6月14日

有効期間

2017年6月14日

有効期間:3年間 期限切れ

2018年1月1日

LocalDate regDate = LocalDate.now();!LocalDate expireDate = regDate.plusYears(3);!LocalDate afterDate = LocalDate.of(2018, 1, 1);!if (expireDate.isBefore(afterDate)) {! …

Page 23: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 23

LocalDate 年月日の加減処理 (minus) LocalDateTime

LocalDate LocalTime

日本で使用するクレジット・カードの作成から有効期限まで

有効期間

2017年6月14日

警告日付 3週間前

LocalDate expireDate = regDate.plusYears(3);!LocalDate warnDate = expireDate.minusWeeks(3);!

Page 24: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 24

LocalDate 年月日の調整 : TemporalAdjuster import static java.time.temporal.TemporalAdjusters.lastDayOfMonth;!…!LocalDate regDate = LocalDate.now();!LocalDate lastDay = regDate.with(TemporalAdjusters.lastDayOfMonth);!LocalDate lastDay = regDate.with(lastDayOfMonth); // ß スッキリ!

import static java.time.temporal.TemporalAdjusters.next;!import static java.time.DayOfWeek.MONDAY;!…!LocalDate regDate = LocalDate.now();!LocalDate nextMonDay = regDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY));!LocalDate nextMonDay2 = regDate.with(next(DayOfWeek.MONDAY));!LocalDate nextMonDay3 = regDate.with(next(MONDAY)); // ß スッキリ

Page 25: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 25

LocalDate 年月日に時間情報を付加 LocalDateTime

LocalDate LocalTime

日本で使用するクレジット・カードの作成から有効期限まで

警告日付 3週間前

警告メール送信 3週間前の午前2時

LocalDate warnDate = expireDate.minusWeeks(3);!LocalDateTime sendMsgDateTime = warnDate.atTime(2, 0);!

LocalDate から LocalDateTime への変換

Page 26: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 26

LocalDate Period : 日付間の差を取得 LocalDateTime

LocalDate LocalTime

Period period = Period.between(regDate, warnDate);!Long days = ChronoUnit.DAYS.between(regDate, warnDate);!System.out.println(! "警告送信まで" + period.getYears() + "年" ! + period.getMonths() + "ヶ月" ! + period.getDays() + "日. (" + days + "日)");!!//警告送信まで2年11ヶ月10日. (1075日)

Page 27: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 27

LocalTime 時間処理:タイムゾーン・日付無し LocalDateTime

LocalDate LocalTime

LocalTime lTime = LocalTime.now();!LocalTime noon = LocalTime.of(12, 00);!if (lTime.isAfter(noon)) {!}!LocalTime dinnerTime = ! noon.plusHours(8).minusMinutes(30).withNano(0);!LocalTime trunTime = lTime.truncatedTo(ChronoUnit.MINUTES);!LocalDateTime ldateTime = lTime.atDate(LocalDate.now());

タイムゾーン・日付の情報が不要なナノ秒単位の時間操作

Page 28: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 28

LocalDateTime タイムゾーン情報無し LocalDateTime

LocalDate LocalTime

タイムゾーンが不要な日時処理

2014 年6 月13 日午前10時開店 2014 年6 月14 日午後1時10分開始

+1日3時間10分後

Page 29: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 29

LocalDateTime タイムゾーン情報無し LocalDateTime

LocalDate LocalTime

タイムゾーンが不要な日時処理

2014 年6 月14 日午後1時10分開始

次の日曜日に散歩 with

Page 30: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 30

LocalDateTime LocalDate + LocalTime LocalDateTime

LocalDate LocalTime

LocalDateTime ldatetime = LocalDateTime.now();!//2014-06-14T09:30:03.649!LocalDateTime appleOmoteOpen = !     LocalDateTime.of(2014, Month.JUNE, 13, 10, 0);!LocalDateTime javase8kyushu = !     appleOmoteOpen.plusDays(1).plusHours(3).plusMinutes(10);!//2014-06-14T13:10!LocalDateTime kyushuSampo = javase8kyushu.with(next(SUNDAY));!kyushuSampo = kyushuSampo.truncatedTo(ChronoUnit.DAYS);!//2014-06-15T00:00

タイムゾーン情報が不要な日時操作

Page 31: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 31

Instant

Instant start = Instant.now();!bar();!Instant end = Instant.now();!!// Instant の比較には Duration を使用 Duration dur = Duration.between(start, end);!long mills = dur.toMillis();!System.out.println("メソッドの実行時間" + mills);

ある瞬間における時間を扱う

Instant 瞬間の時間を操作

Page 32: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 32

ZonedDateTime

LocalDateTime startJUG = LocalDateTime.of(2014, Month.JULY, 14, 13, 10);!ZoneId jap = ZoneId.of("Asia/Tokyo");!ZonedDateTime jpTimeZone = ZonedDateTime.of(startJUG, jap);!//2014-07-14T13:10+09:00[Asia/Tokyo]!!

String format = ! DateTimeFormatter.ofPattern(“yyyy/MM/dd (E) a HH:mm”).format(jpTimeZone); !//2014/07/14 (月) 午後 13:10!

ZoneId los = ZoneId.of(“America/Los_Angeles”); ZonedDateTime losTimeZone = jpTimeZone.withZoneSameInstant(los);!//2014-07-13T21:10-07:00[America/Los_Angeles] //ロス・サンフランシスコの時刻!

LocalDateTime + ZoneId (UTC からのオフセット)

ZonedDateTime タイムゾーンを含む日時を扱う

Page 33: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 33

ZonedDateTime

LocalDateTime startJUG = LocalDateTime.of(2014, Month.JULY, 14, 13, 10); !!String formatter2 = ! DateTimeFormatter.ofPattern("Gy年MM月dd日(E) a HH:mm").format(jpStartDateTime);!//西暦2014年07月14日(月) 午後 13:10!!JapaneseDate jdate = JapaneseDate.from(startJUG);! String formatter3 = DateTimeFormatter.ofPattern("Gy年MM月dd日(E)").format(jdate);!

//平成26年07月14日(月) (ISO-8601 での実装を推奨)

LocalDateTime + ZoneId (UTC からのオフセット)

ZonedDateTime タイムゾーンを含む日時を扱う

日時の加減演算でサマー・タイム対応

Page 34: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 34

IoT の時代に Java !!

Page 35: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 35

今後 10 年

Page 36: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 36

500億のデバイス

Page 37: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 37

全てが繋がる 時代へ !!

Page 38: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 38

Java SE 8 Compact プロファイル

各APIにどのプロファイルで 利用可能か記載されている

参考:https://blogs.oracle.com/jtc/entry/a_first_look_at_compact

Page 39: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 39

デモ

Page 40: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 40

IoT with WebSocket

Page 41: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 41

LEGO(Java SE Embedded) & Java EE 7 WebSocket デモの構成

GlassFish v4.0.1 Java SE8/EE 7 Java SE8

Embedded

LEGO MindStorms の操作命令を送信

LEGO MindStorms の状態情報を送信

WebSocket LEGO

エンドポイント

WebSocket サーバ

エンドポイント

WebSocket ブラウザ

エンドポイント

JSON

JSON

JSON

JSON

Page 42: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 42

ブラウザからLEGOマインドストームを操作 WebSocket でリアムタイム IoT 通信

ブラウザからの命令  前後左右への移動  停止、スピードアップ・ダウン LEGO からの情報  超音波センサー・データの表示 JSON でデータ送受信し RMI に比べ低オーバヘッド

Page 43: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 43

Java SE 8/EE 7 だけで実現

Page 44: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 44

今後 10 年も Java !!

Page 45: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 45

Java SE 8 (JSR 337) 新機能

•  JSR-308 : Annotations on types •  JSR-310 : Date and Time API •  JSR-335 : Lambda expressions

更新機能 •  JSR-114 : JDBC Rowsets •  JSR-160 : JMX Remote API •  JSR-199 : Java Compiler API •  JSR-173 : Streaming API for XML •  JSR-221 : JDBC 4.0 •  JSR-269 : Pluggable Annotation-Processing API

Page 46: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 46

Language

Core Libraries

Virtual machine

Security

Platform

Internationalisation

Page 47: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 47

カテゴリ JEP ID 新機能の概要 --/-- 126 Lambda 式 と 仮想的な拡張メソッド(default method) --/-- 138 Autoconf-Based のビルド・システム --/-- 160 Lambda-Form Representation for Method Handles --/-- 161 コンパクト・プロファイル --/-- 162 モジュール化への準備 --/-- 164 AES 暗号化のために CPU 命令の活用 --/-- 174 Nashorn JavaScript エンジン --/-- 176 Mechanical Checking of Caller-Sensitive Methods --/-- 179 Document JDK API Support and Stability vm/-- 142 Reduce Cache Contention on Specified Fields vm/gc 122 パーマネント領域の削除 vm/gc 173 あまり使用されない GC の組み合わせの禁止

JDK 8 : JEP に記載される拡張機能 一覧

Page 48: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 48

カテゴリ JEP ID 新機能の概要 vm/rt 136 Enhanced Verification Errors vm/rt 147 Reduce Class Metadata Footprint vm/rt 148 Small VM vm/rt 171 Fence Intrinsics core/-- 153 Launch JavaFX Applications core/lang 101 Generalized Target-Type Inference core/lang 104 Annotations on Java Types core/lang 105 DocTree API core/lang 106 Add Javadoc to javax.tools core/lang 117 Remove the Annotation-Processing Tool (apt) core/lang 118 Access to Parameter Names at Runtime core/lang 120 Repeating Annotations

JDK 8 : JEP に記載される拡張機能 一覧

Page 49: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 49

カテゴリ JEP ID 新機能の概要 core/lnag 139 Enhance javac to Improve Build Speed core/lnag 172 DocLint core/lib 103 Parallel Array Sorting core/lib 107 Bulk Data Operations for Collections core/lib 109 Enhance Core Libraries with Lambda core/lib 112 Charset Implementation Improvements core/lib 119 javax.lang.model Implementation Backed by Core Reflection core/lib 135 Base64 Encoding & Decoding core/lib 149 Reduce Core-Library Memory Usage core/lib 150 Date & Time API core/lib 155 Concurrency Updates core/lib 170 JDBC 4.2

JDK 8 : JEP に記載される拡張機能 一覧

Page 50: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 50

カテゴリ JEP ID 新機能の概要 core/lib 177 Optimize java.text.DecimalFormat.format core/lib 178 Statically-Linked JNI Libraries core/lib 180 Handle Frequent HashMap Collisions with Balanced Trees core/i18n 127 Improve Locale Data Packaging and Adopt Unicode CLDR Data core/i18n 128 BCP 47 Locale Matching core/i18n 133 Unicode 6.2 core/net 184 HTTP URL Permissions core/sec 113 MS-SFU Kerberos 5 Extensions core/sec 114 TLS Server Name Indication (SNI) Extension core/sec 115 AEAD CipherSuites core/sec 121 Stronger Algorithms for Password-Based Encryption core/sec 123 Configurable Secure Random-Number Generation

JDK 8 : JEP に記載される拡張機能 一覧

Page 51: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 51

カテゴリ JEP ID 新機能の概要 core/sec 124 Enhance the Certificate Revocation-Checking API core/sec 129 NSA Suite B Cryptographic Algorithms core/sec 130 SHA-224 Message Digests core/sec 131 PKCS#11 Crypto Provider for 64-bit Windows core/sec 140 Limited doPrivileged core/sec 166 Overhaul JKS-JCEKS-PKCS12 Keystores web/jaxp 185 JAXP 1.5: Restrict Fetching of External Resources

ご参照:http://openjdk.java.net/projects/jdk8/features

JDK 8 : JEP に記載される拡張機能 一覧

Page 52: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 52

最後に

Page 53: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 53

Page 54: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 54

Java Platform Standard Edition 8 ドキュメント

http://docs.oracle.com/javase/jp/8/

Page 55: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 55

Java リリース・ノート

http://www.oracle.com/technetwork/jp/java/javase/overview/8train-relnotes-latest-2153846-ja.html

Page 56: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 56

JDK 8 の新機能概要

http://www.oracle.com/technetwork/jp/java/javase/overview/8-whats-new-2157071-ja.html

Page 57: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 57

JDK 8 の互換性・非互換性の情報ガイド

http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html

Page 58: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 58

JDK 8 リリース時の既知の問題

http://www.oracle.com/technetwork/jp/java/javase/8-known-issues-2157115-ja.html

Page 59: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 59

Java サポート・ロードマップ

http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html

Page 60: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 60

Java チュートリアル

http://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html

Page 61: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 61

is Back

Page 62: Java SE 8 Fukuoka

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 62