SlideShare a Scribd company logo
1 of 47
Download to read offline
mbed fest 2013
- Nagoya, Yokohama, Sapporo JPN
13年9月17日火曜日
軽量Java VMで動かす
Cortex-M0+とその利点
13年9月17日火曜日
• プロセッサ非依存開発環境
• インタプリタを自作すると良い事ひとつも無い
• 主要なVM紹介
• JVMで動くのはJavaだけ?
• RaVem JVM
• 競合するJVM比較
• バイトコードの概要
• メモリ管理とガーベジコレクション
• マルチスレッドに対応する
• オリジナル関数(メソッド)追加方法
Agenda
13年9月17日火曜日
• プロセッサ非依存開発環境
• インタプリタを自作すると良い事ひとつも無い
• 主要なVM紹介
• JVMで動くのはJavaだけ?
• RaVem JVM
• 競合するJVM比較
• バイトコードの概要
• メモリ管理とガーベジコレクション
• マルチスレッドに対応する
• オリジナル関数(メソッド)追加方法
Agenda
13年9月17日火曜日
• プロセッサ非依存開発環境
• インタプリタを自作すると良い事ひとつも無い
• 主要なVM紹介
• JVMで動くのはJavaだけ?
• RaVem JVM
• 競合するJVM比較
• バイトコードの概要
• メモリ管理とガーベジコレクション
• マルチスレッドに対応する
• オリジナル関数(メソッド)追加方法
Agenda
Java VMの仕組みとmbed上での動作確認
13年9月17日火曜日
• プロセッサ非依存開発環境
• インタプリタを自作すると良い事ひとつも無い
• 主要なVM紹介
• JVMで動くのはJavaだけ?
• RaVem JVM
• 競合するJVM比較
• バイトコードの概要
• メモリ管理とガーベジコレクション
• マルチスレッドに対応する
• オリジナル関数(メソッド)追加方法
Agenda
13年9月17日火曜日
• 事の発端
• FPGA + コプロセッサ + 他のシステム
Processor-independent devel environment
FPGA
Co-processor
CAM
x
Command
Config
CameraLink™
CPU +
PowerVR
64bit bus
Peripheral
13年9月17日火曜日
• 事の発端
• FPGA + コプロセッサ + 他のシステム
Processor-independent devel environment
FPGA
Co-processor
CAM
x
Command
Config
CameraLink™
CPU +
PowerVR
64bit bus
Peripheral
C/C++
HDL +
Simulink
Java /
.net CF
13年9月17日火曜日
• 低レイヤーの開発環境を持っていない
• 上位層のテストの為だけにコード変更…
• 単体テスト∼システムテストまで終わっている
• コードを見せたくない or 触らせたくない
• プロセッサ非依存開発環境
Processor-independent devel environment
13年9月17日火曜日
• プロセッサ非依存開発環境
• インタプリタを自作すると良い事ひとつも無い
• 主要なVM紹介
• JVMで動くのはJavaだけ?
• RaVem JVM
• 競合するJVM比較
• バイトコードの概要
• メモリ管理とガーベジコレクション
• マルチスレッドに対応する
• オリジナル関数(メソッド)追加方法
Agenda
13年9月17日火曜日
my own interpreter
• 三重苦
• 文字列認識(対話)型 or 中間コード生成方式
• エラー発生
• 単なるコードエラー?
• 仕様の想定を超えていた?
• 仕様から作り直しだよksg
• 独自インタプリタの使い方を教える必要
• もうだめぽ
13年9月17日火曜日
my own interpreter
• すでにあるVM規格のある言語仕様を活用
Language for embedded requirements
Python P14P(ex.PyMite) Flash:55kB~,RAM:8kB~
Lua eLua Flash:256kB~,RAM:64kB~
Ruby mruby Flash:512kB,RAM:1MB?
Java Java ME and so on... Flash:130kB,RAM:8kB
13年9月17日火曜日
VM
• すでにあるVM規格のある言語仕様を活用
Java
VB
Python
JavaScript
Ruby
Perl
※VMの実装がある言語に限った
13年9月17日火曜日
VM
• すでにあるVM規格のある言語仕様を活用
54%
13%
12%
7%
7%
7%
人気のある言語(Tiobe Programming Community調べ,Aug 2013)
Java
VB
Python
JavaScript
Ruby
Perl
※VMの実装がある言語に限った
13年9月17日火曜日
Variants Java VM
• Java for embedded
JVM System requirements
Oracle Java ME
Embedded for
STM32F
Flash :130kB~
RAM: ?
Binary only
uJ
Flash :64kB~
RAM:192bytes~
thread,runnable,GC,
original String type
nanoVM
Flash :8kB~
RAM: 1kB~
for AVR
Single thread
RaVem
Flash :5kB~
RAM: 256bytes~
thread,runnable,
Integer only
13年9月17日火曜日
• 開発はC言語だけど、それぞれのCPU用のコンパイラが
必要
C compiler
ARM
intel
AVR
PIC
Applica
tion
13年9月17日火曜日
• 開発はC言語だけど、それぞれのCPU用のコンパイラが
必要
C compiler
Compiler
Compiler
Compiler
Compiler
ARM
intel
AVR
PIC
Applica
tion
13年9月17日火曜日
• Java:一度VMをマイコンに実装すればデバイス非依存
•
Java
managed
code
ARM
intel
AVR
PIC
VM
13年9月17日火曜日
• Java:一度VMをマイコンに実装すればデバイス非依存
•
Java
managed
code
ARM
intel
AVR
PIC
VM
device-independent
13年9月17日火曜日
• Java:一度VMをマイコンに実装すればデバイス非依存
•
Java
managed
code
ARM
intel
AVR
PIC
VM
device-independent
write once run anywhere
13年9月17日火曜日
VM
• バイトコードを解釈する機構を実装
•バイトコードって何が書いてあるの?
13年9月17日火曜日
byte code
• バイトコードの中身
• 定数プール(constant pool)
• 命令(Code Attribute)
• 例外(Exception)
• big endian
CA FE BA BE........
...........................
...........................
...........................
...........................
...........................
...........................
...........................
...........................
13年9月17日火曜日
byte code
• バイトコードの中身
• 定数プール(constant pool)
• 命令(Code Attribute)
• 例外(Exception)
• big endian
CA FE BA BE........
...........................
...........................
...........................
...........................
...........................
...........................
...........................
...........................
13年9月17日火曜日
byte code
• バイトコードの中身
• 定数プール(constant pool)
• 命令(Code Attribute)
• 例外(Exception)
• big endian
CA FE BA BE........
...........................
...........................
...........................
...........................
...........................
...........................
...........................
...........................
13年9月17日火曜日
byte code
• バイトコードの中身
• 定数プール(constant pool)
• 命令(Code Attribute)
• 例外(Exception)
• big endian
CA FE BA BE........
...........................
...........................
...........................
...........................
...........................
...........................
...........................
...........................
13年9月17日火曜日
byte code
• 具体例(hello world)
• 例:定数プール(20)→”hello
world”
• 命令
• 定数プール20番をスタック
• printlnメソッドを呼び出せ
cp[1]=........
........
cp[20]=”hello world”
........
load cp[20],stack
call “println”
System.out.println(“hello world”);
13年9月17日火曜日
byte code
• 具体例(hello world)
• 例:定数プール(20)→”hello
world”
• 命令
• 定数プール20番をスタック
• printlnメソッドを呼び出せ
cp[1]=........
........
cp[20]=”hello world”
........
load cp[20],stack
call “println”
13年9月17日火曜日
stack
• スタック(Operand Stack)
• 積み木(順番に積み上げて、上から取る)
13年9月17日火曜日
stack
• スタック(Operand Stack)
• 積み木(順番に積み上げて、上から取る)
data1
data2
data3
13年9月17日火曜日
stack
• スタック(Operand Stack)
• 積み木(順番に積み上げて、上から取る)
data1
data2
data3
13年9月17日火曜日
example: add
• 具体例(加算)
int x, y, z;
x = 10;
y = 20;
z = x + y;
System.out.println(z);
13年9月17日火曜日
example: add
• 具体例(加算)
13年9月17日火曜日
example: add
• 具体例(加算)
10
20
13年9月17日火曜日
example: add
• 具体例(加算)
30
13年9月17日火曜日
Java VM
• Java VMは
• 定数プールを引用する仕組み
• スタックを管理する仕組み
• 命令を実行する仕組み
があれば作れてしまう
13年9月17日火曜日
Java VM
• Java VMは
• 定数プールを引用する仕組み
• スタックを管理する仕組み
• 命令を実行する仕組み
があれば作れてしまう
なのでCortex-M0+でJavaVM作ってみた
13年9月17日火曜日
RaVem JVM
RaVemRaVem
Rapid VM embbededRapid VM embbeded
• Flash 5kbytes~
• RAM 128bytes
• int type only
• all code written in C (about 700 sloc)
• github (for LPC812)
• https://github.com/lynxeyed-atsu/RaVem
• port on mbed
• http://mbed.org/users/lynxeyed_atsu/code/FRDM_RaVem_JVM
13年9月17日火曜日
blink LEDs with JVM
• GPIOを操作するメソッド: portWrite(bit, value)
• 一定時間でLEDをon/offするコードを書く
• 上記を4-thread化
13年9月17日火曜日
blink LEDs with JVM
• GPIOを操作するメソッド: portWrite(bit, value)
• 一定時間でLEDをon/offするコードを書く
• 上記を4-thread化mbed.portWrite(port_bit, 0);
Thread.sleep(time);
mbed.portWrite(port_bit, 1);
Thread.sleep(time);
13年9月17日火曜日
blink LEDs with JVM
• GPIOを操作するメソッド: portWrite(bit, value)
• 一定時間でLEDをon/offするコードを書く
• 上記を4-thread化mbed.portWrite(port_bit, 0);
Thread.sleep(time);
mbed.portWrite(port_bit, 1);
Thread.sleep(time);
BlinkLED LED1 = new BlinkLED(0, 90);
BlinkLED LED2 = new BlinkLED(1, 100);
......
Thread th1 = new Thread(LED1);
Thread th2 = new Thread(LED2);
......
th1.start();
th2.start();
13年9月17日火曜日
blink LEDs with JVM
• mbedにRaVem JVMのVM(.bin)ファイルを書き込み
• javaコードをjavacでコンパイル
• .classファイル生成(byte code)
• Test.claにリネーム
• mbedにコピー
• リセット後スタート
public static
void main(){int a, b;........
}
CA FE BA BE
00 00 00 32
00 22 07 00
02 01 00 05
48 65 6c 6c
6f 07 00 04
01 00 10 6a
javac
copy
13年9月17日火曜日
まとめ
• Java VMをmbedやLPC81xに移植した
• mbed:D&DでJavaのバイトコードをコピー、実行
• others:バイトコードを配列にしてコンパイル
• 利点:デバイス依存なC環境が用意できない環境でも
Javaである程度の開発ができる
• ブログ:
• http://lynxeyed.hatenablog.com/
13年9月17日火曜日
ご清聴ありがとうございました
13年9月17日火曜日
ここから質疑応答用スライド
13年9月17日火曜日
RaVem JVM
• 新しいメソッドfoobarの追加
• invokestatic_callFunction (in ravem.c)
• if(strncmp(func_name,"foobar",6) == 0){.... }
• クラスファイルにフェイクでメソッドを追加
• 実動作は書かなくてよい(戻り値あるなら適当に
return NULLとでも)
13年9月17日火曜日
byte code
• バイトコードの中身
• 命令(Code Attribute)
• main method
• run method in thread
• RaVem JVMでは以下を管理
• vm_object
• start address
• end address
• num. of stack
• local registor
• thread number
CA FE BA BE........
...........................
...........................
...........................
...........................
...........................
...........................
...........................
...........................
13年9月17日火曜日
rights of Java VM
• Copyright law does not confer ownership over any and
all ways to implement a function or specification, no
matter how creative the copyrighted implementation or
specification may be.
• The Act confers ownership only over the specific way in
which the author wrote out his version. Others are free to
write their own implementation to accomplish the identical
function, for, importantly, ideas, concepts and functions
cannot be monopolized by copyright.
-- William Alsup, the judge Google v. Oracle.
13年9月17日火曜日

