SlideShare a Scribd company logo
1 of 93
Download to read offline
JVM言語とJava、
切っても切れない
その関係
JJUG CCC 2016 fall
#ccc_f6
@yy_yank
#ccc_f6 #jjug_ccc
でつぶやいてください
[工事中]
あわせて読みたい↓
つぶやいてもらった内容も合わせてご覧ください
http://togetter.com/li/1055491
ハッシュタグ
自己紹介
ヤンク(@yy_yank)
        こいつです
        ・JJUG CCC登壇2回目
        ・vi好き
        ・でもサクラエディタicon
        ・JavaとKotlinが好き
Java
は好きですか?
JVM言語は
好きですか?
JVM言語って何?と
いうところから
網羅的に話をしたい
セッションです
ですが、その前に
・各位仲良く(というか切磋琢磨)
・JavaもJVM言語もそれぞれ尊重しよう
・お互いの成長がお互いの成長を促す
言いたいことを先に言っておく
・Javaの後方互換性の維持はすごい
→だから安心してJVM言語がJVMを利
用出来ている
・breaking changesばかりなら誰もJVM
なんて使わない
信頼と実績のJava、そしてJVM
???「Javaは要らない、JVMだけあれば
いい」
→そうもいかない。
JVMもJavaの一部
必要なのはJVM?
James Gosling
” Most people talk about Java the language,
and this may sound odd coming from me, but
I could hardly care less. At the core of the
Java ecosystem is the JVM. “
大体の人が「Javaという言語」に
ついて話すけど興味ない(オマエ
が言うなって言われそうだけど)。
Javaのエコシステムのコアは
JVMだ。
Javaのエコシステムのコア
http://freefeast.info/personality-motivation/famous_it_personalities/history-of-james-gosling-father-of-java-java-creator/より引用
…というのは
冗談として
言いたいことを先に言っておく
・Javaが嫌いとかJavaが良くないとかそういう意見
の人がいるのはしょうがない
良くも悪くもJavaは古い言語
・しかしJVMを利用出来ている意味を考えても良
いかなとは思う
・JVMが開放されていること、JVM Languageをサ
ポートする姿勢が少なからずあること
そろそろ本題に…
アジェンダ
1.JVM言語とは
2.JVM言語の歴史
3.JVM言語の仕組み
4.JVM言語とJava
5.ランタイムとエコシステム
6.これからのJVM言語とJava
アジェンダ
1.JVM言語とは
2.JVM言語の歴史
3.JVM言語の仕組み
4.JVM言語とJava
5.ランタイムとエコシステム
6.これからのJVM言語とJava
JVM言語に軸をおいて
Javaとの関係性と双方
の将来について考えま
す
アジェンダ
1.JVM言語とは
2.JVM言語の歴史
3.JVM言語の仕組み
4.JVM言語とJava
5.ランタイムとエコシステム
6.これからのJVM言語とJava
1.JVM言語とは
・JVM(Java Virtual Machine)上で実行
可能なプログラミング言語のこと
・Javaの.classなbyteコードを出力する
Xtendは例外
大きく2つ
1.既存の言語のJVM上で動く版
ex) JRuby, Jythonなど
2.新しい言語
ex) Scala, Groovy, Clojureなど
1.JVM言語とは
1.JVM言語とは
JRuby
Rubyと同じ
1.JVM言語とは
Jython
Pythonと同じ
1.JVM言語とは
Scala
1.JVM言語とは
Groovy
Clojure
2.JVM言語の歴史
・JVM言語の何が嬉しい?
ボイラープレートを減らせる(better Java)
Javaのライブラリが使える(使わなくても良い)
Javaのビルドツールが使える(使わなくても良い)
JVM上で動く
プログラミングだけ変わり、大雑把には
ビルド・デプロイは今まで通り
1.JVM言語とは
・JVM言語の何が嬉しい?
ボイラープレートを減らせる(better Java)
Javaのライブラリが使える(使わなくても良い)
Javaのビルドツールが使える(使わなくても良い)
JVM上で動く
プログラミングだけ変わり、大雑把には
ビルド・デプロイは今まで通り
1.JVM言語とは
逆にJavaからも
JVM言語の資産を呼び
出したりも出来ます!
JVM言語って
どのぐらいあるの?
・JVM言語ってどのぐらいの数の種類があるの?
→60ぐらいかもしれない。
参照)
https://en.wikipedia.org/wiki/List_of_JVM_lan
guages
ただ、コレ以外にもたくさんある。
どこかの論文には100とか書いてあった。
1.JVM言語とは
日本のJVM言語自作勢
onion(kmizuさん)
https://github.com/onionlang/onion
kink(miyakawa_takuさん)
https://bitbucket.org/kink/kink
Stew5(arguisさん)
https://github.com/argius/Stew5
1.JVM言語とは
アジェンダ
1.JVM言語とは
2.JVM言語の歴史
3.JVM言語の仕組み
4.JVM言語とJava
5.ランタイムとエコシステム
6.これからのJVM言語とJava
JVM言語って
いつからあると思いますか?
・案外古い
・1996年のJavaの1.5の時代頃
→KawaやNetRexx
少しこの2言語について紹介
2.JVM言語の歴史
Kawa
・Scheme実装の動的型付けのスクリプト言語。コ
ンパイルするとJavaバイトコードを出力
・Androidでも動くらしい。
開発は現在も続いている
(2015/10月が直近のリリース)
2.JVM言語の歴史
Kawa
2.JVM言語の歴史
NetRexx
・JavaとRexx(IBM社製のプログラミング
言語。IBMのOSなどで利用されている)
にインスパイアされた言語
2.JVM言語の歴史
NetRexx
2.JVM言語の歴史
1996年Kawa,NetRexx
2000年Jython
2001年Scala
2002年Nice,Gosu
2003年JSR223(Scripting for
the Java)Review Ballot
2003年Groovy
2003年JSR223(Scripting for
the Java)Final Release
2005年Fantom(Fan)
2.JVM言語の歴史
2004年JSR241(the Groovy Programming
Language) ->Dormant
JudoScript,Jamaica
2006年JRuby
2006年JSR292(invoke dynamic)Review
Ballot
2007年Clojure
2011年Kotlin,Frege,miragh,Ceylon
2011年JSR292(invoke dynamic)Final
Release
2013年Goro
1996年Kawa,NetRexx
2000年Jython
2001年Scala
2002年Nice,Gosu
2003年JSR223(Scripting for
the Java)Review Ballot
2003年Groovy
2003年JSR223(Scripting for
the Java)Final Release
2005年Fantom(Fan)
2.JVM言語の歴史
2004年JSR241(the Groovy Programming
Language) ->Dormant
JudoScript,Jamaica
2006年JRuby
2006年JSR292(invoke dynamic)Review
Ballot
2007年Clojure
2011年Kotlin,Frege,miragh,Ceylon
2011年JSR292(invoke dynamic)Final
Release
2013年Goro
1996年Kawa,NetRexx
2000年Jython
2001年Scala
2002年Nice,Gosu
2003年JSR223(Scripting for
the Java)Review Ballot
2003年Groovy
2003年JSR223(Scripting for
the Java)Final Release
2005年Fantom(Fan)
2.JVM言語の歴史
2004年JSR241(the Groovy Programming
Language) ->Dormant
JudoScript,Jamaica
2006年JRuby
2006年JSR292(invoke dynamic)Review
Ballot
2007年Clojure
2011年Kotlin,Frege,miragh,Ceylon
2011年JSR292(invoke dynamic)Final
Release
2013年Goro
各言語のサイトやネット上の情報を
もとに独自に年表化したものです。
正確性を欠く可能性があるので
ご注意下さい。
・JSR223(Scripting for the Java)
→Javaでスクリプト言語を使えるようにしよう
・JSR241(the Groovy Programming Language)
→GroovyをJDKに入れよう(却下された)
・JSR292(invoke dynamic)
→JVM上での動的言語サポートとするため
invoke dynamic命令を追加しよう
2.JVM言語の歴史
https://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-java-scala-groovy-fantom-clojure-ceylon-ko
tlin-xtend/より引用
2.JVM言語の歴史
https://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-java-scala-groovy-fantom-clojure-ceylon-ko
tlin-xtend/より引用
2.JVM言語の歴史CeylonもKotlinももうメ
ジャーバージョンが出て
います
(2016年12月現在)
・第1世代的にJRuby、Groovy、Scalaが目立つ
→JSRはJRubyを中心に動いている(ように見える)
→2007年にGradleがinitial release
→2009年Twitter社がScalaをプロダクト投入など
2.JVM言語の歴史
・第2世代的にClojureも根強い感じ
→ウォルマートなどで商用利用されている
・第3世代的にFrege、Kotlinなど
→FregeはJavaOneなどでもいくつかセッションが行
われている。
→KotlinはAndroid開発で欧米、
アジア圏などで利用されるシーンが増加
2.JVM言語の歴史
・第2世代的にClojureも根強い感じ
→ウォルマートなどで商用利用されている
・第3世代的にFrege、Kotlinなど
→FregeはJavaOneなどでもいくつかセッションが行
われている。
→KotlinはAndroid開発で欧米、
アジア圏などで利用されるシーンが増加
2.JVM言語の歴史
このあたりは発表者の感
覚値が強いので、
識者の方々、ツッコミを下
さい
Frege
2.JVM言語の歴史
main :: IO ()
main = do putStrLn "Hello world.
Frege is a lot of fun!"
Kotlin
2.JVM言語の歴史
アジェンダ
1.JVM言語とは
2.JVM言語の歴史
3.JVM言語の仕組み
4.JVM言語とJava
5.ランタイムとエコシステム
6.これからのJVM言語とJava
・独自の拡張子、文法を解釈するコンパイラが
・ソースコードをJavaのクラスバイトコードとして出力
する
3.JVM言語の仕組み
・元々、JVMはJavaを利用することのみを想定して
作られている
・つまりJavaのバイトコードしか理解できない
・JVM言語はJavaと同等のバイトコードを作る必要
がある
3.JVM言語の仕組み
https://zeroturnaround.com/rebellabs/java-bytecode-in-practice-by-rafael-winterhalter/より引用
http://alandipert.github.io/oscon2012-clojure/より引用
Clojureはちょっと違う
論よりコードだろ、という人はこちらを参照
「JVMコードリーディング入門-JVMのOS抽象化レイヤー
について-」
http://www.slideshare.net/torazuka/jvm-28095989
3.JVM言語の仕組み
・動的言語はインライン化、optimizationなどがされ
にくく処理実行時の速度が遅くなってしまいがちであ
る
・invoke dynamicによって可能な部分はインライン化
することで動的言語の処理も向上している
3.JVM言語の仕組み
・JavaとJVM言語のベンチマークや最適化の話は
Workload Charactersization of JVM languages
という論文が面白い
ベンチマークサイトなどで確認も可能
http://benchmarksgame.alioth.debian.org
3.JVM言語の仕組み
アジェンダ
1.JVM言語とは
2.JVM言語の歴史
3.JVM言語の仕組み
4.JVM言語とJava
5.ランタイムとエコシステム
6.これからのJVM言語とJava
・JVM言語開発者がJava仕様に関わっている
・Javaの仕様がJVM言語の言語設計を見本にしよう
としている
・JVM言語のためのJSRもある
・Javaが健全に進歩することはJVM言語の
進歩につながる
4.JVM言語とJava
・NetRexxの作者の Mike Cowlishaw
→JSR 13(BigDecimal)の関係者
・invoke dynamicがlambda expressionに影響を与
える
・ScalaをつくっているLightbend社
Reactive Streams(JEP 266)
を主導している
4.JVM言語とJava
意外とJava関係者だらけ
アジェンダ
1.JVM言語とは
2.JVM言語の歴史
3.JVM言語の仕組み
4.JVM言語とJava
5.ランタイムとエコシステム
6.これからのJVM言語とJava
・JVMはJavaのバイトコードのみを想定して作られて
いる
・JVM言語は自言語のエコシステムとJavaのエコシ
ステムを利用することが可能
・JVM言語は自言語のライブラリとJavaのライブラリ
を利用することが可能
5.ランタイムとエコシステム
JavaとJVM言語のエコシステム
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
JavaとJVM言語のエコシステム
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
Java
Jython,JRuby,Groovy,Scala
,Kotlin,Ceylon,Fantom,Nice,Judo,Mirage
Frege……………..
JavaとJVM言語のエコシステム
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
ant
Maven
Gradle
sbt
Leiningen
Grape
….
JavaとJVM言語のエコシステム
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
ビルドツールを使わない選択もある
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
Javaのライブラリ・フレームワークを使うという選択もある
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
左側は全然興味ない!みたいな人もいる
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
でも仕様策定はこの範囲で進む
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
でも仕様策定はこの範囲で進む
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
JCP主導でJSRが決定
OpenJDKベースで
開発が進む
例えば・・・・・
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
例えば・・・・・
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
Java、開発辞めるってよ
例えば・・・・・
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
えっ、ちょ、そんな
例えば・・・・・
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
〜(  ε:)0
〜(  ε:)0
例えば・・・・・
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
〜(  ε:)0
〜(  ε:)0
〜(  ε:)0
〜(  ε:)0〜(  ε:)0
〜(  ε:)0
〜(  ε:)0
例えば・・・・・
5.ランタイムとエコシステム
JVM LanguageJava
Library・FrameworkLibrary・Framework
build toolbuild tool
JVM
〜(  ε:)0
〜(  ε:)0
〜(  ε:)0
〜(  ε:)0〜(  ε:)0
〜(  ε:)0
〜(  ε:)0
おお じゃばよ しんでしまうとはふがいない!
なんてストーリーもあるかもしれませんが
実際にはそんなことはないだろうし
どこかのFoundationなり会社が開発を続けるでしょ
う
・・・とか考えると
Javaの未来って
JVM言語の未来です
アジェンダ
1.JVM言語とは
2.JVM言語の歴史
3.JVM言語の仕組み
4.JVM言語とJava
5.ランタイムとエコシステム
6.これからのJVM言語とJava
1.JVM言語のパラダイムがJava言語のパラダイムへ影
響する
2.JVM言語の開発者がJava仕様へ貢献する
3.Java(=JVMやJava 標準API)の発展がJVM言語の
土台となるため、結果的にJVM言語の助けになる
JavaはJVM言語にとってインフラである
6.これからのJVM言語とJava
冒頭の内容を再掲
・各位仲良く(というか切磋琢磨)
・JavaもJVM言語もそれぞれ尊重しよう
・お互いの成長がお互いの成長を促す
6.これからのJVM言語とJava
・JavaがあってこそあなたはJVM言語に魅力を感じているはず
・Javaが良くならなければJVM言語は更に良くはならない
・JVM言語が外部から刺激を与えることでJavaの活性化にもつな
がる
・どちらも切っては切れない
→両方に貢献する姿勢を持つのが幸せになる方法
あなたが好きなJavaあるいは(JVM言語)の今後の
発展につながる
6.これからのJVM言語とJava
Java Side
- JCP
- User Group
- Open JDK
・不平も不満も要望も貢献(contribute)で
示していきましょう
6.これからのJVM言語とJava
JVM Language Side
- Community
- User Group
- Source Repository
Java EE Guardians
6.これからのJVM言語とJava
JVM Language Summit
6.これからのJVM言語とJava
JavaOne
6.これからのJVM言語とJava
Javaを知るために
JVM言語をもっと知ろう
JVM言語を知るために
Javaをもっと知ろう
Java and JVM lang and you
あなたとJavaとJVM言語、
今すぐダウンロー
ド
ありがとうございました
サイト
https://www.oracle.com/javaone/index.html
http://groovy-lang.org/structure.html
http://www.scala-lang.org/documentation/getting-started.html
http://www.ibm.com/developerworks/java/tutorials/j-jython1/j-jython1.html
https://en.wikipedia.org/wiki/Nice_(programming_language)
https://en.wikipedia.org/wiki/Gosu_(programming_language)
http://www.judoscript.org/relnote.html
http://npnl.hatenablog.jp/entry/20101017/1287344928
http://www.judoscript.org/articles/jamaica.html
http://nice.sourceforge.net/roadmap.html
https://en.wikipedia.org/wiki/List_of_JVM_languages
https://www.infoq.com/jp/news/2011/04/new-jvm-lang
http://blogs.itmedia.co.jp/ogura/2006/09/beyond_java_d458.html
https://en.wikipedia.org/wiki/Clojure
http://fantom.org/doc/docIntro/StartHere.html
https://ja.wikipedia.org/wiki/Fantom_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%8
0%E8%AA%9E)
参考文献、およびサイト
参考文献、およびサイト
サイト
https://zeroturnaround.com/rebellabs/java-bytecode-in-practice-by-rafael-winterhalter/
http://benchmarksgame.alioth.debian.org
http://illust-hp.com/%E6%8F%A1%E6%89%8B%EF%BC%88%E3%81%82%E3%81%8F%E3%81%97%E3%82%85%EF%BC%89%E3%83%9E%E3%
83%BC%E3%82%AF%E7%B4%A0%E6%9D%90-%E7%B5%86%E3%80%81%E5%8F%8B%E5%A5%BD%E3%80%81%E8%A6%AA%E4%BA%A4%E
3%80%81/
https://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-java-scala-groovy-fantom-clojure-ceylon-kotlin-xten
d/
http://openjdk.java.net/projects/mlvm/jvmlangsummit/
https://javaee-guardians.io/
https://kimh.github.io/clojure-by-example
http://tomassetti.me/getting-started-with-frege-hello-world-and-basic-setup-using-maven/
http://try.kotlinlang.org/
論文
JVM-hosted languages:they talk the talk,but do they walk the walk?
Characteristics of Dynamic JVM languages
Workload Charactersization of JVM languages
NetRexx Language Supplement
特許
Bytecode modification redhat
JSRとJEP
JSR13(https://www.jcp.org/en/jsr/detail?id=13)
JSR223(https://www.jcp.org/en/jsr/detail?id=223)
JSR241(https://www.jcp.org/en/jsr/detail?id=241)
JSR292(https://www.jcp.org/en/jsr/detail?id=292)
JEP266(http://openjdk.java.net/jeps/266)
参考文献、およびサイト

More Related Content

What's hot

AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) Satoshi Nagayasu
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話JustSystems Corporation
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)Takeshi Mikami
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティスAmazon Web Services Japan
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング佑哉 廣岡
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装de:code 2017
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返りSotaro Kimura
 
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねクラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねYoshioSawada
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方Recruit Lifestyle Co., Ltd.
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSyncAmazon Web Services Japan
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)NTT DATA Technology & Innovation
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テストTakahiro Moteki
 
もう怖くない。実例で学ぶAwsでのサイジングと料金計算
もう怖くない。実例で学ぶAwsでのサイジングと料金計算もう怖くない。実例で学ぶAwsでのサイジングと料金計算
もう怖くない。実例で学ぶAwsでのサイジングと料金計算Takuya Tachibana
 

What's hot (20)

AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
 
Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版Yahoo! JAPANのOracle構成-2017年版
Yahoo! JAPANのOracle構成-2017年版
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
 
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねクラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよね
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
 
20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync20190821 AWS Black Belt Online Seminar AWS AppSync
20190821 AWS Black Belt Online Seminar AWS AppSync
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
 
もう怖くない。実例で学ぶAwsでのサイジングと料金計算
もう怖くない。実例で学ぶAwsでのサイジングと料金計算もう怖くない。実例で学ぶAwsでのサイジングと料金計算
もう怖くない。実例で学ぶAwsでのサイジングと料金計算
 

Viewers also liked

Polyglot on the JVM with Graal (Japanese)
Polyglot on the JVM with Graal (Japanese)Polyglot on the JVM with Graal (Japanese)
Polyglot on the JVM with Graal (Japanese)Logico
 
Kotlinことはじめ -まずは触って動かしてみよう-
Kotlinことはじめ  -まずは触って動かしてみよう-Kotlinことはじめ  -まずは触って動かしてみよう-
Kotlinことはじめ -まずは触って動かしてみよう-CASAREAL, Inc.
 
Kotlinソースコード探訪
Kotlinソースコード探訪Kotlinソースコード探訪
Kotlinソースコード探訪yy yank
 
KotlinJSって正直どうなん
KotlinJSって正直どうなんKotlinJSって正直どうなん
KotlinJSって正直どうなんHiroshi Kikuchi
 
入門core.async
入門core.async入門core.async
入門core.asyncsohta
 
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?Takakiyo Tanaka
 
言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたことTaku Miyakawa
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyTakakiyo Tanaka
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)Ikuru Kanuma
 
U-NEXT学生インターン、過激なJavaの学び方と過激な要求
U-NEXT学生インターン、過激なJavaの学び方と過激な要求U-NEXT学生インターン、過激なJavaの学び方と過激な要求
U-NEXT学生インターン、過激なJavaの学び方と過激な要求hajime funaki
 
2017spring jjug ccc_f2
2017spring jjug ccc_f22017spring jjug ccc_f2
2017spring jjug ccc_f2Kazuhiro Wada
 
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Hiroyuki Ohnaka
 
VMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VMVMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VMyy yank
 
Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Kosuke Kida
 
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.JustSystems Corporation
 
Java libraries you can't afford to miss
Java libraries you can't afford to missJava libraries you can't afford to miss
Java libraries you can't afford to missAndres Almiray
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
 
Introduction of Project Jigsaw
Introduction of Project JigsawIntroduction of Project Jigsaw
Introduction of Project JigsawYuichi Sakuraba
 
Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)Logico
 

