These are checked during compile time itself. Checked Exceptions should be either handled or the same should be notified with the throws keyword.
Example - SQLException, IOException.
These exceptions are checked during runtime. The classes that inherit the RuntimeException fall under unchecked exceptions. It's not necessary to handle these exceptions.
Example - NullPointerException, ArrayIndexOutOfBoundsException.