A checked exception is one that must be caught in order to process that piece of code. For example, opening a connection to a website might throw a MalformedURLException if the URL is not properly formatted. If writing to a file is interrupted it might result in an IOException.
"The exceptions launched by Developer/API are: IllegalArgumentException, IllegalStateException, NumberFormatException e AssertionError. Just don't forget about those ones that are launched by Developer/api, so everything else will be launch by the JVM"
Is it clear? I think those ones you have to burn in your mind [ December 26, 2008: Message edited by: Djonatah Stiegler ]
Checked exceptions are those that the compiler checks if are caught or thrown, this means, if some method throws an exception (defined on its method signature) and, in your code, you call that method, you always should catch it in or throw it, normally, any exception extending the Exception class (but not the RuntimeException class) is a checked exception.
As Djonatah said, those are mainly the developer's thrown exceptions, but you need to understand why, the exceptions thrown by developers are mainly caused by the code the developer made, either by a mistake or intentionally.