Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Java 9 e AOT

Com a vinda do Java 9, foi implementado um AOT Compiler. É uma ferramenta bem poderosa porque agora além do JIT, temos a oportunidade de usar esse tipo de compilador pra nos auxiliar a percebemos alguns erros que antes não seriam possíveis, como por exemplo um casting mal feito.

Além desse exemplo (do casting), quais outros erros poderiam ser percebidos pelo Graal que antes resultariam em uma exception ou error, já que oJIT não seria capaz de pegar esses erros de ante-mão?

3 respostas

A GraalVM tem algumas restrições, como todas as classes que precisam estar disponíveis durante a compilação e algumas limitações em relação à reflection. Algumas vantagens adicionais sobre a compilação básica são que os inicializadores estáticos são executados durante a compilação, para que você possa reduzir o trabalho realizado a cada vez que um aplicativo é carregado.

Entendi. Realmente parece útil. Mas em relação as possíveis exceptions, ele detectaria alguma antes de ela ser lançada durante o runtime?

solução!

A GraalVM por compilar em código de máquina consegue antecipar várias exceptions, outra vantagem é que as RuntimeExceptions pegas em compilação não são erros fatais para a GraalVM. Porém, cuidado ao usar frameworks, muitos deles não suportam essa compilação e vai estourar vários erros no seu console.