Viewers also liked (20)

Polyglot on the JVM with Graal (Japanese)
Polyglot on the JVM with Graal (Japanese)Polyglot on the JVM with Graal (Japanese)
Polyglot on the JVM with Graal (Japanese)
 
Kotlinことはじめ -まずは触って動かしてみよう-
Kotlinことはじめ  -まずは触って動かしてみよう-Kotlinことはじめ  -まずは触って動かしてみよう-
Kotlinことはじめ -まずは触って動かしてみよう-
 
Kotlinソースコード探訪
Kotlinソースコード探訪Kotlinソースコード探訪
Kotlinソースコード探訪
 
KotlinJSって正直どうなん
KotlinJSって正直どうなんKotlinJSって正直どうなん
KotlinJSって正直どうなん
 
入門core.async
入門core.async入門core.async
入門core.async
 
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
 
言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere Liberty
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)
 
U-NEXT学生インターン、過激なJavaの学び方と過激な要求
U-NEXT学生インターン、過激なJavaの学び方と過激な要求U-NEXT学生インターン、過激なJavaの学び方と過激な要求
U-NEXT学生インターン、過激なJavaの学び方と過激な要求
 
2017spring jjug ccc_f2
2017spring jjug ccc_f22017spring jjug ccc_f2
2017spring jjug ccc_f2
 
