Absolutely identical. The second is allowed shorthand for the first (only when, as here, it is done as part of a variable declaration.
In Java all objects live in the heap, as arrays are objects in Java they lives in the stack.
for these two there is no difference in result, you 'll got two array objects with the same elements.
However sometimes you will encounter some situations where you can't use them, for example you don't know the elements of the array. then you get stuck with this form:
Object  array=new Object[size];