Sobre sua primeira pergunta, em Java é igual à situação que vc descreveu com PHP.
Se vc aprender Java 8 e for trabalhar com Java 12 não vai se sentir perdido.
Alguns exemplos:
- Do mesmo jeito que o PHP 8 trouxe o
match
, no Java 12+ temos as switch expressions. - No PHP 8 temos Constructor property promotion, no Java 14+ temos os
records
.
E por aí vai. Também haverão novos métodos adicionados à API bem como métodos que se tornaram obsoletos.
Ou seja, haverão mudanças, mas nada que faça o Java 21 parecer uma linguagem completamente nova para alguém vindo da versão 8.