I\'ve read heaps of blogs on Vim\'s supposedly great omnicompletion, and yet no matter what I do I can\'t get it to work satisfactorily. It took me ages to figure discover that
I had a go with eclim:
http://eclim.sourceforge.net/
A while ago, it basically runs eclipse in the background and then provides a vim plugin which lets you get at all the functionality of eclipse inside vim. So you can do refactoring, completion etc. It seems to work quite well if you don't mind running a huge eclipse process in the background on your system.
I've got completion working quite well in C++ (Better than Vis stud anyway) but never had much luck with java. These days I tend to use eclipse most of the time but I have gvim --remote set up as an external command in eclipse so that I can just wip the current buffer into vim anytime I want.