1. Time limit has been increased from 120 mins to 175 mins. 2. Number of questions has been increased from 61 to 72 3. Pass percentage has been increased from 51% to 59%
Differences in syllabus With J2SE 5.0 Sun has inroduced many new features in the Java language. The changes in the exam reflect these changes. You will have to have a very good knowlewdge of these changes for SCJP 5.0 exam. The new objectives are
1.Develop code that declares classes (including abstract and all forms of nested classes), interfaces, and enums, and includes the appropriate use of package and import statements (including static imports). You have to know about the enumerated data types and static imports, features missing in 1.4
2.Develop code that declares both static and non-static methods, and - if appropriate - use method names that adhere to the JavaBeans naming standards. Also develop code that declares and uses a variable-length argument list. JavaBeans naming convention has been added for the first time. Variable length arguments are a new addition to the language.
3. Recognize situations that will result in any of the following being thrown: ArrayIndexOutOfBoundsException,ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError or NoClassDefFoundError. Understand which of these are thrown by the virtual machine and recognize situations in which others should be thrown programatically. Though Exceptions were present in the earlier exams you were not required to know their names. No earlier objective mentioned any specific Exception.
4. Given a scenario involving navigating file systems, reading from files, or writing to files, develop the correct solution using the following classes (sometimes in combination), from java.io: BufferedReader,BufferedWriter, File, FileReader, FileWriter and PrintWriter. Develop code that serializes and/or de-serializes objects using the following APIs from java.io: DataInputStream, DataOutputStream, FileInputStream, FileOutputStream, ObjectInputStream, ObjectOutputStream and Serializable. File handling was required knowledge in SCJP 1.2, then it was removed in 1.4 and now it again makes a comeback.
5.Use standard J2SE APIs in the java.text package to correctly format or parse dates, numbers, and currency values for a specific locale; and, given a scenario, determine the appropriate methods to use if you want to use the default locale or a specific locale. Describe the purpose and use of the java.util.Locale class. With the increasing importance of localisation and Javas support for it, knowledge of locales is now required for the exams.
6.Write code that uses standard J2SE APIs in the java.util and java.util.regex packages.......... Regualar Expressions havebeen introduced.
7.Write code that uses the generic versions of the Collections API, in particular, the Set, List, and Map interfaces and implementation classes. Recognize the limitations of the non-generic Collections API and how to refactor code to use the generic versions. Introduction of generics makes a significant difference to how the Collection framework is to be used. So generics makes a entry to the exams.
8.Develop code that uses the primitive wrapper classes (such as Boolean, Character, Double, Integer, etc.), and/or autoboxing & unboxing. Discuss the differences between the String, StringBuilder, and StringBuffer classes. Autoboxing and unboxing, StringBuilder are new topics.
Old objectives not present are: 1. You donot need to learn the methods of Math class. 2. There is less emphasis on wrpper types. In particular you donot need to learn the methods of Wrapper types.