¿Alguien puede dominar un lenguaje (Java) si pasa toda su vida aprendiéndolo?

Depende exactamente de qué es lo que quieres dominar. ¿Podrías dominar el italiano en tu vida? Usualmente decimos que puedes. Para dominar la gramática italiana no hace falta mucho tiempo; En el caso del italiano, la tarea se complica por el hecho de que ningún lenguaje humano siempre se adhiere rigurosamente a su propia gramática. Pero Java siempre se adhiere precisamente a su propia sintaxis.

Por lo tanto, puede dominar la sintaxis (gramática) de Java probablemente en poco tiempo. Menos de un año si comienza desde cero.

Pero, de la misma manera que la gramática italiana admite el uso de una gran cantidad de palabras, la sintaxis de Java admite muchas clases y API. Si quieres aprender toda la API Java estándar, realmente no tengo idea de cuánto tiempo tomaría eso, pero imagino que una persona podría administrarla en unos pocos años. Sería un trabajo duro y aburrido, como aprender casi un directorio telefónico.

Tendría que aprender todo esto: Java Platform SE 8

¿Por qué alguien en su sano juicio se sometería a eso?

Además de eso, hay una gran cantidad de otros códigos Java que se han escrito y puesto a disposición, todos implementados con el mismo lenguaje básico que los IDE entienden. Ningún ser humano podrá aprender todo eso. Sería comparable a familiarizarse con todos los libros publicados en italiano. Una tarea imposible.

Lo que realmente necesita hacer, de manera más útil, es aprender la sintaxis común de Java, aprender sobre las clases de uso común y luego practicar mucho la programación. Entonces, tal vez elija una API o marco particular que le interese, y familiarícese con eso.

Si alguien dice que ha “dominado” Java, puede estar seguro de que simplemente quiere decir que es un programador de Java competente, familiarizado con una serie de API y con fluidez en la sintaxis del lenguaje, y bien practicado en la escritura de programas. Por lo general, las personas tardan varios años en llegar a ese punto. Lo más difícil es aprender a armar bien los programas. Es común que las personas obtengan trabajos con Java mucho antes de llegar a ese punto.