Por que o Java executa código escrito em comentários usando caracteres Unicode?
Olá a todos! Sou novo em Java e me deparei com um comportamento estranho que não consigo explicar. Tentei escrever um programa simples "Hello, World!", mas acidentalmente descobri que o código dentro de comentários pode ser executado se usar sequências de escape Unicode.
Aqui está um exemplo que me confundiu:
```java
public class Main {
public static void main(String[] args) {
// \u000d System.out.println("Isso está sendo executado!");
System.out.println("Hello, World!");
}
}
```
Quando executei este código, duas linhas apareceram no console: "Isso está sendo executado!" e "Hello, World!". Mas a primeira linha é um comentário! Como isso é possível? Eu pensei que comentários eram ignorados pelo compilador.
Li que isso está relacionado a como o Java processa Unicode, mas não entendo os detalhes. Por que caracteres como \u000d (retorno de carro) podem "quebrar" comentários? Existem outros caracteres Unicode semelhantes que podem causar comportamento inesperado? E como posso proteger meu código contra isso?