Da uma olhada na resposta que dei para essa mesma pergunta nesse post: https://www.tabnews.com.br/cahh/java-2023