Slide 1

Slide 1 text

͜Ε͔Βͷ+BWBͷ ͱ͔͔ͬΓΛ௫Ή ळͷؔδϟόࡇΓ LBOKBWB !JSPG +BWB%BZ5PLZP KEU !JSPG

Slide 2

Slide 2 text

+BWBΤϯδχΞཆ੒ಡຊ
 +BWBೖ໳ ։ൃݱ৔ʹ఻͍͑ͨͷ͜ͱ
 ಓ۩ʹؔ͢ΔΑ͠ͳ͠͝ͱ ؔ੢+BWBΤϯδχΞͷձ @irof IPHFۦಈ ϨϏϡΞʔ

Slide 3

Slide 3 text

͜Ε͔Β͢Δ࿩ ͜Ε·Ͱͷ+BWBΛৼΓฦͬͯ ͍·Ͳ͖ͷ+BWBͷ଍৔ݻΊ ͜Ε͔Βͷ+BWBͷͱ͔͔ͬΓ ˞ϓϩάϥϚ޲͚

Slide 4

Slide 4 text

͠ͳ͍࿩ +BWBҎ߱ͷ۩ମతͳ࿩

Slide 5

Slide 5 text

͜Ε·Ͱͷ+BWBΛ ৼΓฦͬͯ ͜Ε·Ͱͷ+BWB+BWB4&͋ͨΓ

Slide 6

Slide 6 text

ʮ͜Ε·Ͱʯ ʹؚ·ΕΔ΋ͷ δΣωϦΫε FOVN ֦ுGPS Ξϊςʔγϣϯ $PODVSSFODZ6UJMJUJFT

Slide 7

Slide 7 text

͜Ε·Ͱͷ+BWBΛΠϝʔδͰ࿩͠·͢ ˞ݸਓͷײ૝Ͱ͢

Slide 8

Slide 8 text

+BWBݴޠ

Slide 9

Slide 9 text

+BWBݴޠ ݎ͍ۤ͠ ੩తܕ෇͚ΦϒδΣΫτࢦ޲ݴޠ ৑௕ͳߏจ ྼԽ999ݴޠ อकత ݹष͍ ख͕ؒଟ͍ ਐԽ͕஗͍ ॲཧ͕஗͍ ىಈ͕஗͍ Α͘࢖ΘΕ͍ͯΔ ϙετ$0#0- Ϋϥεϕʔε

Slide 10

Slide 10 text

+BWB؀ڥ

Slide 11

Slide 11 text

+BWB؀ڥ ࣮੷ࣄྫ͕ଟ͍ ԯͷσόΠεͰಈ͘ +7. αʔόʔ͔ΒϞόΠϧ·Ͱ +7.ݴޠ ৘ใ͕ಘ΍͍͢ ๲େͳϥΠϒϥϦ΍ ϑϨʔϜϫʔΫ ॆ࣮ͨ͠։ൃπʔϧ Φʔϓϯιʔε

Slide 12

Slide 12 text

͜Ε·Ͱͷ+BWBͷΠϝʔδ ݴޠ͸Α͘࢖ΘΕ͍ͯΔ ҰํͰωΨςΟϒͳҹ৅΋ڧͦ͏ ؀ڥ͸جຊతʹϙδςΟϒͳײ͡

Slide 13

Slide 13 text

Ҏ্͕z͜Ε·Ͱzͷ࿩

Slide 14

Slide 14 text

+BWB͸มΘ͍ͬͯ·͢ ʢͨͿΜʣ

Slide 15

Slide 15 text

͍·Ͳ͖ͷ+BWBͷ ଍৔ݻΊ

Slide 16

Slide 16 text

͍·Ͳ͖ͷ+BWBݴޠ ͍·Ͳ͖ͷ+BWB+BWB +BWB ίʔυͱͱ΋ʹ͓͞Β͍ɻ

Slide 17

Slide 17 text

