Bueno, pues C++ es común, pero Java no. Java es una plataforma independiente, así que aunque el estilo de programación es el mismo, el medio no. Entonces lo que cambia es la técnica, esto es, los parámetros de los comandos. No es lo mismo programar Java para celular, que para la computadora, para un dispositivo de juegos o para un reproductor de multimedia. Por tanto, para Java encontrarás que hay una literatura muy vasta, sin embargo la mayoría está diseñada para programar Java para PC, específicamente, páginas web. Pero no cubren aspectos por demás interesantes y no menos importantes, como un teléfono inteligente o uno de gama media. O algún equipo de video o de audio.
Java es en realidad un mundo de programación, con "especialidades" en tal o cual plataforma.
Para comenzar te sugiero los textos de McGraw Hill, te llevan de la mano en el proceso de aprendizaje. Alfa Omega es otra editorial muy, muy buena, pero es para alguien con más experiencia.