None at all - they're just different ways of expressing the same thing.
The second form is only available in a variable declaration, however. For example, you cannot write:
foo.someMethod({x, y});
but you can write:
foo.someMethod(new SomeType[] { x, y });
The relevant bit of the Java language specification is section 10.6 - Array Initializers:
An array initializer may be specified in a declaration,
or as part of an array creation expression (§15.10), creating an array and providing some initial values:
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…