+BWBϐοΫΞοϓ +BWB4& +43 1SPKFDU$PJO +43 /*0 +43

Slide 18

Slide 18 text

+431SPKFDU$PJO USZXJUISFTPVSDFT EJBNPOEPQFSBUPS $PJOͰ΋Α͘࢖͏΋ͷ

Slide 19

Slide 19 text

USZXJUISFTPVSDFT Closeable resource = create();
 try {
 // resource Λ࢖͏ॲཧ...
 } finally {
 resource.close();
 } try (AutoCloseable resource = create()) {
 // resource Λ࢖͏ॲཧ...
 }

Slide 20

Slide 20 text

EJBNPOEPQFSBUPS Map>> map
 = new HashMap>>();
 Map>> map
 = new HashMap<>();

Slide 21

Slide 21 text

ଞͷ$PJOͨͪ όΠφϦϦςϥϧ ਺஋ϦςϥϧͷΞϯμʔείΞ 4USJOHTTXJUDI ϚϧνΩϟον

Slide 22

Slide 22 text

ଞͷ$PJOͨͪ όΠφϦϦςϥϧ ਺஋ϦςϥϧͷΞϯμʔείΞ 4USJOHTTXJUDI ϚϧνΩϟον Ϧςϥϧ ͋Μ·Γ ॻ͔ͳ͍

Slide 23

Slide 23 text

4USJOH4XJUDI switch (str) {
 case "java":
 // ...
 break;
 case "groovy":
 // ...
 break;
 default:
 // ...
 } OVMM͜Θ͍ CSFBLΊΜͲ͍ JGͰॻ͘ΑΓ
 ߦ਺ଟ͍

Slide 24

Slide 24 text

ϚϧνΩϟον try {
 this.getClass().getMethod("method").invoke(this);
 } catch (IllegalAccessException
 | NoSuchMethodException
 | InvocationTargetException e) {
 // ...
 } try {
 this.getClass().getMethod("method").invoke(this);
 } catch (ReflectiveOperationException e) {
 // ...
 } ϦϑϨΫγϣϯ͸جఈྫ֎ΫϥεͷDBUDIͰΑ͛͞

Slide 25

Slide 25 text

+43/*0 +BWBͰϑΝΠϧΛѻ͏ؾʹͳΕΔʢॏཁʣ

Slide 26

Slide 26 text

/*0 List lines = new ArrayList();
 BufferedReader br = new BufferedReader(
 new InputStreamReader(
 new FileInputStream(fileName), StandardCharsets.UTF_8));
 for (String line; (line = br.readLine()) != null; ) {
 lines.add(line);
 } List lines = Files.readAllLines(path); 🌾DMPTFলུ

Slide 27

Slide 27 text

+BWBϐοΫΞοϓ +BWB4& +43 1SPKFDU-BNCEB +43 %BUFBOE5JNF"1* +43

Slide 28

Slide 28 text

+43 1SPKFDU-BNCEB -BNCEB&YQSFTTJPO .FUIPE3FGFSFODF 0QUJPOBM

Slide 29

Slide 29 text

-BNCEB&YQSFTTJPO (String arg) -> { /* ͳΜ͔ॲཧ */ } arg -> /* ͳΜ͔ࣜ */ System.out::println .FUIPE3FGFSFODF

Slide 30

Slide 30 text