More Related Content

What's hot

modern X86 environment
modern X86 environmentmodern X86 environment
modern X86 environmentShougo
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけShougo
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?Masahiro Sano
 
Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話yuichi kishimoto
 
ほんとにあったphantomjsのコワい話
ほんとにあったphantomjsのコワい話ほんとにあったphantomjsのコワい話
ほんとにあったphantomjsのコワい話Kohki Nakashima
 
WebRTCでドラゴンボールごっこ
WebRTCでドラゴンボールごっこWebRTCでドラゴンボールごっこ
WebRTCでドラゴンボールごっこgirigiribauer
 
Shougoの開発環境
Shougoの開発環境Shougoの開発環境
Shougoの開発環境Shougo
 
Zoom上にタイマーを表示させる
Zoom上にタイマーを表示させるZoom上にタイマーを表示させる
Zoom上にタイマーを表示させるTakanobu Mizuta
 
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりすごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりcohama
 
WebAssemblyの紹介
WebAssemblyの紹介WebAssemblyの紹介
WebAssemblyの紹介mizdra
 
Vim の開発環境
Vim の開発環境Vim の開発環境
Vim の開発環境eagletmt
 
Flash Playerの作り方
Flash Playerの作り方Flash Playerの作り方
Flash Playerの作り方Yu Kobayashi
 
EmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたEmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたkyon mm
 
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014Sugoi Kanari
 
コンパイラ指向ReVIEW
コンパイラ指向ReVIEWコンパイラ指向ReVIEW
コンパイラ指向ReVIEWMasahiro Wakame
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server EnvironmentYukimitsu Izawa
 

What's hot (20)

modern X86 environment
modern X86 environmentmodern X86 environment
modern X86 environment
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけ
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
 
Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話
 
ほんとにあったphantomjsのコワい話
ほんとにあったphantomjsのコワい話ほんとにあったphantomjsのコワい話
ほんとにあったphantomjsのコワい話
 
WebRTCでドラゴンボールごっこ
WebRTCでドラゴンボールごっこWebRTCでドラゴンボールごっこ
WebRTCでドラゴンボールごっこ
 
Shougoの開発環境
Shougoの開発環境Shougoの開発環境
Shougoの開発環境
 
Zoom上にタイマーを表示させる
Zoom上にタイマーを表示させるZoom上にタイマーを表示させる
Zoom上にタイマーを表示させる
 
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりすごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
 
WebAssemblyの紹介
WebAssemblyの紹介WebAssemblyの紹介
WebAssemblyの紹介
 
Vim の開発環境
Vim の開発環境Vim の開発環境
Vim の開発環境
 
