Submit Search
Upload
Java9新機能概要
•
Download as PPT, PDF
•
10 likes
•
16,100 views
HonMarkHunt
Follow
2016/9/22 リリース(予定)の Java9 ざっくり概要です! *作成時は2015/11/29です。ご注意ください。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 55
Download now
Recommended
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
bitter_fox
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Yuji Kubota
Introduction to JShell #JavaDayTokyo #jdt_jshell
Introduction to JShell #JavaDayTokyo #jdt_jshell
bitter_fox
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
Yuji Kubota
OpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasual
Yuji Kubota
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介
Shinya Takebayashi
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
Yuji Kubota
Recommended
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
bitter_fox
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Yuji Kubota
Introduction to JShell #JavaDayTokyo #jdt_jshell
Introduction to JShell #JavaDayTokyo #jdt_jshell
bitter_fox
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
Yuji Kubota
OpenJDK トラブルシューティング #javacasual
OpenJDK トラブルシューティング #javacasual
Yuji Kubota
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介
Shinya Takebayashi
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
Yuji Kubota
Heap statsfx analyzer
Heap statsfx analyzer
Yasumasa Suenaga
Panamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶ
Yasumasa Suenaga
スレッドダンプの読み方
スレッドダンプの読み方
Funato Takashi
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
bitter_fox
Java 9で進化する診断ツール
Java 9で進化する診断ツール
Yasumasa Suenaga
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
Yuji Kubota
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
Takahiro YAMADA
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Koichi Sakata
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Norito Agetsuma
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
JustSystems Corporation
HeapStatsのデモ (Java The Night)
HeapStatsのデモ (Java The Night)
Yasumasa Suenaga
Java EE8 Report
Java EE8 Report
Norito Agetsuma
jjugccc2018 app review postmortem
jjugccc2018 app review postmortem
tamtam180
これからのNashorn
これからのNashorn
Logico
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
Norito Agetsuma
JDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjug
Yuji Kubota
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Kazuyuki Nakamura
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjug
Yuji Kubota
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
Ryusuke Kajiyama
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
XP祭り関西(2015)資料 : アジャイル導入の価値
XP祭り関西(2015)資料 : アジャイル導入の価値
Hikaru Taniguchi
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Y Watanabe
More Related Content
What's hot
Heap statsfx analyzer
Heap statsfx analyzer
Yasumasa Suenaga
Panamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶ
Yasumasa Suenaga
スレッドダンプの読み方
スレッドダンプの読み方
Funato Takashi
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
bitter_fox
Java 9で進化する診断ツール
Java 9で進化する診断ツール
Yasumasa Suenaga
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
Yuji Kubota
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
Takahiro YAMADA
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Koichi Sakata
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Norito Agetsuma
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
JustSystems Corporation
HeapStatsのデモ (Java The Night)
HeapStatsのデモ (Java The Night)
Yasumasa Suenaga
Java EE8 Report
Java EE8 Report
Norito Agetsuma
jjugccc2018 app review postmortem
jjugccc2018 app review postmortem
tamtam180
これからのNashorn
これからのNashorn
Logico
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
Norito Agetsuma
JDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjug
Yuji Kubota
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Kazuyuki Nakamura
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjug
Yuji Kubota
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
Ryusuke Kajiyama
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
What's hot
(20)
Heap statsfx analyzer
Heap statsfx analyzer
Panamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶ
スレッドダンプの読み方
スレッドダンプの読み方
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Java 9で進化する診断ツール
Java 9で進化する診断ツール
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
HeapStatsのデモ (Java The Night)
HeapStatsのデモ (Java The Night)
Java EE8 Report
Java EE8 Report
jjugccc2018 app review postmortem
jjugccc2018 app review postmortem
これからのNashorn
これからのNashorn
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
JDK9 新機能 (日本語&ショートバージョン) #jjug
JDK9 新機能 (日本語&ショートバージョン) #jjug
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Jdk9で変更になる(かも知れない)jvmオプションの標準設定
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjug
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Viewers also liked
XP祭り関西(2015)資料 : アジャイル導入の価値
XP祭り関西(2015)資料 : アジャイル導入の価値
Hikaru Taniguchi
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Y Watanabe
Migration from Swing to JavaFX
Migration from Swing to JavaFX
Yuichi Sakuraba
Java9 and Project Jigsaw
Java9 and Project Jigsaw
takezoe
Java を今すぐダウンロードしてみたお話
Java を今すぐダウンロードしてみたお話
YujiSoftware
4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗
toshihiro ichitani
Viewers also liked
(6)
XP祭り関西(2015)資料 : アジャイル導入の価値
XP祭り関西(2015)資料 : アジャイル導入の価値
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
Migration from Swing to JavaFX
Migration from Swing to JavaFX
Java9 and Project Jigsaw
Java9 and Project Jigsaw
Java を今すぐダウンロードしてみたお話
Java を今すぐダウンロードしてみたお話
4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗
Similar to Java9新機能概要
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
第1回(20170701)内容の振り返り(公開用)
第1回(20170701)内容の振り返り(公開用)
skowata
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Kengo Toda
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみた
Satoshi Kubo
実戦Scala
実戦Scala
Yuto Suzuki
JavaとRubyのすてきな関係
JavaとRubyのすてきな関係
garden_tree
Laravel / Lumen 次の一歩
Laravel / Lumen 次の一歩
Yuuki Takezawa
Dev love関西 forslideshare
Dev love関西 forslideshare
Daisuke Kasuya
Scalaでのプログラム開発
Scalaでのプログラム開発
Kota Mizushima
Javaに這いよる.NET
Javaに這いよる.NET
Hiroshi Maekawa
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
What is java_se_7
What is java_se_7
TakumiIINO
What is doobie? - database access for scala -
What is doobie? - database access for scala -
chibochibo
フロントエンド開発入門(React).pdf
フロントエンド開発入門(React).pdf
KSato2
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Taisuke Shiratori
ES6で始めるNode.js / Starting NodeJS Development with ES6
ES6で始めるNode.js / Starting NodeJS Development with ES6
Taro Odashima
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
Play勉強会 第3回
Play勉強会 第3回
Daisuke Kasuya
Similar to Java9新機能概要
(20)
PlayFramework1.x基礎編
PlayFramework1.x基礎編
第1回(20170701)内容の振り返り(公開用)
第1回(20170701)内容の振り返り(公開用)
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみた
実戦Scala
実戦Scala
JavaとRubyのすてきな関係
JavaとRubyのすてきな関係
Laravel / Lumen 次の一歩
Laravel / Lumen 次の一歩
Dev love関西 forslideshare
Dev love関西 forslideshare
Scalaでのプログラム開発
Scalaでのプログラム開発
Javaに這いよる.NET
Javaに這いよる.NET
java-ja TDD 2nd
java-ja TDD 2nd
What is java_se_7
What is java_se_7
What is doobie? - database access for scala -
What is doobie? - database access for scala -
フロントエンド開発入門(React).pdf
フロントエンド開発入門(React).pdf
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
ES6で始めるNode.js / Starting NodeJS Development with ES6
ES6で始めるNode.js / Starting NodeJS Development with ES6
Play jjug2012spring
Play jjug2012spring
Play勉強会 第3回
Play勉強会 第3回
More from HonMarkHunt
俺のTerraform CI/CD ライフサイクル
俺のTerraform CI/CD ライフサイクル
HonMarkHunt
CircleCI vs. CodePipeline
CircleCI vs. CodePipeline
HonMarkHunt
Introduce Shinjuku.LT
Introduce Shinjuku.LT
HonMarkHunt
I don't use kubernetes.
I don't use kubernetes.
HonMarkHunt
エンジニアのUI/UXはじめの一歩
エンジニアのUI/UXはじめの一歩
HonMarkHunt
怖くない!Implicit!
怖くない!Implicit!
HonMarkHunt
Netflixで見れるおすすめ作品10本
Netflixで見れるおすすめ作品10本
HonMarkHunt
アドテクやってるエンジニアだけど、どうしても伝えたいことがある。
アドテクやってるエンジニアだけど、どうしても伝えたいことがある。
HonMarkHunt
How to managed your kicks!!
How to managed your kicks!!
HonMarkHunt
新日本プロレスに学ぶエンジニアのキャリアプラン
新日本プロレスに学ぶエンジニアのキャリアプラン
HonMarkHunt
LINE Messaging apiと戯れる
LINE Messaging apiと戯れる
HonMarkHunt
正しい開発をする
正しい開発をする
HonMarkHunt
More from HonMarkHunt
(12)
俺のTerraform CI/CD ライフサイクル
俺のTerraform CI/CD ライフサイクル
CircleCI vs. CodePipeline
CircleCI vs. CodePipeline
Introduce Shinjuku.LT
Introduce Shinjuku.LT
I don't use kubernetes.
I don't use kubernetes.
エンジニアのUI/UXはじめの一歩
エンジニアのUI/UXはじめの一歩
怖くない!Implicit!
怖くない!Implicit!
Netflixで見れるおすすめ作品10本
Netflixで見れるおすすめ作品10本
アドテクやってるエンジニアだけど、どうしても伝えたいことがある。
アドテクやってるエンジニアだけど、どうしても伝えたいことがある。
How to managed your kicks!!
How to managed your kicks!!
新日本プロレスに学ぶエンジニアのキャリアプラン
新日本プロレスに学ぶエンジニアのキャリアプラン
LINE Messaging apiと戯れる
LINE Messaging apiと戯れる
正しい開発をする
正しい開発をする
Java9新機能概要
1.
Java9 Overview @HonMarkHunt
2.
@HonMarkHunt です。 スキル 経験: 1
年 ( くらい ) ずっと Java8 で実装 趣味 ・プロレス(見る) ・ダーツ(やる) ・激辛(食べる) ・総合格闘技(やってた)
3.
早速本題! Java9 新機能概要 ... の前に
4.
Java の歴史 1996 Ver 1.0 1998 Ver
1.2 2002 Ver 1.4 2000 Ver 1.3 2004 Ver 5.0 2006 Ver 6 2014 Ver 8 2011 Ver 7
5.
改めて
6.
Java9 新機能概要
7.
新機能一覧
8.
9.
10.
11.
12.
ちょwww
13.
落ち着け・・ 流れを知れば・・・
14.
大きな流れを知ろう Project Coin ・ try-with-resours ・
try-multi-catch Project Lamda ・ラムダ式 Project Jigsaw ・????
15.
Project Jigsaw 関連 その他の変更 *イメージです
16.
Java9 = Project Jigsaw
+ その他の変更
17.
その他の変更 個人的に『おぉ!』と思った 新機能 TOP 4
18.
第 4 位 JEP
254 : Lambda Expressions
19.
JEP 126 :
Lambda Expressions [Issue] ・まだまだ弱いぞ、 Java のクロージャー ・ GS Collection とか出てきちゃったよ! ・もっとメソッドほっしーー!
20.
JEP 126 :
Lambda Expressions [Solution] ・ takeWhile ・ dropWhile ・ ofNullable の追加 参考: http://qiita.com/k--kato/items/64967d2555f39aace608
21.
JEP 126 :
Lambda Expressions [Kansou] ・使い時が微妙 ・ Optional との連携とか欲しかったな
22.
第 3 位 JEP
254 : Compact Strings
23.
JEP 254: Compact
Strings [Issue] ・ String のメモリ消費量は意外とすごい ・文字列はヒープに占める割合が最も多いコン ポーネント ↓ ・旧時代 (1996 年 ) のコンピューター想定の メモリの持ち方をしている ため。
24.
JEP 254: Compact
Strings [Solution] ・文字列の内容に応じて、 ISO-8859-1/Latin-1 ( 1 文字 1 バイト)もしくは UTF-16 ( 1 文字 2 バイト)いずれ かでエンコードした文字列を格納 ・ UTF-16 の char 配列から byte 配列にエンコーディン グフラグのフィールドを追加したものへ、変更 ↓ ・メモリフットプリントの削減、 GC 発生の相当な 減少、その他細かい場合では小規模なパフォーマンス 向上 参考: http://qiita.com/k--kato/items/64967d2555f39aace608
25.
JEP 254: Compact
Strings [kansou] ・コード書く側が意識することはないけど、 メモリ使用量が減るのは良い事だ! ・ Java10(Project Vallhara), Java11(Project Panama) もコンピュータの性能とかメモリ関連 の話だった気がする。今後の Java のテーマな のかな?
26.
第 2 位 JEP
225 : Javadoc Search
27.
JEP 225 :
Javadoc Search [Issue] ・検索めんど くせえよ!!
28.
JEP 225 :
Javadoc Search 検索 [Solution]
29.
JEP 225 :
Javadoc Search [Kansou]
30.
第 1 位 JEP
222: jshell : The Java Shell (Read-Eval-Print Loop)
31.
REPL( れぷる )
って何? ・読んで (Read) 、評価して (Eval) 、 表示する (Print) 。を繰り返す (Loop) 。 ・一行書いてタァーーンッ‼一行書いてタァーーンッ‼ を繰り返す ( スタバでやるとモテそう ) 。
32.
JEP 222 :
jshell [Issue] ・ Scala, Ruby, JavaScript, Haskell, Clojure, Python には REPL はとっくに存在する ・コードをちょっと書きたいときメンドイ ・実は Java はラーニングコストが高い ( 気軽 に始められない ) ↓ ・プログラム初心者が Java で "Hello World" 出すまでを考えてみて。。
33.
JEP 222 :
jshell [Solution] demo
34.
jdk9 配下の bin
直下に jshell が入っています。 こちらから DownLoad できます https://jdk9.java.net/download/
35.
すかさず Enter で起動!タアアァアーン!!
36.
HelloWorld してみます
37.
↑Tab の補完も効きます
38.
↑ また Tab
で補完
39.
実行してみます ( セミコロン不要
)
40.
できました!!! 以上
41.
JEP 222 :
jshell [Kansou] ・どっとインストール見ながら、書いてみたり して捗りそう ・補完が意外と効いて割とすらすら書ける ・逆に勉強以外ケース ( 業務 ) では、特に使えな いかな
42.
と、言うわけで
43.
お待たせいたしました。
44.
What's Project Jigsaw
?
45.
Issue • クラスパスやばい • ふぇぇ。
Jar ファイルしゅごいよぉお。 = JarHell
46.
Solution Java を大規模プログラミングへよりよく対 応させるために Java
言語を拡張。 グループ化や依存関係、バージョン管理な どを表現できるハイレベルのモジュール 構造を実現するために改良を行うプロ ジェクトを提供します。
47.
48.
つまり
49.
これを Hadoop のクラスパ ス
50.
すっきりさせたい。
51.
そのために、 モジュールという概念を導入します。
52.
モジュール化でこうなります - プロジェクト -
ソースフォルダ - パッケージ - エイドリアン .java - プロジェクト - ソースフォルダ - モジュール - module-info.java - パッケージ - エイドリアン .java Legacy Java9 *わかりやすくするために、 Eclipse のディレクトリ構成っぽくしてい
53.
モジュール化でこうなります - プロジェクト -
ソースフォルダ - パッケージ - エイドリアン .java - プロジェクト - ソースフォルダ - モジュール - module-info.java - パッケージ - エイドリアン .java Legacy Java9この、 module-info.java にクラスパス毎の 依存関係を書いて いくよ
54.
ざっとこんな感じです。
55.
まとめ • Java9 には『うおお!』となるような、革 新的な目玉機能はありません。 •
ジェットパックではなく、シートベルト 。 • モジュール化の説明は本当にざっくりな ので、興味があれば調べてください。 • ありがとうございました!!!!!!!
Download now