SlideShare a Scribd company logo
1 of 72
末永 恭正 @YaSuenag
今日はGCの話をあまりしません!
他の方の資料等をご覧ください…
OracleとJavaは、Oracle Corporation及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
本資料の実装確認はOpenJDK8 8u-dev(HotSpot rev. 7164:bf68e15dc8fe)で行っています。
ハードウェアをちょっと気にして
HotSpotを気持ちよく動かしてあげよう!
※AMD64 Linuxを中心にお話しします
•
•
•
•
•
http://icedtea.classpath.org/wiki/HeapStats/jp
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
$ java -version
openjdk version "1.8.0_31"
OpenJDK Runtime Environment (build 1.8.0_31-b13)
OpenJDK 64-Bit Server VM (build 25.31-b07, mixed mode)
$ java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)
•
•
•
•
•
•
•
•
• http://docs.oracle.com/javase/jp/8/technotes/guides/vm/index.html
•
•
• http://otndnld.oracle.co.jp/ondemand/javaday2014/pdf/C
2-JavaDay-304328.pdf
•
•
• http://docs.oracle.com/javase/jp/8/technotes/guides/vm/s
erver-class.html
注: Java SE 6の場合、server-classマシンとは、少なくとも2つのCPU
と、最少でも2Gバイトの物理メモリーを備えているマシンを指し
ます。
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• MetaspaceはGC対象ではありません!
•
•
ちょっと
だけ
•
•
• http://www.slideshare.net/YujiKubota/concurrent-
marksweep-garbage-collection
•
•
• http://www.slideshare.net/YaSuenag/metaspace
• CodeCacheはGCでクリアされません!
•
•
•
ちょっと
だけ
Java HotSpot(TM) 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled.
Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=
CodeCache: size=2496Kb used=1955Kb max_used=1969Kb free=540Kb
bounds [0x00007f50c844b000, 0x00007f50c86bb000, 0x00007f50c86bb000]
total_blobs=578 nmethods=353 adapters=139
compilation: disabled (not enough contiguous free space left)
•
•
•
•
•
•
• http://www.oracle.com/webfolder/technetwork/jp/javama
gazine/Java-JA13-Architect-evans.pdf
•
•
•
•
$ ulimit -v 102400
$ /usr/local/jdk1.8.0/bin/java -version
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 80 bytes for AllocateHeap
# An error report file with more information is saved as:
# /home/xxx/hs_err_pid8664.log
•
•
•
•
• http://www.oracle.com/technetwork/jp/articles/java/compressedoops-
427542-ja.html
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
# cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never
import java.nio.*;
import java.nio.file.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.*;
public class AESTest{
public static void main(String[] args) throws Exception{
Key key = new SecretKeySpec("passwordpassword".getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] plain = Files.readAllBytes(Paths.get(args[0]));
long start = System.currentTimeMillis();
cipher.doFinal(plain);
long end = System.currentTimeMillis();
long elapsedTime = end - start;
System.out.println("Elapsed time: " + elapsedTime + " ms");
}
}
$ java -Xms2g -Xmx2g AESTest /tmp/test.dat
Elapsed time: 1654 ms
$ java -Xms2g -Xmx2g -XX:+UseTransparentHugePages AESTest /tmp/test.dat
Elapsed time: 1613 ms
約40msの差!
ソフトウェア環境:
• Fedora21 x86_64
• kernel-3.18.7-200.fc21.x86_64
• glibc-2.20-8.fc21.x86_64
• java-1.8.0-openjdk-1.8.0.31-5.b13.fc21.x86_64
ハードウェア環境:
• CPU:Intel Core i5 2500T
• MB:GIGABYTE GA-H67A-UD3H-B3
• メモリ:DDR3 1333MHz 2GB×2
テストデータ:
• /tmp/test.dat
• /dev/urandomから500MBを/tmp配下にコピー
• /tmpはtmpfs
$ perf stat -e dTLB-load-misses,dTLB-store-misses java -Xms2g -Xmx2g AESTest /tmp/test.dat
Elapsed time: 1654 ms
Performance counter stats for 'java -Xms2g -Xmx2g AESTest /tmp/test.dat':
826,055 dTLB-load-misses
1,648,456 dTLB-store-misses
2.300445236 seconds time elapsed
$ perf stat -e dTLB-load-misses,dTLB-store-misses java -Xms2g -Xmx2g -XX:+UseTransparentHugePages AESTest /tmp/test.dat
Elapsed time: 1613 ms
Performance counter stats for 'java -Xms2g -Xmx2g -XX:+UseTransparentHugePages AESTest /tmp/test.dat':
623,795 dTLB-load-misses
576,097 dTLB-store-misses
2.165985041 seconds time elapsed
TLBミスヒットが激減!
•
•
•
•
•
•
•
•
•
論理プロセッサ数が8以下のとき
論理プロセッサ数が9以上のとき
論理プロセッサ数と同数
8 +
5 < 論理プロセッサ数 > −8
8
•
•
•
•
•
• http://openjdk.java.net/jeps/157
•
•
•
•
•
•
•
•
•
• http://openjdk.java.net/projects/code-tools/jol/
import sun.misc.Contended;
@Contended
public class Test{
public int val1;
public int val2;
public int val3;
public int val4;
public int val5;
}
$ java -cp jol-cli-0.3.1-full.jar:. 
org.openjdk.jol.Main internals Test
:
Test object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
:
12 4 int Test.val1 0
16 4 int Test.val2 0
20 4 int Test.val3 0
24 4 int Test.val4 0
28 4 int Test.val5 0
Instance size: 32 bytes (reported by Instrumentation API)
Space losses: 0 bytes internal + 0 bytes external = 0 bytes total
$ java -XX:-RestrictContended -cp jol-cli-0.3.1-full.jar:. 
org.openjdk.jol.Main internals Test
:
Test object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
:
12 128 (alignment/padding gap) N/A
140 4 int Test.val1 0
144 4 int Test.val2 0
148 4 int Test.val3 0
152 4 int Test.val4 0
156 4 int Test.val5 0
160 128 (loss due to the next object alignment)
Instance size: 288 bytes (reported by Instrumentation API)
Space losses: 128 bytes internal + 128 bytes external = 256 bytes total
@Contended無効 @Contended有効
ソフトウェア環境:
• Fedora21 x86_64
• kernel-3.18.7-200.fc21.x86_64
• glibc-2.20-8.fc21.x86_64
• java-1.8.0-openjdk-1.8.0.31-5.b13.fc21.x86_64
import sun.misc.Contended;
public class Test2{
@Contended("group")
public int val1;
@Contended("group")
public int val2;
public int val3;
public int val4;
@Contended
public int val5;
}
$ java -cp jol-cli-0.3.1-full.jar:. 
org.openjdk.jol.Main internals Test2
:
Test2 object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
:
12 4 int Test2.val1 0
16 4 int Test2.val2 0
20 4 int Test2.val3 0
24 4 int Test2.val4 0
28 4 int Test2.val5 0
Instance size: 32 bytes (reported by Instrumentation API)
Space losses: 0 bytes internal + 0 bytes external = 0 bytes total
$ java -XX:-RestrictContended -cp jol-cli-0.3.1-full.jar:. 
org.openjdk.jol.Main internals Test2
:
Test2 object internals:
OFFSET SIZE TYPE DESCRIPTION VALUE
:
12 4 int Test2.val3 0
16 4 int Test2.val4 0
20 128 (alignment/padding gap) N/A
148 4 int Test2.val5 0
152 128 (alignment/padding gap) N/A
280 4 int Test2.val1 0
284 4 int Test2.val2 0
288 128 (loss due to the next object alignment)
Instance size: 416 bytes (reported by Instrumentation API)
Space losses: 256 bytes internal + 128 bytes external = 384 bytes total
@Contended無効 @Contended有効
ソフトウェア環境:
• Fedora21 x86_64
• kernel-3.18.7-200.fc21.x86_64
• glibc-2.20-8.fc21.x86_64
• java-1.8.0-openjdk-1.8.0.31-5.b13.fc21.x86_64
•
•
• http://www.oracle.com/technetwork/java/faq-sun-packages-
142232.html
sun.miscパッケージです!
•
•
•
•
•
•
•
•
•
UseSSE
UseAVX
UseAES
UseCLMUL
UseXmmLoadAndClearUpper UseXmmRegToRegMoveAll
UseXMMForArrayCopy
UseUnalignedLoadStores
UseCountLeadingZerosInstruction
UseCountTrailingZerosInstruction
UseBMI1Instructions
UseBMI2Instructions
UsePopCountInstruction
UseFastStosb
AllocatePrefetchInstr
UseRTMLocking
UseRTMForStackLocks
UseSSE42Intrinsics
UseRTMXendForLockBusy
import java.nio.*;
import java.nio.file.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.*;
public class AESTest{
public static void main(String[] args) throws Exception{
Key key = new SecretKeySpec("passwordpassword".getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] plain = Files.readAllBytes(Paths.get(args[0]));
long start = System.currentTimeMillis();
cipher.doFinal(plain);
long end = System.currentTimeMillis();
long elapsedTime = end - start;
System.out.println("Elapsed time: " + elapsedTime + " ms");
}
}
$ java -Xms2g -Xmx2g AESTest /tmp/test.dat
Elapsed time: 1669 ms
$ java -Xms2g -Xmx2g -XX:-UseAES AESTest /tmp/test.dat
Elapsed time: 4651 ms
ソフトウェア環境:
• Fedora21 x86_64
• kernel-3.18.7-200.fc21.x86_64
• glibc-2.20-8.fc21.x86_64
• java-1.8.0-openjdk-1.8.0.31-5.b13.fc21.x86_64
約3秒差!
テストデータ:
• /tmp/test.dat
• /dev/urandomから500MBを/tmp配下にコピー
• /tmpはtmpfs
ハードウェア環境:
• CPU:Intel Core i5 2500T
• MB:GIGABYTE GA-H67A-UD3H-B3
• メモリ:DDR3 1333MHz 2GB×2
$ java -XX:+UnlockDiagnosticVMOptions -XX:+PrintIntrinsics AESTest /tmp/test.dat
@ 64 com.sun.crypto.provider.AESCrypt::encryptBlock (953 bytes) (intrinsic)
@ 80 java.lang.System::arraycopy (0 bytes) (intrinsic)
Elapsed time: 1669 ms
$ java -XX:+UnlockDiagnosticVMOptions -XX:+PrintIntrinsics -XX:-UseAES AESTest /tmp/test.dat
@ 80 java.lang.System::arraycopy (0 bytes) (intrinsic)
Elapsed time: 4651 ms
•
•
• http://www.intel.co.jp/content/www/jp/ja/architecture-and-
technology/advanced-encryption-standard--aes-/data-protection-aes-
general-technology.html
•
•
•
•
→AES-NI命令セットを活用した機械語がJITで適用された!
•
•
•
•
•
•
•
•
•
• http://openjdk.java.net/projects/sumatra/
• https://wiki.openjdk.java.net/display/Sumatra/Main
•
•
•
•
•
https://wiki.openjdk.java.net/display/Sumatra/Standalone+Sumatra+Stream+API+Offload+Demo
final int length = 8;
int[] ina = new int[length];
int[] inb = new int[length];
int[] out = new int[length];
// Initialize the input arrays - this is offloadable
IntStream.range(0, length).parallel().forEach(p -> {
ina[p] = 1;
inb[p] = 2;
});
// Sum each pair of elements into out[] - this is offloadable
IntStream.range(0, length).parallel().forEach(p -> {
out[p] = ina[p] + inb[p];
});
We cannot speak for Project Sumatra or AMD. Project Graal decided to temporarily
remove the compiler's GPU support, because the original contributors
indicated to no longer maintain the code. We are still investigating outside
the main branch a new version of compilation support for heterogenous
architectures for Graal. If you want to compile and run a Graal version with GPU support in
the meantime, use this revision: http://hg.openjdk.java.net/graal/graal/rev/91fee1fab96d
<http://hg.openjdk.java.net/graal/graal/rev/91fee1fab96d>.
http://mail.openjdk.java.net/pipermail/sumatra-dev/2015-February/000308.html
HSA/PTXサポート削除
GPUを使いたければこのタグを使用→
•
•
•
•
•
•
• ツールの動作を知ることがHotSpotを知る一番の近道!
•
•
• http://www.slideshare.net/YaSuenag/serviceability-tools
•
•
• http://www.oracle.com/webfolder/technetwork/jp/javama
gazine/Java-JA12-architect-bajaj.pdf
HotSpotがご機嫌ナナメになったら
取るべき情報は取っておこう!
•
•
• http://www.slideshare.net/agetsuma/java-34815905
•
•
•
• だいたい
•
•
•
• クラッシュ解析の最初の取っ掛かり!
•
•
•
•
Current thread (0x00007fb944008800): JavaThread "main" [_thread_in_native, id=10054, stack(0x00007fb9486b0000,0x00007fb9487b1000)]
siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000000
•
•
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libsegv.so+0x6a0] Java_NativeSEGV_doSEGV+0x18
j NativeSEGV.doSEGV()V+0
j NativeSEGV.main([Ljava/lang/String;)V+0
v ~StubRoutines::call_stub
V [libjvm.so+0x681a56] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x1056
V [libjvm.so+0x6c36c2] jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*)+0x362
V [libjvm.so+0x6e00ca] jni_CallStaticVoidMethod+0x17a
C [libjli.so+0x7bcc] JavaMain+0x80c
C [libpthread.so.0+0x752a]
•
• https://bugs.openjdk.java.net/
•
•
•
•
•
•
•
•
•
•
•
•
:
compile java/lang/invoke/MethodHandle <clinit> ()V -1 4 inline 1 0 -1 java/lang/invoke/MethodHandle <clinit> ()V
•
Current CompileTask:
C2: 13427 2 !b 4 java.lang.invoke.MethodHandle::<clinit> (75 bytes)
•
•
•
•
•
•
•
•
•
•
•
• https://github.com/YaSuenag/JVMLive
•
•
HotSpotコトハジメ