Jjug ccc
Jjug cccJjug ccc
Jjug ccc
 
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
 
VMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VMVMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VM
 
Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1
 
Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.Kotlin is charming; The reasons Java engineers should start Kotlin.
Kotlin is charming; The reasons Java engineers should start Kotlin.
 
Java libraries you can't afford to miss
Java libraries you can't afford to missJava libraries you can't afford to miss
Java libraries you can't afford to miss
 
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
 
Introduction of Project Jigsaw
Introduction of Project JigsawIntroduction of Project Jigsaw
Introduction of Project Jigsaw
 
Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)
 

Similar to Jvm言語とJava、切っても切れないその関係

【こっそり始める】Javaプログラマコーディングマイグレーション
【こっそり始める】Javaプログラマコーディングマイグレーション【こっそり始める】Javaプログラマコーディングマイグレーション
【こっそり始める】Javaプログラマコーディングマイグレーションyy yank
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Yasuharu Hayami
 
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷JavaTomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷JavaNorito Agetsuma
 
これからのJavaのとっかかりを掴む #jdt51 #kanjava
これからのJavaのとっかかりを掴む #jdt51 #kanjavaこれからのJavaのとっかかりを掴む #jdt51 #kanjava
これからのJavaのとっかかりを掴む #jdt51 #kanjavairof N
 
JavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンJavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンShinya Mochida
 
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!Kazkuki Oakamoto
 
JVM のいろはにほ #javajo
JVM のいろはにほ #javajoJVM のいろはにほ #javajo
JVM のいろはにほ #javajoYuji Kubota
 
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho ltNetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho ltMasatoshi Tada
 

Similar to Jvm言語とJava、切っても切れないその関係 (9)

【こっそり始める】Javaプログラマコーディングマイグレーション
【こっそり始める】Javaプログラマコーディングマイグレーション【こっそり始める】Javaプログラマコーディングマイグレーション
【こっそり始める】Javaプログラマコーディングマイグレーション
 
Javaに這いよる.NET
Javaに這いよる.NETJavaに這いよる.NET
Javaに這いよる.NET
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
 
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷JavaTomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
 
これからのJavaのとっかかりを掴む #jdt51 #kanjava
これからのJavaのとっかかりを掴む #jdt51 #kanjavaこれからのJavaのとっかかりを掴む #jdt51 #kanjava
これからのJavaのとっかかりを掴む #jdt51 #kanjava
 
JavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターンJavaのStreamで学ぶ遅延処理実装パターン
JavaのStreamで学ぶ遅延処理実装パターン
 
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!
 
JVM のいろはにほ #javajo
JVM のいろはにほ #javajoJVM のいろはにほ #javajo
JVM のいろはにほ #javajo
 
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho ltNetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
NetBeansでかんたんJava EE ○分間クッキング! #kuwaccho lt
 

