Na linguagem Java, os dados podem ser armazenados na estrutura de dados de pilha ou de alocação dinâmica (heap).
Considere o seguinte código executado na máquina virtual Java (JVM):
int a = 20;
int b = 30;
String c = “A soma é:”;
System.out.print(c);
System.out.print(a + b);
As quantidades de informação armazenadas na pilha e no heap são, respectivamente: