Java internals