Q:

Does Java-8 support product of elements of array

Java-8 provides stream to sum the array as following, does the stream support product? If steam doesn't support, is there other way to calculate the product without manually writing my loop?
int[] a = {1, 2, 3, 4};
int sum = IntStream.of(a).sum();

A:

sum and others are just shortcuts to specific reduce calls.

sum: Returns the sum of elements in this stream. This is a special case of
  a reduction and is equivalent to:
 return reduce(0, Integer::sum);

Reduce: Performs a reduction on the elements of this stream, using the
  provided identity value and an associative accumulation function, and
  returns the reduced value.

Then you can write something like:
int[] a = {1, 2, 3, 4};
int prod = IntStream.of(a).reduce(1,(x,y)->x*y);

A:

Try it with the reduce method. Something like below:
 int product = IntStream.of(a)
     .reduce((a,b) -> a*b)
     .orElse(0); // fallback value if stream is empty

