Checked exception is checked by the compiler at compile time. It's mandatory for a method to either handle the checked exception or declare them in their throws clause. These are the ones which are a sub class of Exception but doesn't descend from RuntimeException.
The unchecked exception is the descendant of RuntimeException and not checked by the compiler at compile time.