In
Java, all objects are created on the heap. There isn't an exception that I'm aware of. Therefore, even an instance of a local class would be created on the heap. Of course, any reference variables that refer to that object would be found in the activation stack.