Escolar Documentos
Profissional Documentos
Cultura Documentos
vs
GraalVM
@anabneri
Compiladores
Hello ( );
Co-Organizadora da @unicorn.tech
@anabneri linkedln.com/in/anabeatrizdev/
But first WTF is Java?
GreenTalk
Star Seven
Oak
Web
Runner
Java!! o/
Processos de
compilamento antes da
Java Virtual Machine
Vamos entender o que é compilamento...
0101010101
0101010011
0100101010
Assembly 0101010101
0101010101
0100101010
Mas esse era um processo complexo demais...
Entendeu man? O
processo de
compilamento do Java
é parecido...
Observe a “sutil” diferença, rs
BYTECO
JAVA DE
JavaC
JVM
Isso Possibilita que uma gama de linguagens
possam ser rodadas na JVM
Isso quer dizer que JVM é uma linguagem
multi-plataforma, roda aonde quiser e quando quiser!!!
Entenda como essa parada
toda funciona, com a
arquitetura da JVM
Class loader
Class files subsystem
Native
Method Java PC
Heap Method
area stacks Registers
Stacks
Native Native
Execution
Method Methods
engine
Interface libraries
Claro que tudo isso é salvo
em algum lugar, entenda o
processo de memória
Espaço de
sobrevivencia
Memória Memória
Nova Velha
(Young
Generation)
Espaço de
sobrevivencia tor
o llec
geC
a
Garb
Memória Memória
Nova Velha
(Young
Generation)
Olha ai o Garbage Collector
EDEN
Young
Generation FROM
(NEW)
heap
Survivor
TO
Tenured
(OLD)
Permanet
Generation non-heap
Mas o que exatamente essas memórias significam?
Grupo Heap e Stack (non-heap)
HEAP STACK
….
}
//o intellij ja traz os imports automaticamente referente a
memória
MemoryMXBean memoryMXBean =
ManagementFactory.getMemoryMXBean();
out.println(":::::Memória heap:::::");
out.println();
MemoryUsage heapMemory =
memoryMXBean.getHeapMemoryUsage();
out.println("Tamanho Inicial :: " + heapMemory.getInit() +
String.format(Locale.US, FORMAT,(double) heapMemory.getInit() / MEGA));
textos.add(str2);
for (MemoryPoolMXBean m : lista){
if ((m.getType() == MemoryType.NON_HEAP)
&& m.getName().toUpperCase().indexOf("METASPACE")
!= -1){
mp = m;
break;
}
}
return mp;
Temos também os
Compiladores, que entram
dentro e fora da JVM
também
Os compiladores
Just in time - JIT
Revolução da JVM A otimização do JIT
faz a JVM ser cada vez
Faz compilação em mais rápida!
modo dinâmico
> Profundidade =
excelência
> Argumentos pra quando
alguem diz que Java é ruim
CONCLUINDO <3
Dúvidas, questionamentos, críticas,
lamentações?
Keep in touch
@anabneri
linkedln.com/in/anabeatrizdev/
bit.ly/jvmgraalvm
referências
https://www.baeldung.com/java-stack-heap
https://pt.wikipedia.org/wiki/HotSpot
https://blog.mandic.com.br/artigos/java-garbage-collection-m
elhores-praticas-tutoriais-e-muito-mais/