0QUJPOBM MBNCEBͱͷซ༻͕جຊ JT1SFTFOU࢖͏ͱΠϚΠν OVMMΛࠜઈ΍͠ʹͯ͠΄͍͠ Optional java = Optional.of(“java"); 
 java.ifPresent(System.out::println);

Slide 31

Slide 31 text

+43 %BUFBOE5JNF"1* %BUF5JNF%BUF5JNF -PDBM;POFE %BUF5JNF'PSNBUUFS ͳͲʜʜ

Slide 32

Slide 32 text

͋Θͤͯݟͯཉ͍͠

Slide 33

Slide 33 text

͍·Ͳ͖ͷ+BWB؀ڥ ϥΠϒϥϦ΍ϑϨʔϜϫʔΫ *%& ϏϧυγεςϜ

Slide 34

Slide 34 text

ϥΠϒϥϦ΍ ϑϨʔϜϫʔΫ ૬มΘΒͣͨ͘͞Μ͋Δ Ή͠Ζ૿͑ΔҰํ ੈ୅ަ୅΍ํ޲ੑͷมಈ͕ىͬͯͨ͜Γ +BWB&&΍4QSJOH#PPUͳͲͷྲྀΕ

Slide 35

Slide 35 text

*%& &DMJQTFͷಠஃ৔͔Βબ୒΁ &DMJQTF /FU#FBOT *OUFMMJ+*%&"

Slide 36

Slide 36 text

ϏϧυγεςϜ "OU.BWFO͔Β(SBEMF΁ʁ ҰؾʹมΘΔؾ഑͸ͳͦ͞͏ ঃʑʹมΘ͍ͬͯΔҹ৅͸͋Δ

Slide 37

Slide 37 text

͜Ε·Ͱ͍·Ͳ͖ ݴޠ ݹष͞΍৑௕͞͸১ΘΕͭͭ͋Δ ؀ڥ ͜Ε·ͰΛϕʔεʹΑΓڧྗʹ

Slide 38

Slide 38 text

࣌ʹ l͍·Ͳ͖ͷ+BWBz ࢖ͬͯ·͢ʁ

Slide 39

Slide 39 text

͍·Ͳ͖ͷ+BWB ͳΜ͔ඍົͳײ͕͢͡ΔɻͳΜͰʁ ࢖͑Δਓ͕͍ͳ͍ʁ ಈ͔ͳ͍ʁ

Slide 40

Slide 40 text

࢖͑Δਓ͕͍ͳ͍ʁ ࢖ͬͯͳ͍΋ͷΛ࢖͑ΔΑ͏ʹɺͳΜͯ
 ͳΔΘ͚͕ͳ͍ɻ ࢖ͬͯͳ͍͔Β࢖Θͳ͍ͱ͔ݴͬͯΔͱ
 ͍ͭ·Ͱ΋มΘΒͳ͍ɻ

Slide 41

Slide 41 text

࢖͑Δਓ͕͍ͳ͍ʁ +BWB4& ͷ৘ใ͸े෼ग़ճͬͯΔ ͦͷลΛݟͯษڧ͍ͯ͠Δํʑ΋ډΔ ʮ࢖ͬͨ͜ͱͳ͍ਓ͕ଟ͍ʯͳΒɺ࢖͑͹͍ ͍͚ͩͷ࿩ ࢖ͬͨ͜ͱͷ͋Δਓ͸૿͑Δ͜ͱ͸͋ͬͯ ΋ݮΓ͸͠ͳ͍ͷ͔ͩΒ

Slide 42

Slide 42 text

ಈ͔ͳ͍ʁ όʔδϣϯΞοϓͨ͠Βಈ͔ͳ͘ͳΔͱݴ͏ ࿩͕ͪΒ΄Βͱ

Slide 43

Slide 43 text

+BWBͷޓ׵ੑ

Slide 44

Slide 44 text

;ͭ͏ʹແཧͳ͜ͱ +%,Ͱ;ͭ͏ʹίϯύΠϧͨ͠ DMBTTϑΝΠϧΛ+3&͸ಡΊͳ͍ -BNCEB ஌ΒΜ͕ͳʜʜ ͱ͸͍͑ʜʜ +3&͞Μ

Slide 45

Slide 45 text

ޙํޓ׵ੑ͸΄΅໰୊ແ͍ +4&࣌୅ͷίʔυ͸ŠŠ ͍͍ͩͨ+%,ͰίϯύΠϧՄೳ +4&࣌୅ͷDMBTT΍KBS͸ŠŠ ͍͍ͩͨ+3&Ͱ࣮ߦՄೳ

Slide 46

Slide 46 text

ޙํޓ׵ੑ͸΄΅໰୊ແ͍ +4&࣌୅ͷίʔυ͸ŠŠ ͍͍ͩͨ+%,ͰίϯύΠϧՄೳ +4&࣌୅ͷDMBTT΍KBS͸ŠŠ ͍͍ͩͨ+3&Ͱ࣮ߦՄೳ

Slide 47

Slide 47 text

ӡ͕ѱ͍ͱࣄނΔ ม਺໊ʹFOVNΛ࢖ͬͯͯίϯύΠϧΤϥʔ ΠϯλϑΣʔεʹϝιου͕૿͑ͯίϯύΠϧ Τϥʔ ࠶ίϯύΠϧͤͣಈ͔ͨ͠Β࣮ߦ࣌ྫ֎ ϦϑϨΫγϣϯͰऔΕΔॱ൪͕มΘͬͯ༧ظ ͠ͳ͍ྫ֎ ͱ͸ݴ͑͜Ε͸ӡ͕ѱ͍࿩

Slide 48

Slide 48 text

+BWBࣗମ͸ͱ΋͔͘ ϥΠϒϥϦ͸ͭΒ͍

Slide 49

Slide 49 text

ରԠ͍ͯ͠ͳ͍ϥΠϒϥϦ͕͋Δ

Slide 50

Slide 50 text

ରԠ͍ͯ͠ͳ͍ϥΠϒϥϦ͕͋Δ ର৅ϥΠϒϥϦͷΞοϓσʔτ

Slide 51

Slide 51 text

ରԠ͍ͯ͠ͳ͍ϥΠϒϥϦ͕͋Δ ର৅ϥΠϒϥϦͷΞοϓσʔτ ґଘ͢ΔϥΠϒϥϦͷΞοϓσʔτ ґଘ͢ΔϥΠϒϥϦͷΞοϓσʔτ

Slide 52

Slide 52 text

ରԠ͍ͯ͠ͳ͍ϥΠϒϥϦ͕͋Δ ର৅ϥΠϒϥϦͷΞοϓσʔτ ґଘ͢ΔϥΠϒϥϦͷΞοϓσʔτ ґଘ͢ΔϥΠϒϥϦͷΞοϓσʔτ ґଘ͢ΔϥΠϒϥϦͷΞοϓσʔτ ґଘ͢ΔϥΠϒϥϦͷΞοϓσʔτ ґଘ͢ΔϥΠϒϥϦͷΞοϓσʔτ ґଘ͢ΔϥΠϒϥϦͷΞοϓσʔτ ͭΒ͍

Slide 53

Slide 53 text

+BS)FMM ੲ͸KBSΛखಈͰ͔͖ूΊΔ͜ͱʹΑΔ࡞ۀ஍ ࠈΛҙຯ͍ͯͨ͠ Ϗϧυπʔϧ͕ґଘΛࣗಈͰղܾ͢Δ͜ͱͰ ऴΘ͔ͬͨʹࢥ͕͑ͨ ࠷ۙ͸KBSؒͷґଘ͕ಊʑ८Γ͢Δ͜ͱʹΑΔ ແؒ஍ࠈΛҙຯͯ͠ΔΑ͏ͳؾ͕͢Δ

