Por que o Java acha que o produto de todos os números de 10 a 99 é 0?

O seguinte bloco de códigos fornece a saída como 0.

public class HelloWorld{

    public static void main(String []args){
        int product = 1;
        for (int i = 10; i <= 99; i++) {
            product *= i;
        }
        System.out.println(product);
    }
}

Por favor, alguém pode explicar por que isso acontece?

questionAnswers(9)

yourAnswerToTheQuestion