Escolar Documentos
Profissional Documentos
Cultura Documentos
dedentroprafora
MarioAmaral
@mario_fts
github.com/mariofts
Quemsoueu?
MrioAmaral
Instrutor e Desenvolvedor
Caelum Stella
Vraptor
JVMdoJava8
dedentroprafora
ModularizaodaJVM
NovaEnginedeJs
MudanasnaMemria
Oqueficoudefora...
Modulariza
o da JVM
TamanhodaJVM
~140MB
Dispositivos
menores
Arduino
BeagleBoard
Raspberry Pi
CompactProfiles
4profilesdefault
Compact1
Core
Date&Time
Collections
...
Compact2
Compact1
JDBC
Jax-P
Compact3
Compact3
Security
JMX
FUllSE
Compact3
Swing
Jax-WS
Resto...
10 MB
compact1
17 MB
compact2
24 MB
compact3
140 MB
Full jre
Nova VM de
JavaScript
PERA...
Dprarodarjavascriptde
dentrodaJVM?
SIM
Rhino
Mozilla
Java6
Compilajsparabytecode
Naverdade...
Vriaslinguagens
Java7
invokedynamic
Nashorn
Oracle
Java8
Compilajsparabytecode
Usanovasfeatures
hello.js
var hello = function() {
print("Hello Nashorn!");
};
hello();
noterminal...
$ jjs hello.js
Hello Nashorn!
$
Nojava....
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
engine.eval("hello.js");
Mudanas
na Memria
MemriadoJavamodular
PermGen
Objetos"permanentes"
MetadadosdeClasses
Ref.estticas
PooldeStrings
OProblema...
Nemtudopermanente...
OutOfMemoryError:PermGen
Space
MetaSpace
MemriaNativa
Dinmico
Nuncamais
OutOfMemoryError:PermGenSpace
Mas..
Mas..
OutOfMemoryError:MetadataSpace
TamanhodoMetaSpace
configurvel
-XX:MetaspaceSize
-XX:MaxMetaspaceSize
Eofuturo?
JigSaw
Modularizao
FimdoJarHell
jdeps
Comandoparamostrar
dependnciaentrejars
Referncias
Oracle: what's new
Compact profiles overview
Mais sobre compact profiles
Post sobre o Nashorn
Permgem vs. Metaspace
JVMdoJava8
dedentroprafora
MarioAmaral
@mario_fts
github.com/mariofts