Assertions were added in Java 1.4. They are used to verify the accuracy of an invariant in the code. They shouldn't be triggered in production code, and are indicative of a bug or misuse of a code path. They can be initiated at run-time by way of the -ea option on the java command, but are not set on by default.
An example:
public Foo acquireFoo(int id) {
Foo result = null;
if (id > 50) {
result = fooService.read(id);
} else {
result = new Foo(id);
}
assert result != null;
return result;
}