Slide 54

Slide 54 text

ϥΠϒϥϦͱޓ׵ੑ Ϋϥεͷ౷ഇ߹ɺجఈΫϥε΍ΠϯλϑΣʔ εͷมߋʹΑΓιʔεޓ׵͸͋ͬ͞ΓଛͳΘ Εͯ͠·͏ʢ͜ͱ΋͋Δʣ ϦϑϨΫγϣϯͷಈ࡞΍ɺΫϥεϑΥʔϚο τͳͲɺ௨ৗͷޓ׵ੑ΄ͲڧݻʹकΒΕ͍ͯ ͳ͍΋ͷʹґଘ͍ͯ͠Δʢ͜ͱ΋͋Δʣ ڧྗͳϥΠϒϥϦ΄Ͳ܏޲͸ڧ͍ʢؾ͕͢Δʣ

Slide 55

Slide 55 text

ϥΠϒϥϦͱޓ׵ੑ +BWBͷڧΈͷ͸ͣͷʮϥΠϒϥϦͷॆ࣮ʯ ޓ׵ੑΛߟ͑ΔͱωοΫʹͳΔ όʔδϣϯΞοϓ࣌͸ಛʹݦஶ ৐Γӽ͑ͳ͍ͱz͍·Ͳ͖ͷ+BWBz͕࢖͑ͳ͍