More Related Content

What's hot

"What's New in HotSpot JVM 8" @ JPoint 2014, Moscow, Russia
"What's New in HotSpot JVM 8" @ JPoint 2014, Moscow, Russia "What's New in HotSpot JVM 8" @ JPoint 2014, Moscow, Russia
"What's New in HotSpot JVM 8" @ JPoint 2014, Moscow, Russia
Vladimir Ivanov
 

What's hot (20)

java8-features
java8-featuresjava8-features
java8-features
 
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
 
Troubleshooting Tools In JDK
Troubleshooting Tools In JDKTroubleshooting Tools In JDK
Troubleshooting Tools In JDK
 
"What's New in HotSpot JVM 8" @ JPoint 2014, Moscow, Russia
"What's New in HotSpot JVM 8" @ JPoint 2014, Moscow, Russia "What's New in HotSpot JVM 8" @ JPoint 2014, Moscow, Russia
"What's New in HotSpot JVM 8" @ JPoint 2014, Moscow, Russia
 
"Java memory model for practitioners" at JavaLand 2017 by Vadym Kazulkin/Rodi...
"Java memory model for practitioners" at JavaLand 2017 by Vadym Kazulkin/Rodi..."Java memory model for practitioners" at JavaLand 2017 by Vadym Kazulkin/Rodi...
"Java memory model for practitioners" at JavaLand 2017 by Vadym Kazulkin/Rodi...
 
