Primitives
int, short, long, byte, char, boolean, float, double
byte (8-bit signed)
short (16-bit signed)
int (32-bit signed)
long (64-bit signed)
float (32-bit IEEE 754)
double (64-bit IEEE 754)
char (16-bit unsigned, UTF-16 code unit)
boolean (true/false, JVM dependent size)
Stack (RAM)
LIFO; place in RAM where local variables & method calls stored; literal values for primitive types stored & references to objects are also stored in stack; also used for executing threads
Heap (RAM)
used to store objects; a region of memory where all Java objects and arrays are allocated. String pools are also here.