C++ has some better potential, it has some features java does not have (Direct memory acces, structs, pointers, friends, operator overloads, destructors, and some more).
But that comes with much longer developping time needed (java has much more build-in).
So with C++ you could (potentially) get a bit more performance on some parts, but it just is not worth the time.
If you really want to get cutting-edge performance, like the latest games, C++ is the way to go, but remember you need 1.000.000+ of men hours to create games like that.
Depends if you consider the constant need to use direct memory access, pointers, operator overloading and destructors a feature. A lot of people would argue Java is a great programming language because they don't have to those 'features.'
No sane programmers who knows both Java and C++ would write a project in C++ unless they had to. There are simply _WAY_ more things you can do in Java in terms of OOP - and the language is much more powerful.
C++ and C still have their function, for writing low-level code and can take a few more routes in terms of optimizations (typically though these optimizations aren't an issue unless you are really pushing the hardware) but I would say the days of unmanaged memory environments are numbered in the general software industry - where it really doesn't make sense to have that kind of access at a compromise for software security, stability and efficiency.
When it comes to AAA gaming with next-generation graphics, we will always be using an unmanaged language to hack our way around the environment and perform various optimizations - but unless you are targeting next-generation hardware with next-generation graphics\physics\ai there is no need for the development head-aches and many OOP short-coming offered by C++.
Don't get me wrong, I love C & C++ and I spent most of my time programming in those languages - but I think every language has its place. C & C++ will always be relevant, but I think it is a bold move to say that C++ is 'better' than Java.
Just targeting current gen mobile devices(ios) and you really want to write games using c++(or commercial engine). Competition is extremely tough and you really want to take full advantage of hardware(including NEON). Our particle engine gained around 3.2 X performance when I rewrited it from c++ to neon using just intrinsics. Hand written assembly would push this even further but the actual bottleneck is now sending particle data to gpu so there is little to no point doing that. With managed language you can't do optimizations like this.
Saying that java is faster than c++ is like saying that c++ is safer/easier than java. Both languages have their uses but both also have their own design philosophy.