Nashorn : JavaScript Running on Java VM (Japanese)
Nashorn : JavaScript Running on Java VM (Japanese)Nashorn : JavaScript Running on Java VM (Japanese)
Nashorn : JavaScript Running on Java VM (Japanese)
 
JavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for DummiesJavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for Dummies
 
Java Performance Monitoring & Tuning
Java Performance Monitoring & TuningJava Performance Monitoring & Tuning
Java Performance Monitoring & Tuning
 
JVM: A Platform for Multiple Languages
JVM: A Platform for Multiple LanguagesJVM: A Platform for Multiple Languages
JVM: A Platform for Multiple Languages
 
Java Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky ProblemJava Tools and Techniques for Solving Tricky Problem
Java Tools and Techniques for Solving Tricky Problem
 
Shooting the troubles: Crashes, Slowdowns, CPU Spikes
Shooting the troubles: Crashes, Slowdowns, CPU SpikesShooting the troubles: Crashes, Slowdowns, CPU Spikes
Shooting the troubles: Crashes, Slowdowns, CPU Spikes
 
Java Future S Ritter
Java Future S RitterJava Future S Ritter
Java Future S Ritter
 
Top 30 Node.js interview questions
Top 30 Node.js interview questionsTop 30 Node.js interview questions
Top 30 Node.js interview questions
 
Javascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and GulpJavascript TDD with Jasmine, Karma, and Gulp
Javascript TDD with Jasmine, Karma, and Gulp
 
Java >= 9
Java >= 9Java >= 9
Java >= 9
 
Terracotta Java Scalability - Stateless Versus Stateful Apps
Terracotta Java Scalability - Stateless Versus Stateful AppsTerracotta Java Scalability - Stateless Versus Stateful Apps
Terracotta Java Scalability - Stateless Versus Stateful Apps
 
Sbt職人のススメ
Sbt職人のススメSbt職人のススメ
Sbt職人のススメ
 
Практики применения JRuby
Практики применения JRubyПрактики применения JRuby
Практики применения JRuby
 
Dropwizard
DropwizardDropwizard
Dropwizard
 
SQLAlchemy Primer
SQLAlchemy PrimerSQLAlchemy Primer
SQLAlchemy Primer
 

Viewers also liked

Serviceability Toolsの裏側
Serviceability Toolsの裏側Serviceability Toolsの裏側
Serviceability Toolsの裏側
Yasumasa Suenaga
 
第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える
chonaso
 

Viewers also liked (20)

Metaspace
MetaspaceMetaspace
Metaspace
 
Serviceability Toolsの裏側
Serviceability Toolsの裏側Serviceability Toolsの裏側
Serviceability Toolsの裏側
 
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
Concurrent Mark-Sweep Garbage Collection #jjug_cccConcurrent Mark-Sweep Garbage Collection #jjug_ccc
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
 
