Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Why is the subject of the story about Java supp...
Search
Koji Saiki
December 26, 2018
Programming
150
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
100
Angular で PCF した話
kojisaiki
0
580
いまどきのSIer的品質向上
kojisaiki
0
170
誰も教えてくれなかったSEとしてただ一つ必要なこと
kojisaiki
0
480
真・なぜ誰もこう書いてくれないDependency Injection入門
kojisaiki
0
800
なぜ誰もこう書いてくれない Dependency Injection
kojisaiki
5
1.9k
Other Decks in Programming
See All in Programming
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
130
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
140
初めてのKubernetes 本番運用でハマった話
oku053
0
120
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
240
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
250
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.6k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
200
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
210
関数型プログラミングのメリットって何だろう?
wanko_it
0
140
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
180
Performance Engineering for Everyone
elenatanasoiu
0
260
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
210
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Music & Morning Musume
bryan
47
7.3k
Become a Pro
speakerdeck
PRO
31
6k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Building AI with AI
inesmontani
PRO
1
1.1k
The browser strikes back
jonoalderson
0
1.4k
Leo the Paperboy
mayatellez
8
1.9k
Technical Leadership for Architectural Decision Making
baasie
3
430
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
A better future with KSS
kneath
240
18k
Abbi's Birthday
coloredviolet
3
8.5k
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