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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
300
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.3k
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
170
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
120
Foundation Models frameworkで画像分析
ryodeveloper
1
130
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
150
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
110
GitHubCopilotCLIのスラッシュコマンドを自作してみる
htkym
0
100
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
520
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
New Earth Scene 8
popppiees
3
2.4k
Optimizing for Happiness
mojombo
378
71k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
330
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
440
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Rails Girls Zürich Keynote
gr2m
96
14k
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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