第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える第六回渋谷Java Java8のJVM監視を考える
第六回渋谷Java Java8のJVM監視を考える
 
HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)
 
JVM のいろはにほ #javajo
JVM のいろはにほ #javajoJVM のいろはにほ #javajo
JVM のいろはにほ #javajo
 
負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編
 
java.lang.OutOfMemoryError #渋谷java
java.lang.OutOfMemoryError #渋谷javajava.lang.OutOfMemoryError #渋谷java
java.lang.OutOfMemoryError #渋谷java
 
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
徹底解説!Project Lambdaのすべて[JJUG CCC 2013 Fall H-2]
 
[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre[JDLL 2017] Le Guide du Connard du Logiciel Libre
[JDLL 2017] Le Guide du Connard du Logiciel Libre
 
2017 HE sytem in Lebanon
2017 HE sytem in Lebanon 2017 HE sytem in Lebanon
2017 HE sytem in Lebanon
 
o discípulo e a oração
o discípulo e a oraçãoo discípulo e a oração
o discípulo e a oração
 
20170330 lckva pfi gwp presentatie grondstoffencongres 2017
20170330 lckva pfi gwp presentatie grondstoffencongres 201720170330 lckva pfi gwp presentatie grondstoffencongres 2017
20170330 lckva pfi gwp presentatie grondstoffencongres 2017
 
Daniela Bandera Distinte e Integrate 31032017
Daniela Bandera Distinte e Integrate 31032017Daniela Bandera Distinte e Integrate 31032017
Daniela Bandera Distinte e Integrate 31032017
 
Мастер класс "Команда о которой вы мечтаете"
Мастер класс "Команда о которой вы мечтаете"Мастер класс "Команда о которой вы мечтаете"
Мастер класс "Команда о которой вы мечтаете"
 
Transform your living space into beauty.
Transform your living space into beauty.Transform your living space into beauty.
Transform your living space into beauty.
 
Zły UX. Dlaczego dostajemy 
słabe produkty i usługi?
Zły UX. Dlaczego dostajemy 
słabe produkty i usługi?Zły UX. Dlaczego dostajemy 
słabe produkty i usługi?
Zły UX. Dlaczego dostajemy 
słabe produkty i usługi?
 
Jc aprile 2017
Jc aprile 2017Jc aprile 2017
Jc aprile 2017
 
ニコニコ動画コメント等データ仕様
ニコニコ動画コメント等データ仕様ニコニコ動画コメント等データ仕様
ニコニコ動画コメント等データ仕様
 
Spłaszczenie płac a zmiana strukturalna
Spłaszczenie płac a zmiana strukturalnaSpłaszczenie płac a zmiana strukturalna
Spłaszczenie płac a zmiana strukturalna
 

Similar to HotSpotコトハジメ

Make static instrumentation great again, High performance fuzzing for Windows...
Make static instrumentation great again, High performance fuzzing for Windows...Make static instrumentation great again, High performance fuzzing for Windows...
Make static instrumentation great again, High performance fuzzing for Windows...
Lucas Leong
 

Similar to HotSpotコトハジメ (20)

Down the Rabbit Hole: An Adventure in JVM Wonderland
Down the Rabbit Hole: An Adventure in JVM WonderlandDown the Rabbit Hole: An Adventure in JVM Wonderland
Down the Rabbit Hole: An Adventure in JVM Wonderland
 
De Java 8 a Java 11 y 14
De Java 8 a Java 11 y 14De Java 8 a Java 11 y 14
De Java 8 a Java 11 y 14
 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
 
Fast as C: How to Write Really Terrible Java
Fast as C: How to Write Really Terrible JavaFast as C: How to Write Really Terrible Java
Fast as C: How to Write Really Terrible Java
 
De Java 8 ate Java 14
De Java 8 ate Java 14De Java 8 ate Java 14
De Java 8 ate Java 14
 
Apache Spark v3.0.0
Apache Spark v3.0.0Apache Spark v3.0.0
Apache Spark v3.0.0
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
The State of Managed Runtimes 2013, by Attila Szegedi
The State of Managed Runtimes 2013, by Attila SzegediThe State of Managed Runtimes 2013, by Attila Szegedi
The State of Managed Runtimes 2013, by Attila Szegedi
 
GOTO Night with Charles Nutter Slides
GOTO Night with Charles Nutter SlidesGOTO Night with Charles Nutter Slides
GOTO Night with Charles Nutter Slides
 
Make static instrumentation great again, High performance fuzzing for Windows...
Make static instrumentation great again, High performance fuzzing for Windows...Make static instrumentation great again, High performance fuzzing for Windows...
Make static instrumentation great again, High performance fuzzing for Windows...
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3
 
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.
 
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon YangPractical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
Practical IoT Exploitation (DEFCON23 IoTVillage) - Lyon Yang
 
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
 
Java gpu computing
Java gpu computingJava gpu computing
Java gpu computing
 
Java 7 Whats New(), Whats Next() from Oredev
Java 7 Whats New(), Whats Next() from OredevJava 7 Whats New(), Whats Next() from Oredev
Java 7 Whats New(), Whats Next() from Oredev
 
Hacking Adobe Experience Manager sites
Hacking Adobe Experience Manager sitesHacking Adobe Experience Manager sites
Hacking Adobe Experience Manager sites
 
Доклад Михаила Егорова на PHDays
Доклад Михаила Егорова на PHDaysДоклад Михаила Егорова на PHDays
Доклад Михаила Егорова на PHDays
 
Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?Nodejs - Should Ruby Developers Care?
Nodejs - Should Ruby Developers Care?
 

More from Yasumasa Suenaga (6)

JDK付属ツールにパッチを出しまくったワケ
JDK付属ツールにパッチを出しまくったワケJDK付属ツールにパッチを出しまくったワケ
JDK付属ツールにパッチを出しまくったワケ
 
Panamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶPanamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶ
 
Java 9で進化する診断ツール
Java 9で進化する診断ツールJava 9で進化する診断ツール
Java 9で進化する診断ツール
 
Heap statsfx analyzer
Heap statsfx analyzerHeap statsfx analyzer
Heap statsfx analyzer
 
HeapStatsのデモ (Java The Night)
HeapStatsのデモ (Java The Night)HeapStatsのデモ (Java The Night)
HeapStatsのデモ (Java The Night)
 
もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…
 

Recently uploaded

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Recently uploaded (20)

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 

HotSpotコトハジメ