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
180
誰も教えてくれなかったSEとしてただ一つ必要なこと
kojisaiki
0
480
真・なぜ誰もこう書いてくれないDependency Injection入門
kojisaiki
0
800
なぜ誰もこう書いてくれない Dependency Injection
kojisaiki
5
1.9k
Other Decks in Programming
See All in Programming
その節約、円になってますか?
isamumumu
1
640
テーブルをDELETEした
yuzneri
0
130
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
930
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
110
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
130
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
130
継続モナドとリアクティブプログラミング
yukikurage
3
670
霧の中の代数的エフェクト
funnyycat
1
450
Android CLI
fornewid
0
200
AIが無かった頃の素敵な出会いの話
codmoninc
1
340
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Why Our Code Smells
bkeepers
PRO
340
58k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
430
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Technical Leadership for Architectural Decision Making
baasie
3
450
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
240
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Balancing Empowerment & Direction
lara
6
1.2k
The browser strikes back
jonoalderson
0
1.4k
GitHub's CSS Performance
jonrohan
1033
470k
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