More from yy yank

Javaプログラマのための頑張らないGo入門
Javaプログラマのための頑張らないGo入門Javaプログラマのための頑張らないGo入門
Javaプログラマのための頑張らないGo入門yy yank
 
Javaで最強のfizz buzz
Javaで最強のfizz buzzJavaで最強のfizz buzz
Javaで最強のfizz buzzyy yank
 
KuromojiをKotlinで動かす
KuromojiをKotlinで動かすKuromojiをKotlinで動かす
KuromojiをKotlinで動かすyy yank
 
Doma2 with Kotlin
Doma2 with KotlinDoma2 with Kotlin
Doma2 with Kotlinyy yank
 
絶対にぬるぽを出さない
絶対にぬるぽを出さない絶対にぬるぽを出さない
絶対にぬるぽを出さないyy yank
 
Kotlinこんなん出ましたけど
Kotlinこんなん出ましたけどKotlinこんなん出ましたけど
Kotlinこんなん出ましたけどyy yank
 
Kotlinあるある言いたい
Kotlinあるある言いたいKotlinあるある言いたい
Kotlinあるある言いたいyy yank
 
Kotlinメジャーver リリースを前に
Kotlinメジャーver リリースを前にKotlinメジャーver リリースを前に
Kotlinメジャーver リリースを前にyy yank
 
