Qual versão do JDK devo usar? JDK 12 ou 11?
JDK 11 é uma versão de "Suporte de Longo Prazo" (LTS). JDK 12 é uma versão "Feature Release".
A distinção pretendida entre versões LTS e Feature é a seguinte: em geral, softwares implementados devem usar uma versão LTS. As versões LTS serão atualizadas com correções de bugs e segurança por alguns anos após a data de lançamento do LTS. Isso permite que você continue rodando seu software em uma plataforma "suportada" por um número de anos.
O uso pretendido de uma versão de recurso é permitir que os desenvolvedores experimentem novos recursos e comecem a se preparar para implantar o software usando os novos recursos quando a próxima versão do LTS for lançada.
Obviamente ninguém irá impedi-lo de implantar um aplicativo usando uma versão de recurso. No entanto, se bugs ou problemas de segurança forem descobertos ao longo do caminho, você não receberá atualizações para corrigir o problema. Você sempre atualiza para a próxima Versão de Recurso, mas não há garantia de compatibilidade 100% retroativa, então você está arriscando lá.
Então, para responder sua pergunta: se você está construindo uma aplicação que você espera implantar, você deve usar o JDK 11. Se você está apenas experimentando ou usando isso como uma oportunidade de aprendizado, você pode usar o JDK 12. Mas você precisa estar ciente dos recursos que são novos no JDK 12, então se você for chamado para construir uma aplicação compatível com o JDK 11, você saberá quais recursos você pode e não pode usar.