I do not see much difference between Java 5 and Java 6. I see big difference between Java 1.4 and Java 5. Java 6 collection almost same as Java 5. Java 6 major new feature is JAXB, Java Script support. Also I do not see much difference in Concurrent Threads.
Lots of confusion about dependency annotation in Java 6 and Spring 3. Java 6 supports @Inject, Spring 3 supports @Autowired + @Qualifier, @Resource.
Ganesan, Let me know your thoughts about Java 6 Vs Java 5. Is there a big difference between SCJD 5.0 and 6.0 certifications ?
This is a very interesting discussion regarding OCMJD 6 certification.
There is no restriction to follow Java SE 5 or 6, however the application must be compatible with Java SE 6 and must not have any deprecated APIs.
It is better to use latest APIs in applicable places in your design and the code must be follow coding standards and guidelines recommended by Oracle. You can find some useful new features in Java SE 6 like Console class, NavigableMap, etc.
#1 Code and Design Approach
Start with your design using APIs you know (any Java edition).
Slowly change the code according to latest Java SE 6 APIs.
For example instead of using comparator algorithm to fetch hashmap keys, we can use Java SE 6 NavigableMap to traverse keys in ascending or descending order.
Fine tune your code according to patterns and best practices.
For example instead of mixing controller logic in GUI components, we can use separate controller class to handle the same. This is called SoC(Separation Of Concerns).
#2 Design and Code Approach
Identify the classes and algorithms.
If possible use UML diagrams to express your design.
Apply patterns and APIs (Java classes, interfaces and methods).
Start developing the code.
The objective of this exam is to show your knwoledge in coding and how you are applying best practices (coding standards, patterns, threading, networking, etc). There are 'n' number of ways to solve a business problem but only few solutions are better than remaining.