Instead of create variables using new, Java can use primitive types to create automatic variables that are not references . The variables hold the value, and it’s place on the stack so its much more efficient. Java determines the size of each primitive type.