Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
うらがみさんアドバイス解析〜リテラルはGCされない〜
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ihcomega56
August 27, 2016
Technology
840
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
うらがみさんアドバイス解析〜リテラルはGCされない〜
真夏のhoge勉強会2016
ihcomega56
August 27, 2016
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
1
180
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
2.1k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.7k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
280
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.5k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
340
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
570
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6.8k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.8k
Other Decks in Technology
See All in Technology
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
10分で知る最近のOmarchy
komagata
0
310
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
540
データ_AIの事業の勝敗をわけるもの
nek0128
0
340
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
310
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
340
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
350
20260912_スクフェス三河
kgnkhkr
0
370
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
AI時代、データエンジニアが一番おもろい
genshun9
0
570
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
1.9k
GoにおけるFFIのこれまでとこれから
goccy
5
3.2k
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
240
Everyday Curiosity
cassininazir
0
320
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
420
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Curse of the Amulet
leimatthew05
3
14k
How to make the Groovebox
asonas
2
2.4k
Mind Mapping
helmedeiros
1
360
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Transcript
͏Β͕Έ͞Μͷ ΞυόΠεղੳୈ
͏Β͕Έ͞Μͱ͍͑ ઌੜͷΑ͏ͳଘࡏʂ
͏Β͕Έ͞Μͱ͍͑
࠷ۙͩͱ DBTFDMBTTͷ ·ͩΑ͘Θ͔ͬͯͳ͍ GMBU.BQͷJNQMJDJUDPOWFSUFS ݁ߏΘ͔ͬͨ ˞4DBMB
ಛ /PUPOMZઆ໌ #VUBMTPίʔυ
ࠓ ੲ͍͍ͨͩͨίʔυΛ ͣͬͱ์ஔ͔ͯ͠Βͣʹ͍ͨͷͰ ࠓߋղੳͨ͠
࣌ ύʔϑΣΫτ+BWB
ٙ
ղ
͏Β͕Έ͞ΜʹΑΔ࣮ݧ IUUQTHJTUHJUIVCDPNCBDLQBQFSEBGFGGFCF
༰ wϦςϥϧ wOFXͨͭ͠ wJOUFSOͨͭ͠ wϦςϥϧͦͷ wϦςϥϧͦͷͷΫϥεϩʔμʔ wϦςϥϧͦͷͷΫϥε wϦςϥϧͦͷͷϑΟʔϧυ ($͞ΕΔͷ͔ʁ
༰ wϦςϥϧ wOFXͨͭ͠ wJOUFSOͨͭ͠ wϦςϥϧͦͷ wϦςϥϧͦͷͷΫϥεϩʔμʔ wϦςϥϧͦͷͷΫϥε wϦςϥϧͦͷͷϑΟʔϧυ ͜͜ͷ෦Λͬͨ
ݴ͍༁ શ෦ग़དྷͳ͔ͬͨͷʹཧ༝͕ ޙड़
͍ͬͯΈΑ͏ wϦςϥϧ wOFXͨͭ͠ wJOUFSOͨͭ͠
ͦͦ JOUFSOͬͯͳΜ͚ͩͬ
JOUFSOϝιου͕ݺͼग़͞Εͨͱ͖ʹɺFRVBMT 0CKFDU ϝιο υʹΑͬͯ͜ͷ4USJOHΦϒδΣΫτʹ͍͠ͱఆ͞ΕΔจࣈ ྻ͕ϓʔϧʹ͢Ͱʹ͋ͬͨ߹ɺϓʔϧͷ֘͢Δจࣈྻ ͕ฦ͞Ε·͢ɻ ͦ͏Ͱͳ͍߹ɺ͜ͷ4USJOHΦϒδΣΫτ͕ϓʔϧʹՃ͞ Εɺ͜ͷ4USJOHΦϒδΣΫτͷࢀর͕ฦ͞Ε·͢ɻ JOUFSO +BWB%PDΑΓ
จࣈྻϦςϥϧΛએݴ͢Δͱ 4USJOHϓʔϧͬͯͱ͜ʹอ࣋͞ΕΔ ϓʔϧ
จࣈྻϦςϥϧΛએݴ͢Δʹ 4USJOHϓʔϧͷதΛ֬ೝͯ͠ ಉ͡จࣈྻ͕͋ΕͦͷࢀরΛ͍ճ͢͠ ͳ͚Ε৽͘͠࡞ͬͯอ࣋͢ΔΒ͍͠ ͱ͍͏͔
ͯ͞ ؾΛऔΓͯ͠ ίʔυղੳͩͬ ·ͣ ͭͷΠϯελϯεΛ ੜ͠Α͏
ΠϯελϯεΛੜ͢Δ wϦςϥϧ wOFXͨͭ͠ wJOUFSOͨͭ͠
ΠϯελϯεΛੜ͢Δ
ΠϯελϯεΛੜ͢Δ •”aaa” •new String(”bbb”) •new String(new char[] { ‘c’,’c’,’c’ }).intern()
Μʁ new String(new char[] { ‘c’,’c’,’c’ }).intern() DIBSʜ ϓʔϧʹՃ͢ΔλΠϛϯάΛ
JOUFSO ͕ݺͼग़͞Εͨͱ͖ OPUϦςϥϧ͕એݴ͞Εͨͱ͖ ʹ ͍͔ͨ͠Β͔ͳʁʁʁ
Μʁ new String(new char[] { ‘c’,’c’,’c’ }).intern() DIBSʜ ϓʔϧʹՃ͢ΔλΠϛϯάΛ
JOUFSO ͕ݺͼग़͞Εͨͱ͖ OPUϦςϥϧ͕એݴ͞Εͨͱ͖ ʹ ͍͔ͨ͠Β͔ͳʁʁʁ ਖ਼ղͰͨ͠ ൃදޙʹՃͨ͠εϥΠυ
ͯ͞ ؾΛऔΓͯ͠ ίʔυղੳͩͬ ࣍ ࡞ͬͨΠϯελϯε͕ ($͞ΕΔ͔֬ೝ͠Α͏
ྲྀΕ ($͞Εͯͳ͍͜ͱΛ֬ೝ͢Δ ($ͷରͱ͢Δ ͕Μͬͯ($͢Δ ($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ
ྲྀΕ
($͞Εͯͳ͍͜ͱΛ֬ೝ͢Δ ($͞Εͯͳ͍͜ͱΛ֬ೝ͢Δ ($ͷରͱ͢Δ ͕Μͬͯ($͢Δ ($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ
($͞Εͯͳ͍͜ͱΛ֬ೝ͢Δ
($͞Ε͔ͨ֬ೝ͢Δํ๏ ͷͪ΄Ͳɾɾɾ
($ͷରͱ͢Δ ($͞Εͯͳ͍͜ͱΛ֬ೝ͢Δ ($ͷରͱ͢Δ ͕Μͬͯ($͢Δ ($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ
͜ΕͬͯΔʂ OVMMΛೖ͢ΔΜͰ͠ΐ͏ʁ
($ͷରͱ͢Δ
($ͷରͱ͢Δ
($ͷରͱ͢Δ
ڧࢀরʁ ͳΜͧ
ུ ऑࢀরΦϒδΣΫτɺͦͷऑࢀরΦϒδΣΫτͷϦϑΝ Ϩϯτ͕ϑΝΠφϥΠζՄೳʹͳΓɺϑΝΠφϥΠζ͞Εɺͦ ͯ͠࠶ੜ͞ΕΔ͜ͱΛ્ࢭ͢Δ͜ͱ͋Γ·ͤΜɻ ͋Δ࣌ͰɺΦϒδΣΫτ͕ऑ౸ୡՄೳͰ͋ΔͱɺΨϕʔδί ϨΫλ͕அͨ͠ͱ͠·͢ɻͦͷ࣌ͰɺΨϕʔδίϨΫλɺ ͦͷΦϒδΣΫτͷऑࢀরͯ͢ͱɺڧࢀর͓Αͼιϑτࢀ রͷνΣʔϯΛܦ༝ͯͦ͠ͷΦϒδΣΫτʹ౸ୡͰ͖ΔΑ͏ͳɺ ΄͔ͷऑ౸ୡՄೳͳΦϒδΣΫτͷऑࢀরͯ͢Λɺݪࢠత ʹΫϦΞ͠·͢ɻಉ࣌ʹɺΨϕʔδίϨΫλҎલʹऑ౸ୡՄ
ೳͳΦϒδΣΫτ͕ͯ͢ϑΝΠφϥΠζՄೳͰ͋Δ͜ͱΛએ ݴ͠·͢ɻಉ࣌ʹ·ͨ͋ͱͰɺΨϕʔδίϨΫλɺࢀর Ωϡʔʹొ͞Ε͍ͯΔͦΕΒͷ৽͘͠ΫϦΞ͞ΕͨऑࢀরΛ ΩϡʔʹೖΕ·͢ɻ ऑࢀর +BWB%PDΑΓ
ऑࢀর +BWB%PDΑΓ
ڧࢀরɾऑࢀর ͻͩ͠·͞ΜϖʔδΛࢀߟʹ ڧࢀরɿ ଟී௨ͷࢀরΛࢦ͢ ऑࢀরɿ ʮऑࢀরʹͯ͠อ࣋͢Δͱɺ ଞͷ௨ৗͷࢀর͕શͯແ͘ͳΕɺ ($ͷରʹͳΔʯΒ͍͠ɾɾɾ
ɾɾɾʁ ʮଞͷ௨ৗͷࢀর͕શͯແ͘ͳΕɺ ($ͷରʹͳΔʯʁ ͲͷΠϯελϯεͦ͏ͩͱࢥͬͯͨ ऑࢀর͡Όͳ͍ͷ($ͷରͰͳ͍ʁ ҧ͍͕Α͔͘Βͳ͍ͷ͚ͩͲ ऑࢀরͩͱ($ͷରͱ͍͏͜ͱ ͔֬ͬΆ͍ ࡶ
ɾɾɾʁ ऑࢀরͷ߹ ࢀর͕͋ͬͯ($ͷରʹͳΔ ͦ͏Ͱ͢ Ωϟογϡͱ͔ʹ͏Β͍͠ ൃදޙʹՃͨ͠εϥΠυ
ͯ͞ ؾΛऔΓͯ͠ ίʔυղੳͩͬ ଓ͖ʙ
($ͷରͱ͢Δ
ͭ·Γࠓ ͭͷจࣈྻ ͲΕڧࢀর͕ͳ͍ ($͞Εͦ͏ʂ
͕Μͬͯ($͢Δ ($͞Εͯͳ͍͜ͱΛ֬ೝ͢Δ ($ͷରͱ͢Δ ͕Μͬͯ($͢Δ ($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ
͜Ε͔ͯ͠͠ʂ 4ZTUFNHD ͔ͳʁ
Ͱ 4ZTUFNHD ݺΜͰ ($͞ΕΔͱݶΒͳ͍ͬͯ ͬͪΌ͕ݴͬͯͨ
͕Μͬͯ($͢Δ
+BWBԾϚγϯͷۭ͖ϝϞϦʔͷྔΛฦ͠·͢ɻ HDϝιουΛݺͼग़͢ͱɺ GSFF.FNPSZʹΑͬͯฦ͞ΕΔ͕૿͑Δ߹͕͋Γ·͢ɻ 3VOUJNFGSFF.FNPSZ +BWB%PDΑΓ
͕Μͬͯ($͢Δ
($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ ($͞Εͯͳ͍͜ͱΛ֬ೝ͢Δ ($ͷରͱ͢Δ ͕Μͬͯ($͢Δ ($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ
($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ
($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ
͜ͷࢀরΦϒδΣΫτ͕ɺ ϓϩάϥϜ·ͨΨϕʔδɾίϨΫλʹΑͬͯ ΩϡʔʹೖΕΒΕ͍ͯΔ͔Ͳ͏͔Λఆ͠·͢ɻ 3FGFSFODFJT&ORVFVFE +BWB%PDΑΓ
ུ ऑࢀরΦϒδΣΫτɺͦͷऑࢀরΦϒδΣΫτͷϦϑΝ Ϩϯτ͕ϑΝΠφϥΠζՄೳʹͳΓɺϑΝΠφϥΠζ͞Εɺͦ ͯ͠࠶ੜ͞ΕΔ͜ͱΛ્ࢭ͢Δ͜ͱ͋Γ·ͤΜɻ ͋Δ࣌ͰɺΦϒδΣΫτ͕ऑ౸ୡՄೳͰ͋ΔͱɺΨϕʔδί ϨΫλ͕அͨ͠ͱ͠·͢ɻͦͷ࣌ͰɺΨϕʔδίϨΫλɺ ͦͷΦϒδΣΫτͷऑࢀরͯ͢ͱɺڧࢀর͓Αͼιϑτࢀ রͷνΣʔϯΛܦ༝ͯͦ͠ͷΦϒδΣΫτʹ౸ୡͰ͖ΔΑ͏ͳɺ ΄͔ͷऑ౸ୡՄೳͳΦϒδΣΫτͷऑࢀরͯ͢Λɺݪࢠత ʹΫϦΞ͠·͢ɻಉ࣌ʹɺΨϕʔδίϨΫλҎલʹऑ౸ୡՄ
ೳͳΦϒδΣΫτ͕ͯ͢ϑΝΠφϥΠζՄೳͰ͋Δ͜ͱΛએ ݴ͠·͢ɻಉ࣌ʹ·ͨ͋ͱͰɺΨϕʔδίϨΫλɺࢀর Ωϡʔʹొ͞Ε͍ͯΔͦΕΒͷ৽͘͠ΫϦΞ͞ΕͨऑࢀরΛ ΩϡʔʹೖΕ·͢ɻ ऑࢀর +BWB%PDΑΓ
ͭ·Γ ऑࢀর ($ͷରͱͳΔ ΠϯελϯεΛ ΨϕʔδίϨΫλ͞Μ͕ݟ͚ͭΔͱ ݪࢠతʹΫϦΞ͢Δʁ($͕ى͖Δ
ͭ·Γ ͦͷΫϦΞ ($ ରʹͳͬͨऑࢀর͕ ΩϡʔʹೖΔʁ
ͭ·Γ Ωϡʔʹೖ͍ͬͯΕ ($͞ΕͨͱΈͳͯ͠0,ʁʁʁ
($͞ΕͯΔ͔Ͳ͏͔֬ೝ͢Δ
ͳ Δ ΄ Ͳ
Ϧςϥϧ($͞Εͯͳ͍Α OFXͨͭ͠($͞ΕͨΑ‷ ɾŷɾ و ̑̑ŞƄŕ JOUFSOͨͭ͠($͞ΕͨΑ‷ ɾŷɾ و ̑̑ŞƄŕ ݁Ռ
݁Ռ Ϧςϥϧ($ͷର֎ʂ 4USJOHͷΠϯελϯε ώʔϓ্ʹ͋Δͷʁ ଞͷΠϯελϯεͱಉ༷($ର͚ͩͲ 4USJOHϓʔϧର֎ʂ
͠ΐʔͳ͍ͭͿ͖͕ɾɾɾ
ײ ίʔυॻ͍͙ͯ֬͢ೝͰ͖Δͷ͍͢͝ʂ ࣌ΫιΈ͍ͨͳπΠʔτͨͭ͠Γ͚ͩͬͨͲ Ԟ͕ਂ͔ͬͨʂ ଞਓͷ᧓Ͱ૬ΛͱͬͨΈ͍ͨͳʹͳ͚ͬͨͲ ͜ΕΛࣗͰग़དྷΔΑ͏ʹͳΒͳ͍ͱͳΜͩʂ
·ͱΊ ͍ͭ͋Γ͕ͱ͏͍͟͝·͢
͓ྱ ΞϙύΠম͍͖ͯͨͧ ͔ͩΒ࣌ؒͳͯ͘ ίʔυҰ෦͔͑͠Μ͔ͬͨ