Slide 1

Slide 1 text

෼͘Β͍Ͱ෼͔Δ ࠷৽+BWBࣄ৘ ॳ৺ऀͷ ॳ৺ऀʹΑΔ ॳ৺ऀͷͨΊͷ

Slide 2

Slide 2 text

͜ͷεϥΠυͷझࢫ w ࠷ۙͷࢀՃͨ͠+BWBܥΠϕϯτͷϨϙʔτ w ࠷ۙͷ+BWBपลͷτϐοΫΛͬ͘͟Γ஌ͬͯ΋Β ͏ w ͍ͭͰʹɺࣗ෼ͰΞ΢τϓοτ͢Δ͜ͱͰ৘ใΛ ੔ཧͯ͠ཧղΛਂΊΔ w ਤগͳΊɻखൈ͖Ͱ͸͋Γ·ͤΜʢखൈ͖Ͱͳ͍ ͱ͸ݴͬͯͳ͍ʣ

Slide 3

Slide 3 text

λʔήοτ w +BWBͷ஌͕ࣝ+BWB +BWB4& ͘Β͍Ͱࢭ·ͬ ͯΔਓ w +BWB͕޷͖Ͱ࢖͑ΔΑ͏ʹͳΓ͍ͨΤϯδχΞ ʢओʹ৽ೖࣾһɺएखͷਓʣ

Slide 4

Slide 4 text

໔੹ࣄ߲ w ৘ใ͸ಠஅͱภݟͰϑΟϧλϦϯά͞Ε͍ͯΔ ͱ͜Ζ͕͋Γ·͢ w ͜ͷ಺༰͕શͯͰ͸ͳ͍͠ɺઈରʹਖ਼͍͠ͱ͍ ͏΋ͷͰ΋͋Γ·ͤΜ

Slide 5

Slide 5 text

Ϩϙʔτର৅ͱͳΔ ৘ใݯʹ͍ͭͯ

Slide 6

Slide 6 text