Ad stirの裏側
Ad stirの裏側Ad stirの裏側
Ad stirの裏側
 
20150523
 20150523 20150523
20150523
 
Flash Playerの作り方
Flash Playerの作り方Flash Playerの作り方
Flash Playerの作り方
 
EmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたEmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べた
 
Nodejs
NodejsNodejs
Nodejs
 
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014
 
コンパイラ指向ReVIEW
コンパイラ指向ReVIEWコンパイラ指向ReVIEW
コンパイラ指向ReVIEW
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server Environment
 
Javaに這いよる.NET
Javaに這いよる.NETJavaに這いよる.NET
Javaに這いよる.NET
 

Viewers also liked

Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de softwareSompo Seguros
 
Propuesta final trajo final
Propuesta final trajo finalPropuesta final trajo final
Propuesta final trajo finalETNAN
 
Presentation barreiro
Presentation barreiroPresentation barreiro
Presentation barreiroRosa Martins
 
SERVICOS AZLOGICA PORTUGUES
SERVICOS AZLOGICA PORTUGUESSERVICOS AZLOGICA PORTUGUES
SERVICOS AZLOGICA PORTUGUESAZLOGICA
 
PATOGENOS DEL TRACTO URINARIO
PATOGENOS DEL TRACTO URINARIOPATOGENOS DEL TRACTO URINARIO
PATOGENOS DEL TRACTO URINARIOchilalomar
 
Aplicacions portables
Aplicacions portablesAplicacions portables
Aplicacions portablesAlex
 
Power educar
Power educarPower educar
Power educarStsonia
 
Ideb2009 coletiva
Ideb2009 coletivaIdeb2009 coletiva
Ideb2009 coletivaosney
 
Perspectiva històrica OpenOffice
Perspectiva històrica OpenOfficePerspectiva històrica OpenOffice
Perspectiva històrica OpenOfficerestauracio
 
Movimento de tierras
Movimento de tierrasMovimento de tierras
Movimento de tierraskarenpf03
 
Correfoc mercè 2010
Correfoc mercè 2010Correfoc mercè 2010
Correfoc mercè 2010ar
 

Viewers also liked (20)

Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
 
Anais_2008
Anais_2008Anais_2008
Anais_2008
 
Propuesta final trajo final
Propuesta final trajo finalPropuesta final trajo final
Propuesta final trajo final
 
Presentation barreiro
Presentation barreiroPresentation barreiro
Presentation barreiro
 
1VC TAILAN ENERGIA
1VC TAILAN ENERGIA1VC TAILAN ENERGIA
1VC TAILAN ENERGIA
 
1VC RAYELLI MUSEU GEOLOGICO
1VC RAYELLI MUSEU GEOLOGICO1VC RAYELLI MUSEU GEOLOGICO
1VC RAYELLI MUSEU GEOLOGICO
 
