My first experience with Java was making a game sponsored by Sun as my senior project in college. I knew C/C++ and some assembly going in to it and I knew that Java ran on a virtual machine and had garbage collection. I was pretty biased against Java, I wanted to be as close to the hardware as possible. Fortunately Sun had been working on JOGL, which allowed us to use shaders to do some effects that were neat at the time (normal mapping, environment mapping, procedural textures on terrain, etc).
After I graduated I got a job working on software that basically amounted to a game editor. I convinced them to let me redo the 2D graphics in it with 3D graphics using JOGL. That code is still in use 10 years later.
I'm still at the same place now, still using Java (and some C#). In the years since college I've come to appreciate the ease that Java allows you to do things, but I do think it's significantly behind C#. I guess I'm a bit out of the loop with how features are handled behind the scenes in 1.8, but generics were pretty hacky in Java 1.5 (the type didn't exist at run time). 1.8 added lambda expressions and concurrent programming is a lot easier than it used to be thanks to parallel streams. I still prefer C# to Java, but Java is slowly catching up. I'd rather use Java or C# than C or C++ nowadays.
EDIT: God, I really need to proofread what I write.