ߦ͖ͬͯͨ w  (MBTT'JTI6TFST(SPVQ+BQBOษڧձ w  ++6(φΠτηϛφʮ+BWB&&ಛूʯ w  %FWFMPQFST4VNNJU w  &OUFSQSJTFº+BWB8FC"QQMJDBUJPO $POGFSFODF w  ++6(Πϕϯτʮॕˑ+BWB-BVODIʯ w  +BWB%BZ5PLZP

Slide 7

Slide 7 text

ߦͬͯͳ͍͚Ͳʜ w  +BQBO+#PTT6TFS(SPVQḐ೤ͷ+#PTT w  ++6(φΠτηϛφʮ+BWBղੳπʔϧότ ϧʯ w  ++6(+((6(ڞ࠵φΠτηϛφʮ ࣌ؒͰ෼͔Δʂ࣍ੈ୅Ϗϧυπʔϧͷຊ໋(SBEMFͷશ ๴ʯ w  ++6($$$4QSJOH

Slide 8

Slide 8 text

ങͬͨˍʢେମʣ ಡΜͩ w +BWBٯҾ͖ϨγϐʢΦεεϝʂʣ w +6OJU࣮ફೖ໳ʢΦεεϝʂʣ w ࣮ફςετۦಈ։ൃ w +#PTTߏஙɾӡ༻ύʔϑΣΫτΨΠυ w #FHJOOJOH+BWB&&ʢۚڕຊʣ

Slide 9

Slide 9 text

͜͜࠷ۙͷ+BWBܥ χϡʔε

Slide 10

Slide 10 text

w ೥݄+BWB&&ϦϦʔε
 ˞+BWB&&೥݄ w ೥݄+BWB +BWB4& 
 ϦϦʔε
 ˞+BWB4&೥݄

Slide 11

Slide 11 text

ΞδΣϯμ w +BWB4&ͱ+BWB&&ͬͯԿ͕ҧ͏ͷʁ w +BWB&&͸ͳʹ͕৽͘͠ͳͬͨͷʁ w +BWB4&͸ͳʹ͕৽͘͠ͳͬͨͷʁ w ࢀՃͨ͠ΠϕϯτͷϨϙʔτɾײ૝ w +BWBͷτϐοΫམͪึर͍

Slide 12

Slide 12 text

+BWB4&ͱ+BWB&&ͬͯ Կ͕ҧ͏ͷʁʢ෮शʣ

Slide 13

Slide 13 text

+BWBϓϥοτϑΥʔϜ छྨ ֓ཁ λʔήοτ +BWB4&ͱͷ ؔΘΓ +BWB4& 4UBOEBSE&EJUJPO ඪ४ͷ ػೳηοτ ৭ʑ +BWB&& &OUFSQSJTF&EJUJPO اۀ༻ ػೳηοτ αʔόͳͲ +BWB4&ʴ֦ுػೳ javax.* +BWB.& .JDSP&EJUJPO ૊ΈࠐΈ޲͚ͷ اۀηοτ ૊ΈࠐΈػث +BWB4&ͷ αϒηοτʴ ૊ΈࠐΈ޲͚"1* ˞ ͔ͭͯ͸ͦΕͧΕ+4& +&& +.&ͱݺ͹Ε͍ͯͨ ˞ ʮ+BWB4&&NCFEEFEʯͬͯͷ΋͋Δɻ+BWB.&ͱ͸ผ ˞ +BWB4&ʹ΋javax.*ܥͷ"1*͸͍ͬͺ͍͋Δʢ+/%*ͱ͔ʣ

Slide 14

Slide 14 text

+43 +BWB4QFDJpDBUJPO3FRVFTU w +BWBքͰͷ3'$ͷΑ͏ͳ΋ͷ w +BWBͷ࢓༷͸+43ͷू·Γ w +BWB4&  +BWB&&  +BWB.&   w +$1 +BWB$PNNVOJUZ1SPDFTT ͕࢓༷Λࡦఆ w 0SBDMF *#. 3FE)BUͳͲ w -JTUPGBMM+43T IUUQTKDQPSHFOKTSBMM

Slide 15

Slide 15 text

ϓϩϑΝΠϧ w +BWB&&ʹ͓͍ͯඞཁͳ࢓༷͚ͩબ୒͢Δ࢓૊Έ w 'VMMϓϩϑΝΠϧ w શ෦ೖΓ w 8FCϓϩϑΝΠϧ w 8FCΞϓϦέʔγϣϯ࢓༷ w IUUQFOXJLJQFEJBPSHXJLJ+BWB@&&@WFSTJPO@IJTUPSZ

Slide 16

Slide 16 text

ࢀর࣮૷ʢϦϑΝϨϯε࣮૷3*ʣ w ࢓༷Λ࣮ݱ͢Διϑτ΢ΣΞɺϋʔυ΢ΣΞ w +BWB4& 0QFO+%,ͳͲ  w +BWB&& (MBTT'JTIͳͲ  w +43͸͋͘·Ͱ࢓༷ͳͷͰɺ࣮૷͕ඞཁ w ඪ४࢓༷ͳͷͰʢجຊతʹʣೖΕସ͕͑ޮ͘

Slide 17

Slide 17 text

ೖΕସ͕͑ޮ͘ͱ͸ݴͬͯ΋ʜ w ఏڙ͞Ε͍ͯΔKBSΛ࢖ͬͯɺϕϯμґଘͷ"1*Λ࢖͑ ͹ɺҠ২ੑ͸ࣦΘΕΔ w ௚઀ͷίʔσΟϯάʮҎ֎ʯͷ෦෼ͰΞϓϦέʔγϣϯ αʔό͝ͱͷੑ֨Λ஌Δඞཁ͕͋Δ w ΫϥεϩʔσΟϯάͷ࢓૊ΈͳͲ w ӡ༻ϊ΢ϋ΢͸ҟͳͬͯ͘Δ w ؅ཧπʔϧʢBTBENJOͳͲʣɺ+.9

Slide 18

Slide 18 text

+BWB&&ΞϓϦέʔγϣϯαʔό ʢ044ฤʣ ໊લ ࠷৽ όʔδϣϯ +BWB&& උߟ (MBTT'JTI   +BWB&& WҎ߱঎༻αϙʔτऴྃ 8JME'MZ چ+#PTT "QQMJDBUJPO4FSWFS 'JOBM  +BWB&& +BWB4&΋ରԠ "QBDIF5PN&&   +BWB&& ݺͼํ͸ʮτϛʔʯ "QBDIF(FSPOJNP   +BWB&&

Slide 19

Slide 19 text

+BWB&&ΞϓϦέʔγϣϯαʔό ʢ঎༻ϓϩμΫτฤʣ w 8FC-PHJD 0SBDMF  w 8FC4QIFSF *#.  w +#PTT&OUFSQSJTF"QQMJDBUJPO1MBUGPSN
  3FE)BU  w ͳͲ

Slide 20

Slide 20 text

+BWB&&͸ͳʹ͕ ৽͘͠ͳͬͨͷʁ

Slide 21

Slide 21 text

+BWB&& w σϒαϛͰͷࣉా͞ΜͷൃදεϥΠυ
 ʮOFXGFBUVSFTPG+BWB&&JONJOVUFTʯ w IUUQXXXTMJEFTIBSFOFU0SBDMF.JEEMF+1KBWBFF GFBUVSFT w ݸਓతͳ஫໨ w K#BUDI +43 ɺ8FC4PDLFU +43 ɺ $PODVSSFODZ +43 ɺ+5" +43 ɺ+.4  +43

Slide 22

Slide 22 text

2+BWB&&ͷػೳ͸+BWB&& ؀ڥ͡Όͳ͍ͱ࢖͑ͳ͍ͷʁ ! "࢖͑ͨΓ࢖͑ͳ͔ͬͨΓ

Slide 23

Slide 23 text

+BWB4&Ͱ΋99͕͍ͨ͠ʂ +43 ࣮ݱྫ +43$POUFYUBOE %FQFOEFODZ*OKFDUJPO GPS+BWB&& $%* 8FMEIUUQXFMEDEJTQFDPSH +43+BWB"1*GPS 8FC4PDLFU 5ZSVTIUUQTUZSVTKBWBOFU +FUUZIUUQXXXFDMJQTFPSHKFUUZ ˞+FUUZ͸ʙʢ8FC4PDLFUͷରԠࣗମ͸͔Βʣ +43+"9345IF +BWB"1*GPS3&45GVM 8FC4FSWJDFT
 +43+"934 +FSTFZIUUQTKFSTFZKBWBOFU +43+BWB 1FSTJTUFODF +1" )JCFSOBUFIUUQIJCFSOBUFPSH ˞+1"ରԠ͸Ҏ߱ʁ +43#BUDI "QQMJDBUJPOTGPSUIF +BWB1MBUGPSN K#BUDI ࣉా͞Μϒϩά
 IUUQZPTIJPDPNKCBUDIKTSPOKBWBTF؀ڥ

Slide 24

Slide 24 text

+BWB&&ͷֶͼํ w ϝδϟʔͳ૊Έ߹Θͤ͸(MBTT'JTI /FU#FBOT w ࢲతʹ͸8JME'MZ &DMJQTFʢ͔ͳʁʣ w ࠷ॳ͸&+#ɺ$%*ɺ+"934ɺ+.4ʢɺ+1"ʣ͋ͨΓ w νϡʔτϦΞϧ5IF+BWB&&5VUPSJBM w IUUQEPDTPSBDMFDPNKBWBFFUVUPSJBMEPD w +BWB&&ͷࠃ಺ॻ੶͸·ͩͳ͍

Slide 25

Slide 25 text

ۀ຿Ͱͷ+BWB&& w ࢖͍͜ͳͤΔͳΒɺ͔ͳΓ༗ྗͳબ୒ࢶ w ։ൃ༰қੑɺ࢓༷ͷεϦϜԽɺܰྔԽɺγϯϓ ϧԽɺ)5.- w ࢖͍͜ͳͤΔΑ͏ʹͳΔ·Ͱͷϋʔυϧ͸Լ͕ͬ ͯΔ͚ͲɺͰ΋΍ͬͺΓͦΕͳΓʹߴ͍ w ʮϋϚΔʯͱ໰୊ղܾʹ͕͔͔࣌ؒΔ

Slide 26

Slide 26 text

+BWB4&͸ͳʹ͕ ৽͘͠ͳͬͨͷʁ

Slide 27

Slide 27 text

ʜͷલʹɺ

Slide 28

Slide 28 text

+BWBˠ+BWB  w 1SPKFDU$PJO +43  w TXJUDIจͰͷจࣈྻධՁ w ਐ਺Ϧςϥϧɺ਺஋ϦςϥϧͷΞϯμʔόʔ۠੾Γ w ྫ֎ͷϚϧνΩϟονͱਖ਼֬ͳ࠶εϩʔ w μΠϠϞϯυԋࢉࢠ w USZXJUISFTPVSDFT w Մม௕Ҿ਺ར༻࣌ͷ@SafeVarargs

Slide 29

Slide 29 text

+BWBˠ+BWB  w /*0 +43  w 'PSL+PJO'SBNFXPSL
 +43ͷΞοϓσʔτʣ w *OWPLF%ZOBNJD +43

Slide 30

Slide 30 text

μΠϠϞϯυԋࢉࢠ List messages = new ArrayList(); +BWB List messages = new ArrayList<>(); +BWB

Slide 31

Slide 31 text

ྫ֎ͷϚϧνΩϟον  try { // ... } catch (FooException e) { // ... } catch (BarException e) { // ... } catch (BazException e) { // ... } +BWB

Slide 32

Slide 32 text

ྫ֎ͷϚϧνΩϟον  ˞ܧঝؔ܎ʹ͋Δྫ֎͸ϚϧνΩϟονෆՄʢίϯύΠϧΤϥʔʣ try { // ... } catch (FooException | BarException | BazException e) { // ... } +BWB

Slide 33

Slide 33 text

ྫ֎ͷਖ਼֬ͳ࠶εϩʔ public void method() throws FooException, BarException { try { // ... } catch (Exception e) { throw e; } } +BWB

Slide 34

Slide 34 text

Ϧςϥϧ int a = 0b101; // => 5 +BWB ˞0b·ͨ͸0BͰ͸͡ΊΔͱਐ਺Ϧςϥϧ int a = 1_000_000; // => 1000000 +BWB ˞ਐ਺ϦςϥϧʹݶΒͣɺ਺஋Ϧςϥϧ͸@Ͱ۠੾Δ͜ͱ͕Ͱ͖Δ

Slide 35

Slide 35 text

USZXJUISFTPVSDFT  BufferedReader br = null; try { br = new BufferedReader(new FileReader(path)); String line = null; while((line = br.readLine()) != null) { // … } } finally { if (br != null) { try { br.close(); } catch(IOException ignore) { } } } +BWB

Slide 36

Slide 36 text

USZXJUISFTPVSDFT  try (BufferedReader br = new BufferedReader(new FileReader(path)) { String line = null; while((line = br.readLine()) != null) { // … } } +BWB ˞ ϦιʔεΛ࣮֬ʹΫϩʔζͯ͘͠ΕΔ ˞ Ϧιʔε͸ෳ਺ఆٛՄʢ࡞੒ͷٯॱʹΫϩʔζ͞ΕΔʣ ˞ tryϒϩοΫͱtry-with-resourcesͷ྆ํ͔Βྫ֎͕εϩʔ͞Ε ͨ৔߹ɺޙऀͷྫ֎͸཈੍͞ΕΔʢ#getSuppressedͰऔಘՄʣ ˞ catchϒϩοΫ΍finallyϒϩοΫ͸Ϋϩʔζޙʹ࣮ߦ͞ΕΔ

Slide 37

Slide 37 text

/*0 BufferedReader br = Files.newBufferedReader( Paths.get("a.txt"), StandardCharsets.UTF_8); +BWB ˞ ҆શͳจࣈίʔυࢦఆ ˞ ศརͳϢʔςΟϦςΟ͕͍ͬͺ͍͋Δ List lines = Files.readAllLines( Paths.get("a.txt"), StandardCharsets.UTF_8); +BWB

Slide 38

Slide 38 text

ʢվΊͯʣ+BWBͷ ৽͘͠ͳͬͨͱ͜Ζ

Slide 39

Slide 39 text

+BWB w ϩʔϯνΠϕϯτͰͷࣉా͞ΜͷൃදεϥΠυ
 ʮ/FX'FBUVSF0G+BWB4&ʯ w IUUQXXXTMJEFTIBSFOFU0SBDMF.JEEMF+1OFXGFBUVSF PGKBWBTF w ৄࡉ+BWB4&*5QSPʢᓎఉ͞Μʣ w ৽ػೳ֓ཁ w IUUQXXXPSBDMFDPNUFDIOFUXPSLKBWBKBWBTFXIBUT OFXIUNM

Slide 40

Slide 40 text

+BWBˠ+BWB  w ͔ͳΓେ͖ͳΞοϓσʔτ w 3FWPMVUJPOˠɺˠ w &WPMVUJPOˠɺˠ w +BWBϓϩάϥϚ΋มԽ͕ඞཁ w ྫʣ$BMMBCMFېࢭɺOVMMېࢭɺGPSจېࢭ

Slide 41

Slide 41 text

+BWBˠ+BWB  w ϓϩάϥϜతͳมߋϙΠϯτʢҰ෦ʣ w ϥϜμࣜ +43 ɺ4USFBN"1* w %BUFBOE5JNF"1* +43  w 0QUJPOBM w ූ߸ͳ͠੔਺ w ΠϯλϑΣʔεͷσϑΥϧτ࣮૷ w λΠϓΞϊςʔγϣϯ

Slide 42

Slide 42 text

+BWBˠ+BWB  w ಺෦ɾपลπʔϧతͳมߋϙΠϯτʢҰ෦ʣ w +BWB4DSJQUΤϯδϯ͕ʮ/BTIPSOʯʹมߋ w DMBTTϑΝΠϧͷϑΥʔϚοτ͕มΘͬͨ w 1FSNBOFOUྖҬ͕ͳ͘ͳΓ.FUBTQBDFʹมߋ w )PU4QPU+7.ͱ+3PDLJU+7.ͷ౷߹ʹ޲͚ͨಈ͖ w +BWB.JTTJPO$POUSPM JDK_HOME/bin/jmc.exe

Slide 43

Slide 43 text

ϥϜμࣜ w +BWBͰؔ਺ʢؔ਺ܕΠϯλϑΣʔεʣΛهड़͢Δ ͨΊͷ΋ͷ w ؔ਺ܕΠϯλϑΣʔεʹ࣮૷͕ඞཁͳϝιου ͕͚ͭͩͷΠϯλϑΣʔε w Ϋϩʔδϟͱ͸ҟͳΔ (引数のリスト) -> { 処理 } +BWB

Slide 44

Slide 44 text

ϥϜμࣜʙجຊʙ list.sort(new Comparator() { @Override public int compare(String s1, String s2) { return s1.length() - s2.length(); } }); +BWB list.sort((String s1, String s2) -> { return s1.length() - s2.length(); }); +BWB

Slide 45

Slide 45 text

ϥϜμࣜʙলུʙ list.sort((s1, s2) -> s1.length() - s2.length()); list.sort((s1, s2) -> { return s1.length() - s2.length(); }); +BWB ˞ ࣗ໌ͳҾ਺ͷܕ͸লུͰ͖Δ +BWB ˞ {}Ͱғ·ͳ͍৔߹ɺࣜͷ݁Ռ͕ͦͷ··ϥϜμࣜͷ໭Γ஋ʹͳΔ

Slide 46

Slide 46 text

ࡉ͔͍஫ҙ w thisͷείʔϓ w ϥϜμࣜͷதͷthis͸֎ଆΛࢦ͢ w ϥϜμࣜͷதͰͷྫ֎ w ϥϜμࣜͷதͰͷྫ֎͸ɺ֎ଆͷtry-catchͰ͸ ΩϟονͰ͖ͳ͍ͷͰɺϥϜμࣜͷதͰΩϟον͢Δ w V·Ͱ͸ϥϜμࣜ಺Ͱͷྫ֎ΛϚϧνΩϟον͢Δͱ ໰୊͕ى͖Δʢ+%,ʣ

Slide 47

Slide 47 text

ؔ਺ܕΠϯλϑΣʔε w java.util.funcitonύοέʔδʹ৭ʑ͋Δ w Ҿ਺ͷܕͱݸ਺ɺ໭Γ஋ͷܕͰ࢖͏΂͖ؔ਺ܕΠϯλϑΣʔε͸ܾ ·Δ w ༻ҙ͞Ε͍ͯͳ͍΋ͷ͸@FunctionalInterfaceΛ͚ͭͨΠϯλ ϑΣʔεͱͯ͠ಠࣗʹ࣮૷͢Δɻ͜ͷΞϊςʔγϣϯ͸ඞਢͰ͸ͳ͍ ͕ɺ͚͓ͭͯ͘ͱίϯύΠϥ͕৭ʑࢦఠͯ͘͠ΕΔ w ϝιου͕ఆٛ͞Ε͍ͯͳ͔ͬͨΓɺෳ਺ఆٛ͞Ε͍ͯΔͱίϯ ύΠϧΤϥʔ w σϑΥϧτ࣮૷ʢޙड़ʣΛ΋ͭϝιουҰͭͰ΋ίϯύΠϧΤϥʔ

Slide 48

Slide 48 text

2ϥϜμࣜͬͯɺಗ໊ʢ಺෦ʣΫϥε࢖Θͣʹ
  γϯϓϧʹॻ͚ΔΑ͏ʹͳ͚ͬͨͩʁ "/P4USFBN"1*ͰਅՁΛൃش͢Δɻ
  ͪͳΈʹɺಗ໊Ϋϥεʹରͯ͠΋ɺ୯ͳΔ
  γϯλοΫεγϡΨʔͱ͍͏Θ͚Ͱ͸ͳ͍

Slide 49

Slide 49 text

4USFBN"1*ಋೖฤ for (String s : list) { System.out.println(s); } +BWB list.forEach((s) -> System.out.println(s)); +BWB +BWB ϝιουࢀরͰ͞Βʹ؆ܿʹ list.forEach(System.out::println);

Slide 50

Slide 50 text

ϝιουࢀর w Ҿ਺ͱ໭Γ஋ͷܕ͕ϥϜμࣜͱಉ͡৔߹ɺϥϜμࣜͷ͔ ΘΓʹ࢖͏͜ͱ͕Ͱ͖Δ w Φʔόʔϩʔυ͞Ε͍ͯͯ΋0,ʢܕਪ࿦͕ݡ͍ʣ クラス名::staticメソッド名 +BWB インスタンス名::インスタンスメソッド名 +BWB

Slide 51

Slide 51 text

4USFBN"1* w List, Map, Set౳ʹ4USFBN༻ͷ"1*͕௥Ճ w ഑ྻ͔Β͸Arrays.stream(配列) w よくある「n回繰り返し」もこの通り IntStream.range(0, 10).forEach(System.out::println); +BWB

Slide 52

Slide 52 text

ετϦʔϜɾύΠϓϥΠϯ List list = Arrays.asList(5, 2, 4, 3, 1); ! List list2 = list.stream() .filter(n -> n >= 3) .map(n -> n *= 2) .sorted((n1, n2) -> n1 - n2) .collect(Collectors.toList()); +BWB ^தؒૢ࡞ ऴ୺ૢ࡞ ˞ ݸҎ্ͷதؒૢ࡞ͱ࠷ޙͷͭͷऴ୺ૢ࡞͔ΒͳΔ ˞ தؒૢ࡞͸஗Ԇ͞Εɺऴ୺ૢ࡞࣌ʹ·ͱΊ࣮ͯߦ͞ΕΔ ˞ stream()ͷ͔ΘΓʹparallelStream()Λ࢖͏ͱฒྻॲཧͰ͖Δ ετϦʔϜੜ੒

Slide 53

Slide 53 text

࣮࣭తpOBM String msg = "test"; ! Runnable r1 = new Runnable() { @Override public void run() { System.out.println(msg); } }; ! // ϥϜμ Runnable r2 = () -> { System.out.println(msg); }; +BWB +BWB final String msg = "test"; ! Runnable r1 = new Runnable() { @Override public void run() { System.out.println(msg); } }; ˞ finalͳ͠ͰࢀরՄೳʢ࠶୅ೖ͢ΔͱίϯύΠϧΤϥʔʹͳΔʣ

Slide 54

Slide 54 text

%BUFBOE5JNF"1* w +PEB5JNFతͳ೔෇ɾ࣌ࠁૢ࡞ͷ"1*͕ඪ४ͱ͠ ͯఏڙ͞Εͨ w ೔෇ɿjava.time.LocalDate w ࣌ؒɿjava.time.LocalTime w ೔࣌ɿjava.time.LocalDateTime

Slide 55

Slide 55 text

java.util.Optional w ୤͵ΔΆͷ࢓૊Έ w ݺͼग़͠ଆʹରͯ͠ɺʮ஋͕ଘࡏ͢Δ͔΋͠Ε ͳ͍͠ɺଘࡏ͠ͳ͍͔΋͠Εͳ͍ʯ͜ͱΛ໌ࣔ Ͱ͖Δ w ࠓ·Ͱ͸OVMMνΣοΫ͢Δ͔Ͳ͏͔ͷ൑அ͕೉ ͔ͬͨ͠

Slide 56

Slide 56 text

ΠϯλϑΣʔεͷσϑΥϧτ࣮૷ w ΠϯλϑΣʔε͕σϑΥϧτͷ࣮૷Λ࣋ͯΔ w ΠϯλϑΣʔεʹ͸staticϝιου΋ఆٛͰ͖Δ public interface Foo { ! default void hoge() { // ... } } +BWB

Slide 57

Slide 57 text

+BWB4&ͷֶͼํ w ϥϜμࣜɺ4USFBN"1*पΓͰ"1*͕͔ͳΓ૿͑ͨ w ·ͣ͸ಡΊΔΑ͏ʹͳΔͨΊͷ࠷௿ݶͷ΋ͷΛशಘ w ʮԶͷ஌ͬͯΔ+BWBͱҧ͏ʯঢ়ଶʹͳΒͳ͍ w *%&͸/FU#FBOT͕Α͍ʢ͔ͳʜʣ w ࢼͨ͠؀ڥ.BD049 /FU#FBOT w &DMJQTFͱγϣʔτΧοτ͸ඍົʹҧ͏

Slide 58

Slide 58 text

+BWBͷτϐοΫ མͪึर͍

Slide 59

Slide 59 text

+BWBͷपล஌ࣝ w +7.্Ͱಈ͘ݴޠ w ϙʔλϒϧ8FCΞϓϦέʔγϣϯ w ςετ w +7.ҎԼͷ૚ͷ࿩ w +BWBύϥϝʔλνϡʔχϯά w ($΍ϝϞϦ؅ཧͷ࢓૊Έ

Slide 60

Slide 60 text

+7.্Ͱಈ͘ݴޠ w (SPPWZ w +3VCZ 3VCZ  w +ZUIPO 1ZUIPO  w 4DBMB

Slide 61

Slide 61 text

(SPPWZ w (SPPWZΛ֮͑Δ΂͖ࢲతೋͭͷେ͖ͳཧ༝
 ʢඅ༻ରޮՌ͕େ͖͍ͱࢥΘΕΔ΋ͷʣ w Ϣχοτςετ w (SBEMF

Slide 62

Slide 62 text

ϙʔλϒϧ8FCΞϓϦέʔγϣϯ w +BWB&&ͱผͷΞϓϩʔνͱͯ͠ɺKBSXBSҰͭͰಈ͔ͤΔΑ͏ ͳܗଶͰͷΞϓϦέʔγϣϯ w +FOLJOT IUUQKFOLJOTDJPSH  w (JU#VDLFU IUUQTHJUIVCDPNUBLF[PFHJUCVDLFU  w ͦͷͨΊͷϑϨʔϜϫʔΫ w %SPQXJ[BSE IUUQTESPQXJ[BSEHJUIVCJPESPQXJ[BSE  w /JOKB IUUQOJOKBGSBNFXPSLPSH

Slide 63

Slide 63 text

Ϟμϯͳ+BWBςετ w ୯ମςετ w +6OJUʢ&ODMPTFEɺ5IFPSZ͋ͨΓͷൺֱత৽͍͠ػೳʣ w (SPPWZͰॻ͘ w ݁߹ςετ w "SRVJMMJBO w ෛՙςετ w (BUMJOH w ϒϥ΢βςετ w (FC 4QPDL w (SBQIFOFʢ"SRVJMMJBOͱͷ౷߹ʣ

Slide 64

Slide 64 text

ࢀՃͨ͠Πϕϯτͷ Ϩϙʔτɾײ૝

Slide 65

Slide 65 text

Ϩϙʔτ w ࢀՃͨ͠Πϕϯτ͸ͲΕ΋ࣄલఆһΦʔόʔ w Πϕϯτ΋੝گͩͬͨ w ֎ͷΠϕϯτʹߦ͘ͷ͸ܹࢗʹͳ͍͍ͬͯ

Slide 66

Slide 66 text

ײ૝ɺͱ͍͏͔࠷ۙ ΅Μ΍Γͱߟ͍͑ͯΔ͜ͱ

Slide 67

Slide 67 text

+BWBͷΑ͍ͱ͜Ζ w +BWBϓϩάϥϚ͸͍ͬͺ͍͍Δ w ૊ΈࠐΈػثɺ8FCɺΤϯλʔϓϥΠζ·ͰΛΧόʔ͢Δ ద༻ྖҬͷ޿͞ w ಘҙͳ෦෼͚ͩ+BWBʹ೚ͤΔΞʔΩςΫνϟͰ΋Α͍ w ϚογϡΞοϓɺ4JOHMF1BHF"QQMJDBUJPO w +BWB͸࣮֬ʹਐԽ͍ͯ͠Δ w ৘ใྔ͕๛෋ʢωοτɺॻ੶ʣ

Slide 68

Slide 68 text

࢓ࣄͰ+BWBΛ࢖͏্Ͱͷ՝୊ w ୭Ͱ΋ͦΕͳΓʹॻ͚Δނʹ඼࣭ʢಛʹอकੑʣͰࠩ ͕ग़Δ w +BWBͰͰ͖ͨطଘͷϨΨγʔγεςϜͷଘࡏ w աڈͷࢿ࢈Ͱ+BWBΛ֮͑Δํ๏ͩͱਰୀ͍ͯ͘͠ w +BWBͷΞοϓσʔτͷ଎౓ͱɺ૊৫ͷ+BWBεΩϧΞο ϓͷ଎౓ͷͣΕʢ+BWBʹݶΒͳ͍͚Ͳʜʣ w ৽͍͠+BWBͷڧΈΛੜ͔͢૊৫෩౔ͮ͘Γ

Slide 69

Slide 69 text

݁ہ͸ɺ͍͍΋ͷΛɺ ͍͔ʹૣ͘ɺָ͘͠࡞Δ͔

Slide 70

Slide 70 text

w ʮࠓ͸999͕͍͍Μ͡Όͳ͍ͷʁʯ w +BWB΋999΋྆ํ࢖͑ΔΑ͏ʹͳͬͨΒΑ͍ w ࠷దͳಓ۩Λબ΂ΔΑ͏ʹҾ͖ग़͕͠ଟ͍͜ ͱ͸ॏཁ

Slide 71

Slide 71 text

w ʮ+BWBͬͯকདྷੑ͋Δͷʁʯ w কདྷ҆ହͳ͜ͱ͕อূ͞ΕͯΔٕज़͸ͳ͍ͷ Ͱ෼͔Δ͸͕ͣͳ͍

Slide 72

Slide 72 text

࣌ؒ͸༗ݶ w %POFJTCFUUFSUIBOQFSGFDU w ʮ४උͷ४උʹ͕͔͔࣌ؒΔʯප w ໰୊ղܾʹ͕͔͔࣌ؒΓ͗͢Δͷ͸ͩΊ w ೋ౓໨ͷਖ਼௚ w εϞʔϧελʔτ

Slide 73

Slide 73 text

ա৒ͳϓϥΠυ΍ࣗ৴͸ࣺͯΔ w ஌͍ͬͯΔ͜ͱΑΓ΋஌Βͳ͍͜ͱͷํ͕ଟ͍ w ͭ·Γɺ஌Βͳͯ͘౰ͨΓલ w ʮͳʹ΋஌ͬͯͳ͍ʯ͜ͱΛ·ͣ஌Δ w ʮ࣭໰Ͱ͖Δͷ͸৽ਓ͚ͩͷಛݖʯʁ w ए͍ਓ͔Β΋ͨ͘͞ΜֶͿ΂͖

Slide 74

Slide 74 text

·ͱΊ w ৽͍͠+BWB4&ɺ+BWB&&͕ϦϦʔε w +BWB4&͸͔Ώ͍ͱ͜Ζʹख͕ಧ͘Ξοϓσʔτ w +BWB4&͸େ͖ͳΞοϓσʔτ w ৐Δ͔͠ͳ͍ɺ͜ͷϏοά΢Τʔϒʹ w +BWBΠϕϯτ͸׆ൃͰͨ͠ w దࡐదॴͰ͏·͘+BWBΛ׆༻͍͖ͯ͠·͠ΐ͏

Slide 75

Slide 75 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