Slide 56

Slide 56 text

ͱ͸͍͑ ద੾ͳॱ൪Ͱόʔδϣϯ͍͚͋͛ͯ͹ɺҙ֎ ͱ͢ΜͳΓ্͛ΒΕͨΓ͢Δɻ ϝδϟʔόʔδϣϯΞοϓز͔ͭ΍͚ͬͨͲɺ ϋϚΔͷ͸ʮ·͍͔ͨͭ͜ʯͱ͍͏Ұ෦Ͱ͢ɻ

Slide 57

Slide 57 text

ͳΜͱ͔ͳΔ

Slide 58

Slide 58 text

ੜ͖ͨ+BWBΛ࢖͍ͬͯͨ͘Ίʹ΋ɺ͍·Ͳ͖ ͷ+BWBΛ஌ͬͯ࢖͍͖ͬͯ·͠ΐ͏ɻ

Slide 59

Slide 59 text

͜Ε͔Βͷ+BWBͷ ͱ͔͔ͬΓ

Slide 60

Slide 60 text

͜Ε͔Βͷ+BWB 1SPKFDU+JHTBX 1SPKFDU7BMIBMMB 1SPKFDU1BOBNB ࠷ॳʹݴͬͨ௨Γ ͜ͷลͷ࿩͸͠·ͤΜ

Slide 61

Slide 61 text

͜Ε·Ͱˠ͜Ε͔Β Ұ൪ͷҧ͍͸ʮ+BWBࣗ਎͕੒௕͢Δʯ͜ͱ গ͠લʹ+BWB4&͕ग़ͯ ͦͷ೥ͪΐ͍ޙʹ+BWB4&͕ग़ͯ ͨͿΜ೥͘Β͍ޙʹ+BWB4&͕ग़Δ

Slide 62

Slide 62 text

೥લ ೥લ

Slide 63

Slide 63 text

J2SE 5.0 ೥લ ೥લ

Slide 64

Slide 64 text

J2SE 5.0 Java SE 6 ೥લ ೥લ

Slide 65

Slide 65 text

J2SE 5.0 Java SE 6 Java SE 7 ೥લ ೥લ

Slide 66

Slide 66 text

J2SE 5.0 Java SE 6 Java SE 7 Java SE 8 ೥લ ೥લ

Slide 67

Slide 67 text

J2SE 5.0 Java SE 6 Java SE 7 Java SE 8 ೥લ ೥લ ໿೥

Slide 68

Slide 68 text

̑೥ͷϒϥϯΫ +BWB͔ΒΛݟૹͬͨΒܖػΛࣦͬͨ +BWBͰ࡞ͬͨΒػձ͕དྷͳ͔ͬͨ ্͛ΒΕͳ͍··ಈ͚ͳ͘ͳͬͯ͠·ͬͨ J2SE 5.0 Java SE 6 Java SE 7 Java SE 8 ໿೥

Slide 69

Slide 69 text

ͱ͸ݴ͑͜Ε͔Β͸ߋ৽͞Ε͍ͯ͘ͷͰɺ
 ண͍͍͖͍ͯͨͱ͜ΖͰ͸͋Δɻ

Slide 70

Slide 70 text

ߋ৽ͯ͠Έͨ࿩ͦͷ ࣮ߦ؀ڥ͚ͩ+BWBʹͯ͠Έͨ ίʔυɺίϯύΠϥ͸+BWBͷ·· ϥΠϒϥϦ͸ߋ৽ͤͣ ͍͚ͨˠͳΜͷ໰୊΋ͳ͘ಈ͍͍ͯΔ

Slide 71

Slide 71 text