SERVICOS AZLOGICA PORTUGUES
SERVICOS AZLOGICA PORTUGUESSERVICOS AZLOGICA PORTUGUES
SERVICOS AZLOGICA PORTUGUES
 
PATOGENOS DEL TRACTO URINARIO
PATOGENOS DEL TRACTO URINARIOPATOGENOS DEL TRACTO URINARIO
PATOGENOS DEL TRACTO URINARIO
 
Aplicacions portables
Aplicacions portablesAplicacions portables
Aplicacions portables
 
Power educar
Power educarPower educar
Power educar
 
Estrategias de comunicación
Estrategias de comunicaciónEstrategias de comunicación
Estrategias de comunicación
 
Ideb2009 coletiva
Ideb2009 coletivaIdeb2009 coletiva
Ideb2009 coletiva
 
La economía
La economíaLa economía
La economía
 
Perspectiva històrica OpenOffice
Perspectiva històrica OpenOfficePerspectiva històrica OpenOffice
Perspectiva històrica OpenOffice
 
1VF CULTURA - DIOGO
1VF CULTURA - DIOGO1VF CULTURA - DIOGO
1VF CULTURA - DIOGO
 
Movimento de tierras
Movimento de tierrasMovimento de tierras
Movimento de tierras
 
Correfoc mercè 2010
Correfoc mercè 2010Correfoc mercè 2010
Correfoc mercè 2010
 
Fotos feria UPC montaje
Fotos feria UPC montajeFotos feria UPC montaje
Fotos feria UPC montaje
 
Formato de audio
Formato de audioFormato de audio
Formato de audio
 
T1 adaptación de cursos with audio
T1 adaptación de cursos with audioT1 adaptación de cursos with audio
T1 adaptación de cursos with audio
 

Similar to Mbed2013

JVMの中身を可視化してみた
JVMの中身を可視化してみたJVMの中身を可視化してみた
JVMの中身を可視化してみたKengo Toda
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門miso- soup3
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
VMを改めて学んで見る
VMを改めて学んで見るVMを改めて学んで見る
VMを改めて学んで見るkishima7
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会Yukihiko SAWANOBORI
 
運用に効く!JVMオプション三選
運用に効く!JVMオプション三選運用に効く!JVMオプション三選
運用に効く!JVMオプション三選Kazuhiro Oinuma
 
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築AimingStudy
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
Javaパフォーマンスチューニング基礎
Javaパフォーマンスチューニング基礎Javaパフォーマンスチューニング基礎
Javaパフォーマンスチューニング基礎Hiroyuki Ohnaka
 
Play frameworkの概要
Play frameworkの概要Play frameworkの概要
Play frameworkの概要Shuhei Kaneko
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回龍一 田中
 
ななめ45°から見たJavaOne
ななめ45°から見たJavaOneななめ45°から見たJavaOne
ななめ45°から見たJavaOneAdvancedTechNight
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 
hktstudy #01 LT 20120616
hktstudy #01 LT 20120616hktstudy #01 LT 20120616
hktstudy #01 LT 20120616学 松崎
 
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native ImageIntroduction to GraalVM and Native Image
Introduction to GraalVM and Native ImageKoichi Sakata
 
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目大樹 小倉
 
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Koichi Sakata
 

Similar to Mbed2013 (20)

JVMの中身を可視化してみた
JVMの中身を可視化してみたJVMの中身を可視化してみた
JVMの中身を可視化してみた
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
VMを改めて学んで見る
VMを改めて学んで見るVMを改めて学んで見る
VMを改めて学んで見る
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
 
運用に効く!JVMオプション三選
運用に効く!JVMオプション三選運用に効く!JVMオプション三選
運用に効く!JVMオプション三選
 
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
Javaパフォーマンスチューニング基礎
Javaパフォーマンスチューニング基礎Javaパフォーマンスチューニング基礎
Javaパフォーマンスチューニング基礎
 
Real world rails
Real world railsReal world rails
Real world rails
 
Play frameworkの概要
Play frameworkの概要Play frameworkの概要
Play frameworkの概要
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回
 
ななめ45°から見たJavaOne
ななめ45°から見たJavaOneななめ45°から見たJavaOne
ななめ45°から見たJavaOne
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
hktstudy #01 LT 20120616
hktstudy #01 LT 20120616hktstudy #01 LT 20120616
hktstudy #01 LT 20120616
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
Introduction to GraalVM and Native Image
Introduction to GraalVM and Native ImageIntroduction to GraalVM and Native Image
Introduction to GraalVM and Native Image
 
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
 
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
 

Mbed2013