Server Side Kotlin
Server Side KotlinServer Side Kotlin
Server Side Kotlinyy yank
 

More from yy yank (9)

Javaプログラマのための頑張らないGo入門
Javaプログラマのための頑張らないGo入門Javaプログラマのための頑張らないGo入門
Javaプログラマのための頑張らないGo入門
 
Javaで最強のfizz buzz
Javaで最強のfizz buzzJavaで最強のfizz buzz
Javaで最強のfizz buzz
 
KuromojiをKotlinで動かす
KuromojiをKotlinで動かすKuromojiをKotlinで動かす
KuromojiをKotlinで動かす
 
Doma2 with Kotlin
Doma2 with KotlinDoma2 with Kotlin
Doma2 with Kotlin
 
絶対にぬるぽを出さない
絶対にぬるぽを出さない絶対にぬるぽを出さない
絶対にぬるぽを出さない
 
Kotlinこんなん出ましたけど
Kotlinこんなん出ましたけどKotlinこんなん出ましたけど
Kotlinこんなん出ましたけど
 
Kotlinあるある言いたい
Kotlinあるある言いたいKotlinあるある言いたい
Kotlinあるある言いたい
 
Kotlinメジャーver リリースを前に
Kotlinメジャーver リリースを前にKotlinメジャーver リリースを前に
Kotlinメジャーver リリースを前に
 
Server Side Kotlin
Server Side KotlinServer Side Kotlin
Server Side Kotlin
 

Jvm言語とJava、切っても切れないその関係