ߋ৽ͯ͠Έͨ࿩ͦͷ ࣮ߦ؀ڥ͚ͩ+BWBʹͯ͠Έͨ ίʔυɺίϯύΠϥ͸+BWBͷ·· ϥΠϒϥϦ͸ߋ৽ͤͣ ͩΊͩͬͨˠ࣮ߦ؀ڥͷόʔδϣϯ֬ೝ͠ ͍ͯΔϥΠϒϥϦ͕͋ͬͨʜʜ

Slide 72

Slide 72 text

ߋ৽ͯ͠Έͨ࿩ͦͷ ίϯύΠϥ͚ͩ+BWBʹͯ͠Έͨ UBSHFU ίʔυɺ࣮ߦ؀ڥ͸+BWBͷ·· ϥΠϒϥϦ͸ߋ৽ͤͣ ͍͚ͨˠͳΜͷ໰୊΋ͳ͘ಈ͍͍ͯΔ

Slide 73

Slide 73 text

ߋ৽ͯ͠Έͨ࿩ͦͷ ίϯύΠϥ࣮ߦ؀ڥͱ΋ʹ+BWBʹͯ͠Έͨ ίʔυ͸+BWBͷ·· ϥΠϒϥϦ͸ߋ৽ͤͣ ͍͚ͨˠͳ͔ͥಈ͍ͯ͠·ͬͨ ͚ͲMBNCEBͭॻ͍ͨॠؒམͪͨ

Slide 74

Slide 74 text

͜Ε͔Βͷͱ͔͔ͬΓ +BWB͸ੜ͖ͯͯɺݩؾʹಈ͖࢝Ίͨ ͦΜͳ+BWBʹৼΓམͱ͞Εͳ͍ͨΊʹ

Slide 75

Slide 75 text

ݴޠͷͱ͔͔ͬΓ -BNCEBʹ͍ͭͯ͜ΕͯΔʁ (SPPWZ΍4DBMBͳΜ͔Λ΍ͬͯͨਓ͸ฏવ ͱѻͬͯΔ ࠓޙͷ+BWBʹ௥ਵ͢ΔͨΊʹผͷݴޠʹ΋৮ Ε͓ͯ͘ͱ͍͍͔΋

Slide 76

Slide 76 text

؀ڥͷͱ͔͔ͬΓ Ϗϧυπʔϧ͸ΑΓਐԽ͍ͯ͘͠͸ͣ ΋ͬͱେ͖͘ͳ؀ڥΛϏϧυͦ͠͏ ͦͷ͏ͪ+BS)FMMΛղফͯ͘͠ΕΔ͔΋ ݱঢ়Ͱ΋ཧղ͓͚ͯ͠͹े෼ͳ෢ثʹͳΔ

Slide 77

Slide 77 text

લʹਐΉͳΒ͹ ৽چͷ৘ใͷݟۃΊ͸೉͘͠ͳ͍ͬͯ͘ ෆ҆ͳϥΠϒϥϦͷ૊Έ߹Θͤ΋ ΞμϓλΛ࣮૷͢Δඞཁ΋͋Δ͔΋ ಈ͔ͯ͠ݕূ͢Δࣗಈςετ͸·͢·͢ॏཁ ʹͳͬͯ͘Δͱࢥ͏

Slide 78

Slide 78 text

ཹ·Δ༐ؾ ແཧͤͣཹ·Δબ୒ࢶ΋ߟྀʹೖΕΔ ݹ͍ίʔυɺݹ͍ίϯύΠϥɺ৽͍࣮͠ߦ ؀ڥͱ͔Ͱ΋͍͍ͩͨେৎ෉ ҆શࡦΛͱΔͳΒ࣮ߦ؀ڥ΋αϙʔτड͚Ε ʢۚͰͿΜԥΕ͹ͳΜͱ͔ͳΔʣ &OEPG1VCMJD6QEBUFT&0-

Slide 79

Slide 79 text

प೥Λܴ͑ɺ+BWB͸·͢·͢ݩؾ ͜Ε͔Β΋+BWBͱڞʹߦͨ͘Ίʹ
 ͓ޓ͍ʹ৘ใग़͠߹͍͖ͬͯ·ͤΜ͔ʁ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