Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Javaの新しめの機能を知ったかぶれるようになる話 #kanjava

irof
March 24, 2025

Javaの新しめの機能を知ったかぶれるようになる話 #kanjava

2025-03-24
関ジャバ'25 3月度 https://kanjava.connpass.com/event/345530/

SpeakerDeckにあげたら9ページ目だけ文字が消えました。
なんでだろ?せろさんのポスト貼ったから?
心の目で見てください。

irof

March 24, 2025
Tweet

More Decks by irof

Other Decks in Technology

Transcript

  1. w ϦϋʔαϧΈ͍ͨͳײ͡ͰόʔδϣϯΞοϓϓϩηεͷ఺ݕΛ͢Δɻ w ࣗ෼ͨͪͷΤίγεςϜ͕ରԠ͢Δͷ͸͍ͭʁͱ͔ͷײ৮Λཆ͓ͬͯ͘ͷ େࣄɻ w ͨͱ͑͹(SBEMFͷରԠ͸ϲ݄͘Β͍ͬͯࢥͬͯΔɻ w +BWB 

       w +BWB     w +BWB     w +BWB    ʢ(SBEMFͷ͕ૣ͍ͳʁʣ OPO-54ͷ࢖͍ํɿͨͱ͑͹
  2. +%,Ҏ߱ͷ+&1Χ΢ϯτ         

         TUBOEBSE QSFWJFX JODVCBUPS FYQFSJNFOUBM ˣ͜ͷลͪΐͬͱ৺഑ͨ͠ΑͶˣ
  3. w *ODVCBUPS w ผϞδϡʔϧɺผύοέʔδ໊Ͱ࡞ͬͨΑʂ w ͜Ε͕ͦͷ··ϦϦʔε͞ΕΔ͜ͱ͸ͳ͍Αʂʂ w ࢖͍͔ͨͬͨΒBEENPEVMFTKELJODVCBUPSYYYͯ͠Ͷʂʂʂ w 1SFWJFX

    w ੡඼඼࣭ͰೖͬͯΔΑʂ w ໰୊ͳ͔ͬͨΒ͍͍ͩͨճ΍͔ͬͯΒਖ਼ࣜ൛ʹͳΔΑʂʂ w ࢖͍͔ͨͬͨΒFOBCMFQSFWJFXͯ͠ͶʂʂʂճͶʂʂʂʂ KBWBKBWBD ͬ͘͟Γ ৄ͘͠͸+&1 ಡΜͰ
  4. w *ODVCBUPS w 4FDPOE*ODVCBUPS w 1SFWJFX w 4FDPOE1SFWJFX w 5IJSE1SFWJFX

    w TUBOEBSE 'PSFJHO'VODUJPO.FNPSZ"1* 1SPKFDU1BOBNB ࿡ࡀ
  5. w *ODVCBUPS w 4FDPOE*ODVCBUPS w 1SFWJFX w 4FDPOE1SFWJFX w 5IJSE1SFWJFX

    w 'PVSUI1SFWJFX 4USVDUVSFE$PODVSSFODZ 1SPKFDU-PPN IUUQTPQFOKELPSHKFQT IUUQTXJLJPQFOKELPSHEJTQMBZMPPN.BJO ࿡ࡀʢͨͿΜࣣࡀͰೖΔʣ
  6. w *ODVCBUPS w 4FDPOE*ODVCBUPS w 5IJSE*ODVCBUPS w 'PVSUI*ODVCBUPS w 'JGUI*ODVCBUPS

    w 4JYUI*ODVCBUPS w 4FWFOUI*ODVCBUPS w &JHIUI*ODVCBUPS w /JOUI*ODVCBUPS 7FDUPS"1* 1SPKFDU1BOBNB IUUQTPQFOKELPSHKFQT 7BMIBMMB଴ͬͯΔͬͯ͞ ۝ࡀʢ΋͏͠͹Β͘ʣ
  7. +%,Ҏ߱ͷ+&1Χ΢ϯτ         

         TUBOEBSE QSFWJFX JODVCBUPS FYQFSJNFOUBM
  8. w +BWB%PDʹ৽͍͠λά͕௥Ճ͞ΕͨΑʂ w લʹ௥Ճ͞Εͨͷ͍ͭͩʜʜʁ w ϑϨʔϜϫʔΫʗϥΠϒϥϦͰ͸࢖͍͍ͨؾ࣋ͪ͸͋Δ͚Ͳɺ·ͩ+BWB αϙʔτΛ੾͍ͬͯͳ͔ͬͨΓ͢ΔͷͰ࢖ͬͯͳ͍Ͱ͢ɻ w 044Ͱ΋࢖ͬͯΔͷݟͨهԱͳ͍͔Βɺੈؒతʹ΋ͦΜͳײ͔͡ͳͱɻ w

    QSF\!DPEF^QSFͱ͔QSFDPEFDPEFQSFͱ͔ॻ͘Α Γ͸ָͳΜ͚ͩͲɺผϑΝΠϧࢀর͢Δͷͱ͔͸ͪΌΜͱϝϯς͍͚Δͷ ͔ͱ͔ѻ͍೉ͦ͠ʔʢײ૝ w .BSLEPXOདྷͨ͠௨ৗͷίʔυ͸AAAͰॻ͘ͱࢥ͏ΜΑͶɻ +&1$PEF4OJQQFUTJO+BWB"1*%PDVNFOUBUJPO +BWB
  9. w HFUcBEEcSFNPWF 'JSTUc-BTU  w SFWFSTFE w BEE SFNPWF͸Φϓγϣϯͷૢ࡞ɻ w

    ෆมίϨΫγϣϯͰ࣮ߦͨ͠Β6OTVQQPSUFE0QFSBUJPO&YDFQUJPO w ͍·͞Β$PMMFDUJPOT'SBNFXPSLͰಛఆΠϯλϑΣʔε͚ͩΦϓγϣϯ ͳ͠ʹ͢Δͷ΋ͳ͊ͬͯ͜ͱͳΜͩΖ͚Ͳɺͳ͊ɻ w .BQ͸΋ͬͱ৭ʑ $PMMFDUJPOT'SBNFXPSLͷ֊૚ʹΠϯλϑΣʔε௥Ճ
  10. w HFU'JSTU ͸HFU  ΑΓՄಡͰҙຯ͕͍͍͋ͬͯΜ͚ͩͲʜʜ w HFU'JSTU HFU  ͱ͔ฒͿͱඍົɻ

    w ฒ΂ΔͳΒHFU  HFU  ͱॻ͖·͠ΐ͏ɻ w HFU  ͸ࡑਂ͘ݟ͑ΔͷʹHFU'JSTU ͸ͦ͏ݟ͑ͳ͍ͷ͕໽հ w HFU'JSTU ͍͍ͯ͠ͷ͸͚݅ͩͷ࣌ɻͦΕҎ֎͸ཞ༻ʹ͍ۙ͠ɻ w ͕݅ݕূͰ͖ͯͳ͍ͷʹHFU'JSTU ͸όάͷԹচͰ͢ɻ 4FRVFODFE$PMMFDUJPOTͷؾʹͳΔͱ͜Ζ
  11. w 0QUJPOBM5 w 5 w Oʮ݅Ҏ্ͷίϨΫγϣϯʯ w Oʮ݅Ҏ্ͷίϨΫγϣϯʯ ୤ઢɿ਺ͱܕ Oͷ

    fi STU͸0QUJPOBM5ͩͱࢥ͏ɻ Oͷ fi STU͸5ͩͱࢥ͏ɻ ͦ͏͡Όͳ͍ΜͩΑͶʜʜ ಉ͡ܕͰѻ͏͔Β࢓ํͳ͍Μ͚ͩͲ͞ɻ ͔ͩΒ࣮ߦ࣌ྫ֎ʹͳΔɻ ʮ࣮ߦ࣌ྫ֎ʯ͸HFU  ͱಉ͚ͩ͡Ͳ͞ɻ OVMM͡Όͳ͍͚ͩ·͠ʁ
  12. w ଞݴޠͰ͓ೃછΈͷύλʔϯϚονϯάͩʂ w +BWB·Ͱ͸ʮTXJUDIͱ͔࢖Θͳ͍͠ʔʯͩͬͨͱࢥ͍·͢ɻ w CSFBL໘౗ͩ͠ɺFOVNʹ͸࢖͑ͳ͘΋ͳ͍͘Β͍ɻ w ͦΕ͕TXJUDIࣜͰಥવͷ෮ݖɺύλʔϯϚονʢ+&1ؚΉʣΛՃ͑ͯ ͓Αͦ+BWBΒ͔͠Β͵ίʔυ͕ॻ͚ΔΑ͏ʹͳΓ·ͨ͠ɻ w

    ίϯύΠϧνΣοΫޮ͘ͷ͕ڧ͍ɻ w TXJUDIͷ֦ு͸௕͘ଓ͍͍ͯ·͢ɻͰ·ͩ@͕ೖΔɻ·ͬͨ͘৮͍ͬͯ ͳ͍ਓ͸ͦΖͦΖ৮Γ࢝Ίͯ׳Εͯͬͨํ͕͍͍ͱࢥ͏ɻ͸ͱ΋͔͘ɺ ZJFMEͱ͔XIFOͱ͔ΛॳݟͰॻ͘ͷ͸೉͍͔͠΋͠Εͳ͍ɻ +&11BUUFSO.BUDIJOHGPSTXJUDI +BWB
  13. w +BWBͷظ଴ͷ੕͔΋͠Εͳ͍7JSUVBM5ISFBEɻ w ྲྀੴʹग़ͨ౰ॳ͸ϑϨʔϜϫʔΫͱ͔ͷରԠ΋Ͳ͏͔ͳʁͬͯײ͚ͩͬͨ͡ Ͳɺ΋͏͋Β͔ͨରԠ͸ऴΘͬͯΔؾ͕͢Δɻ w ࢖͑Δͱ͜Ζ͸࢖͍͚ͬͯ͹͍͍ͱࢥ͏͠ɺࠓޙ͸͕ͬͪ͜ϝΠϯʹͳΔΜ ͔ͳ͊ͱ͔͸ࢥ͍ͭͭɺͦΜͳʹ࢖͍ͬͯͳ͍ͷ͕࣮ࡍͷͱ͜Ζɻ w 4USFBNQBSBMMFM

    Ͱ͸7JSUVBM5ISFBE͡Όͳ͍'PSL+PJO1PPM͕࢖ΘΕΔ ··ͩ͠ɺ7JSUVBM5ISFBEΛ࢖͏Α͏ʹ͢Δͷ΋ͳΜ͔ͩͳͬͯײ͡ɻ w ͋ͨΓ·͚͑ͩͲɺ7JSUVBM5ISFBE࢖ͬͯ΋ฒߦॲཧϓϩάϥϛϯά͸؆୯ ʹͳΒΜͰ͢ɻٯʹϓϥοτϑΥʔϜεϨουͰ͸ͳ͍஫ҙ఺ͱ͔΋ग़ͯ͘Δ ͷͰɺΤΩεύʔτ޲͚ͷಓ۩ͱ͍͏ೝࣝͰ͢ɻ +&17JSUVBM5ISFBET +BWB
  14. w +&1$PEF4OJQQFUTJO+BWB"1*%PDVNFOUBUJPO w #JH%FDJNBM580 w +&14FRVFODFE$PMMFDUJPOT w +&13FDPSE1BUUFSOT w +&11BUUFSO.BUDIJOHGPSTXJUDI

    w +&17JSUVBM5ISFBET w ա৒ͳηϛίϩϯ͕ίϯύΠϧΤϥʔʹͳΔ w ʢଞʹ΋ͳΜ΍͔Μ΍͋ͬͨʣ +BWB͔Β+BWBʹͨ͠ͱ͖࣮຿࣮૷ʹӨڹ͋Γͦ͛ͳมߋͨͪ ద౰ʹ࿩͠·͢
  15. w ͍ΖΜͳͱ͜σϑΥϧτΤϯίʔσΟϯά͕65'ʹͳͬͨɻ w ͍ΖΜͳͱ͜ʹ$IBSTFUEFGBVMU$IBSTFU Λ࢖ͬͯΔͱ͜ w ੈքฏ࿨ʹߩݙ͢ΔॏେͳόʔδϣϯΞοϓɻΤϯίʔσΟϯάͷઃఆ͕ ͍Βͳ͘ͳΔ΋ͷ͕͋Δɺ͔΋͠Εͳ͍ɻ w 65'͡Όͳ͍؀ڥʢ8JOEPXTʣͰ$*ͯ͠Δਓ͸গͳ͍͔΋͚ͩͲɺ͋ͬ

    ͯ΋ͳͯ͘΋มΘΒͳ͍ͱ͔ग़͖ͯͦ͏ɻ͋ͬͯ΋ѱ͞͠ͳ͍͔Βͦͷ· ·Ͱ΋͍͍͔΋͚ͩͲɺʮ͓·͡ͳ͍ʯʹͳΔͷ͸΍ͩΑͶɻ w 8JOEPXTΛ։ൃͱ͔αʔόʔͰ࢖͍ͬͯΔͱӨڹ͸͋ͬͨΓͳ͔ͬͨΓɻ ͨͩ͜ͷ؀ڥͬͯˠͱ͔Ͱ΋৭ʑ͋ͬͨ͠ɺ͍ͭ΋ͷ͋Ε͔ͬͯͳΔ ͔΋ɻόʔδϣϯΞοϓॳΊͯͳΒ֮ޛܾΊ·͠ΐ͏ +&165'CZ%FGBVMU
  16. w ۀ຿࣮૷Ͱ͸࣮ߦ؀ڥʹґଘ͢ΔίʔυΛආ͚Δͷ͕جຊͰ͢ɻ w ͜ͷมߋ͸ʮ$IBSTFUEFGBVMU$IBSTFU ʹґଘ͍ͯ͠Δ৔߹ʹະઃఆͷ ࣮ߦ؀ڥͰͷಈ͖͕౷Ұ͞ΕΔʯఔ౓Ͱ͢ɻ w ͳͷͰجຊΛकΕ͍ͯΕ͹໰୊ͳ͍ͷͰ͕͢ɺҙਤͤͣσϑΥϧτʹґଘ ͯ͠͠·͏͜ͱ͸Α͋͘Δ࿩Ͱ͢ɻ w

    4QPU#VHTͳͲͰݕग़Ͱ͖Δ΋ͷ΋͋Γ·͕͢ɺ࢖͍ͬͯͳ͚Ε͹ؾͮ ͚·ͤΜ͠ɺݕग़͞Εͳ͍΋ͷ΋͋Γ·͢ɻ w ͨͱ͑͹վߦίʔυ΍λΠϜκʔϯͳͲɻ w ؀ڥͰมΘΒͳ͍σϑΥϧτͳΒ͍͍ΜͰ͚͢ͲͶɻ σϑΥϧτͷ࿩
  17. w +&14XJUDI&YQSFTTJPOT w +BWBͳͷͰόʔδϣϯલɺ͚ͩͲ-54ͰݟͨΒ·ͩ৽͠Ί w +&14FBMFE$MBTTFT w +BWBͳͷͰ·ͩ৽͠Ί w ͜ΕΒ͸+BWBͷͱ͖͸ʮ·ͩͩΑͶʔʯͱॻ͍͚ͨͲɺ3FDPSE

    1BUUFSOTͱ1BUUFSO.BUDIJOHGPSTXJUDI͕དྷͯSFBEZʹͳͬͨײ͡ɻ w Ͱ΋࣮຿ͩͱ·ͩ͋Μ·Γ࢖ͬͯͳ͍Ͱ͢ɻ 4XJUDI&YQSFTTJPOT 4FBMFE$MBTTFT 
  18. w ʮແཧʹ࢖Θͳͯ͘΋ʯͱࢥ͍ͬͯ·ͨ͠ɻ w ͍·͸ʮಛʹͩ͜ΘΓͳ͚Ε͹࢖͓͏ʯͬͯࢥͬͯ·͢ɻ w ϥΠϒϥϦαϙʔτ΋͍͍ͩͨߦ͖౉ͬͯͦ͏ͩ͠ɻ w ΞΫηα΍ίϯετϥΫλͷՄࢹੑ੍͕ݶͰ͖ͳ͍ͱ͔ɺ਌Ϋϥε͕࣋ͯ ͳ͍ͱ͔ɺ஍ຯʹ࢖͍ͮΒ͍ͱ͜Ζ͸͋Γ·͢ɻ w

    ͚ͲॾʑͷϚΠφεΛൈ͍ͯ΋௨ৗͷΫϥεΛ࡞ΔͱඞཁʹͳΔίϯετ ϥΫλͱϑΟʔϧυΛॻ͔ͣʹࡁΉϊΠζ௿ݮͷϝϦοτ্͕ճΓ·͢ɻ w ίϯετϥΫλݺͼग़͠Λ*%&ͰͨͲΓʹ͍͘ʢ*OUFMMJ+Ͱ͸Χοί͔Βݺͼ ग़͠Λ։͘͸Ͱ͖Δʣͱ͔ɺᙱ͍ͱ͜Ζʹख͕ಧ͔ͳ͍ͷ͸͋Δɻ 3FDPSE
  19. w ػೳ঺հ͚ͩΈͯ΋ΠϯύΫτ͸Θ͔Βͳ͍ w αϯϓϧίʔυΛಈ͔ͨ͘͠Β͍Ͱ͸࢖͍ॴ͸Θ͔Βͳ͍ w ࢖ͬͯΈͯΘ͔Δ͜ͱ͸ଟ͍ɺ࣮຿Ͱ͸ͳ͓͞Βଟ͍ w ࢖ͬͯΈͨΒʮҊ֎࢖͑ͳ͍ͳʯͬͯͳΓ͕ͪ w ແཧͯ͠࢖ͬͯ΋ɺ࣌ؒΛஔ͍ͨΒඍົʹݟ͑ͨΓ͢Δ

    w ࢖ͬͯΔ࣌͸ͦͷػೳʹର͢Δؔ৺͕ڧ͍͜ͱʹΑΔόΠΞε͕ੜ͡ Δɻ࢓ํͳ͍͠ɺͦ͏͍͏΋ͷͱͯ͠ৼΓ੾ͬͯ࢖͏΄͏͕͍͍ɻ࢖ Θͳ͍ͱ͍ͭ·Ͱ΋࢖͑ΔΑ͏ʹͳΒͳ͍ɻ ฉ͚ͩͩ͘ͱ೉͍͠
  20. +%,Ҏ߱ͷ+&1Χ΢ϯτ         

         TUBOEBSE QSFWJFX JODVCBUPS FYQFSJNFOUBM
  21. w ࢖Θͳ͍ม਺Λ@ͰએݴͰ͖Δɻ w ݸਓతʹ͸଴๬ͷػೳͩͬͨΓ͢Δɻ w USZXJUISFTPVSDFTͰJHOPSF JHOPSFͱ͔͠ͳͯ͘ྑ͘ͳΔɻ w TXJUDIͷ3FDPSE1BUUFSOͰ͸࢖͏͜ͱ΋··͋Δ͔΋͠Εͳ͍ɻ w

    ͨͩ3FDPSE1BUUFSOࣗମͲ͜·Ͱͬͯײ͡͸·ͩෆ໌ɻ w +BWB·Ͱ͸ී௨ʹม਺໊Ͱ@͕࢖͚͑ͯͨͲɺμϝʹͳͬͨɻ w ΋͠ࠓॻ͍ͯͨΒແ͍͖ͯ͘͠·͠ΐ͏ʜʜɻʢ͜ͷݕग़ͷͨΊ͚ͩʹ Ͱ΋ίϯύΠϧϏϧυΛ$*Ͱճ͠͸͡Ί͓͖ͯ·͠ΐ͏ʣ +&16OOBNFE7BSJBCMFT1BUUFSOT +BWB
  22. w .BSLEPXOͰॻ͚ΔΑʂ w KBWBEPDλά΋࢖͑ΔΑʂCMPDLλά΋JOMJOFλά΋ʂʂ w )5.-΁ͷม׵͸DPNNPONBSLKBWBͩΑʂʂ w IUUQTHJUIVCDPNDPNNPONBSLDPNNPONBSLKBWB w ίʔυಡΜͲ͔ͳ͍ͱʜʜ

    w ͜Ε΋଴๬ͷػೳɻʢͱ͍͏͔΋͏࢖ͬͯΔɻʣ w +BWBEPD͸࣮຿Ͱ͸KBWBEPD࢖ΘͣʹιʔεͰಡΉ͜ͱ͕ଟ͍ɻͰ͋Ε ͹ιʔεͰՄಡͳ.BSLEPXOͷํ͕)5.-ΑΓ߹͍ͬͯΔͱࢥ͏ɻ +&1.BSLEPXO%PDVNFOUBUJPO$PNNFOUT +BWB