I'm a Lisp programmer, so maybe the navigation experience is different for Java - but the navigation experience in Emacs is just great for me. Emacs is not the generic editor, but reprogrammed with special modes (for Common Lisp this is SLIME) to provide all this information: arguments, who calls / uses, etc. Emacs connects to a running Common Lisp and provides live queries into the software under development. That's pretty cool.