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
Why is the subject of the story about Java supp...
Search
Koji Saiki
December 26, 2018
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Why is the subject of the story about Java support JDK?
Koji Saiki
December 26, 2018
More Decks by Koji Saiki
See All by Koji Saiki
Scaffold for Read and Debug JavaScript
kojisaiki
0
110
Angular で PCF した話
kojisaiki
0
590
いまどきのSIer的品質向上
kojisaiki
0
180
誰も教えてくれなかったSEとしてただ一つ必要なこと
kojisaiki
0
480
真・なぜ誰もこう書いてくれないDependency Injection入門
kojisaiki
0
820
なぜ誰もこう書いてくれない Dependency Injection
kojisaiki
5
1.9k
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
2.3k
Groovy as a human and AI friendly programming language
paulk
0
110
気持ちぃ〜角丸 Squircle
ryu1013
0
330
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
200
残高管理から台帳サービスへの進化
artoy
1
210
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
530
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.3k
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
130
ジョジョの世界をXRで再現する
mofurune
0
180
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
860
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
150
Featured
See All Featured
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
880
What's in a price? How to price your products and services
michaelherold
247
13k
Designing Experiences People Love
moore
143
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Speed Design
sergeychernyshev
33
2.2k
4 Signs Your Business is Dying
shpigford
187
23k
WCS-LA-2024
lcolladotor
0
900
Practical Orchestrator
shlominoach
192
12k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
GraphQLとの向き合い方2022年版
quramy
50
15k
Fireside Chat
paigeccino
43
4.1k
Transcript
ͳΜͰJDKͰ͢Δͷ 2018/12/26 @saikou9901
ҙ • Java EEؾʹͯ͠·ͤΜ • ॳ৺ऀ͚ͳͷͰʮ͜Εେମ͜ΕͰ͢ʯΈ ͍ͨͳॻ͖ͿΓʹͳΓ·͢
આ໌͢Δॱ൪ • Java • Java SE • JDK • JRE(+JVM)
Java • WikipediaΑΓ +BWBʢδϟόʣɺίϯϐϡʔλʔʹ͓͍ͯɺڱٛͰ ϓϩάϥϛϯάݴޠ+BWBΛࢦ͢ɻٛͰݴޠ༷Ҏ֎ ʹɺ༷͕༩͑ΒΕ͍ͯΔ+BWBΫϥεϥΠϒϥϦ +BWBԾϚγϯɺ͞Βʹ+%,+3&ͳͲͷެࣜͷͷ Λ͡Ίͱ͢Δɺ߹ʹΑͬͯαʔυύʔςΟͷͷ ͳͲΛؚΊᐆດʹ+BWBϓϥοτϑΥʔϜͱ૯শ͞ΕΔΑ ͏ͳͷͳͲͷΤίγεςϜͳͲΛࢦ͢͜ͱ͋Δɻ
Java • ʮJavaͬͯΔͷʁʯ • ʮ͋ͳͨͷࢦ͢JavaͱʁJavaͱJDKͱ JVMͱ͍͏࣮ଶͷ͜ͱ͔ͦΕͱਓͷʹݟ ͑Δจ໘͔ͦΕͱ30ԯͷd • ʮ”JavaͬͯΔ”Ͱ͍͍͡ΌΜʂʯ
Java • ʮJavaͬͯΔͷʁʯ • ʮ͋ͳͨͷࢦ͢JavaͱʁJavaͱJDKͱ JVMͱ͍͏࣮ଶͷ͜ͱ͔ͦΕͱਓͷʹݟ ͑Δจ໘͔ͦΕͱ30ԯͷd • ʮ”JavaͬͯΔ”Ͱ͍͍͡ΌΜʂʯ ٛͷJava
Java public class HelloWorld { public static void main(String[] args)
{ System.out.println("Hello World!"); } } • ͜ΜͳงғؾʹͳΔΑʹڱٛͷJava
Java public class HelloWorld { public static void main(String[] args)
{ System.out.println("Hello World!"); } } • ͜ΜͳงғؾʹͳΔΑʹڱٛͷJava งғؾʁ
Java List<Record> records = hoge.query(); for (Record str: records) {
... } • ۩ମతͳจ๏ʮJava SEʯͰܾ·Δ͔Β ͜ͷfor”Java SE 5” Ҏ্Ͱͳ͍ͱಈ࡞͠ͳ͍
Java SE • ඪ४ϥΠϒϥϦͷ”༷” • ৽͍͠จ๏
Java SE • ඪ४ϥΠϒϥϦͷ”༷”
Java SE • ඪ४ϥΠϒϥϦͷ”༷” ໊લͱ”Δ͜ͱ”͔͠ॻ͍ͯͳ͍ ʹJavaͷ༷ॻ
Java SE • ৽͍͠จ๏ (String value) -> { System.out.println("value: "
+ value); }
Java SE • ৽͍͠จ๏ (String value) -> { System.out.println("value: "
+ value); } @FunctionalInterface Consumer<String> consumer = new Consumer<String>() { public void accept(String t) { System.out.println("value: " + t); } }; ※దͳͷͰؒҧͬͯͨΒ͢Έ·ͤΜ
Java SE • ৽͍͠จ๏ (String value) -> { System.out.println("value: "
+ value); } @FunctionalInterface Consumer<String> consumer = new Consumer<String>() { public void accept(String t) { System.out.println("value: " + t); } }; ※దͳͷͰؒҧͬͯͨΒ͢Έ·ͤΜ จ๏৽͍͠ΫϥεͳͲΛ׆༻ ͯ͠ղऍɾ࣮ߦ͞ΕΔ => Java SEʹґଘ͢Δ
͓·͚ɿ༷୭͕ܾΊΔʁ • རؔͳ͘ΈΜͳͰܾΊΔ ࢀߟɿ https://tech.pjin.jp/blog/ 2017/11/08/%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81 %9F%E3%81%84%EF%BC%81java%E3%81%AE%E4%BB%95%E6%A7%98%E3%81%A3% E3%81%A6%E3%81%A9%E3%81%86%E3%82%84%E3%81%A3%E3%81%A6%E6%B1%B A%E3%81%BE%E3%82%8B/ ίϛϡχςΟͷγχΞϝϯόʔ͕༷Ҋ
Ұൠެ։ϨϏϡʔɾίϝϯτ ࣥߦҕһձʢOracle,IBM,RedHatͳͲʣ͕ঝೝ
͓·͚ɿJava EE • SEͱಉ͘͡”༷” • ServletEJBͳͲɺSEΑΓଟ͘ͷػೳ • “Jakarta EE”ʹ໊લมΘΓ·ͨ͠ •
͏ͪͰͦΜͳΘͳ͍͔
JDK • JavaSEͷ༷Λ࣮ࡍʹ࣮ͨ͠ͷ
JDK • JavaSEͷ༷Λ࣮ࡍʹ࣮ͨ͠ͷ public final class String implements java.io.Serializable, Comparable<String>,
CharSequence { ... public String() { this.value = "".value; this.coder = "".coder; } ... https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/src/java.base/share/classes/java/lang/String.java
JDK • JavaSEͷ༷Λ࣮ࡍʹ࣮ͨ͠ͷ public final class String implements java.io.Serializable, Comparable<String>,
CharSequence { ... public String() { this.value = "".value; this.coder = "".coder; } ... https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/src/java.base/share/classes/java/lang/String.java ͜͜ʹՁ͕͋Δʂ
JDK • JavaSEͷ༷Λ࣮ࡍʹ࣮ͨ͠ͷ public final class String implements java.io.Serializable, Comparable<String>,
CharSequence { ... public String() { this.value = "".value; this.coder = "".coder; } ... https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/src/java.base/share/classes/java/lang/String.java ͜͜ʹՁ͕͋Δʂ
JDK • ༷ެ։ͱಉ࣌ʹྫͱͯ͠࡞͞ΕΔ࣮ɹ ʹࢀর࣮ • ࠷ۙͷJava SEͷࢀর࣮ʮOpenJDKʯ public final class
String implements java.io.Serializable, Comparable<String>, CharSequence { ... public String() { this.value = "".value; this.coder = "".coder; } ... https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/src/java.base/share/classes/java/lang/String.java Φʔϓϯιʔε
JRE(+JVM) • ࣮ࡍʹॻ͍ͨJavaʢclassϑΝΠϧʣΛ࣮ߦ͢ Δͷʹඞཁͳͷ • ࣍ͷͷΛแ͢Δ • ඪ४ϥΠϒϥϦͷclassϑΝΠϧʢJDKʣ • classϑΝΠϧͰOSʹࢦࣔΛ͢ΔʢJVMʣ
JRE(+JVM) JDK JVM • ͍͍ͩͨ͜Μͳ͔Μ͡ JRE
JRE(+JVM) JDK JVM • ͍͍ͩͨ͜Μͳ͔Μ͡ JRE ൣғ֎ɿ ίϯύΠϥͱ͔
JRE(+JVM) JDK JVM • ͍͍ͩͨ͜Μͳ͔Μ͡ JRE JDKͷൣғʂ
ͳΜͰJDKͰ͢Δͷ • Javaɿ;͍Μ͖ • Java SEɿΦʔϓϯͳ༷ॻ • JDKɿJava SEͷ࣮ •
JRE(+JVM)ɿJDKͷ͏࣮ͪߦʹඞཁͳ෦
ͳΜͰJDKͰ͢Δͷ • Javaɿ;͍Μ͖ • Java SEɿΦʔϓϯͳ༷ॻ • JDKɿJava SEͷ࣮ •
JRE(+JVM)ɿJDKͷ͏࣮ͪߦʹඞཁͳ෦ ݖརࠫଡ͕ൃੜ͢Δͷ ͜͜ʂ
ͳΜͰJDKͰ͢Δͷ 2018/12/26 @saikou9901