Welcome to the JavaRanch. the Release Notes for each release of the JDK has a section on new features. JDK and SDK are basically the same thing. JDK stands for "Java Development Kit" and "SDK stands for "Software Development Kit".
I join the recommendation for looking up the documentation... an appropriate reply could take dozens of pages...
Still, some features which most affect me:
1. Java 5 has Generices, e.g. ArrayList<String>. There's also an easier syntax for collection iteration ('for each').
2. Java 5 has annotations: sort of 'meta data' or remarks, which you can put on your classes/methods/fields (Annotations are saved in the ".class" file, unlike "/*...*/" remarks that are ignored by the compiler).
3. Java 5 has built-in JMX support
4. Java 4 and 5 have built-in XML support (Java 5 has some more advanced features).
5. Java 5 has a richer API for threads and locks (semaphores, thread-pools, "atomic variables" and more).
6. Java 4 and 5 have better Exception API, in particular the great option to define "Exception cause"... saved me tons debugging hours.
7. Varios other enhancements, such as: - New IO ("nio") - Logging api - Enhancements to Swing (e.g. Jspinner, more layout managers, more grphics utilities) - JDBC enhancements (e.g. DataSource, and i think there's something for Cerberos, but i'm not sure)... - Printing API