Primitive types have been available since the creation of Java. It's up to the programmer to use boxed types or not.
Memory mapped IO - see Java.nio.
Bump-pointer allocation/compilation to direct loops all exist in hotspot.
You can't use a primitive in a collection: eg HashMap / ArrayList