Advanced features of the new Language Features
.
Not covered: Detailed knowledge about the usage of the packages (this is covered in the exams Java SE Concurrency - Low-Level
and
Java SE Concurrency - High-Level
). Threads
- Explain how the method overload resolution works with Autoboxing and Varargs.
- Identify classes from the Base Library that are generified.
- Define the enhancements of java.lang.Class and java.lang.reflect.
- Describe the support for serialization of enumerated type instances.
- Know what bridge methods are and when they are used.
- Differentiate the use of StringBuilder and StringBuffer.
- Explain and use the new options for the Garbage Collector.
- Use Covariant Return Types.
- Know about the enhanced performance of javax.imageio
- Discuss the extended javadoc of Serializable, particularly, the role and usage of serialVersionUIDs.
- Describe the IPv6 support for Windows XP and Windows 2003.
- Explain the timeout feature for connection and read operations.
- Identify the new API which provides a means for Java applications, which includes RMI applications, to be launched via inetd.
- Create code that uses the new ping-like capability of InetAddress class.
- Describe and use the new CookieHandler API.
- Use the improved Proxy server configuration possibilities through the ProxySelector API.
- Develop code to use the new framework to access a file caching mechanism.
- Explain that there are guaranteed protocol handlers in URL class (http, https, file, jar and ftp).
- Define the security enhancements, as described by Sun
.
- Explain what's new and where to find more information.
- Find and use the JSSE Reference Guide and explain what's new in JSSE.
- Identify what's new in PKI.
- Explain the following features:
- Signature Timestamp Support
- SASL API
- enhancements of Java GSS/Kerberos
- enhancements of JCE
Not covered: In depth knowledge of all the security APIs
Internationalization- Know that character handling is now based on version 4.0 of the Unicode standard.
- Use the new methods of the Character class to handle Unicode characters, like
- isValidCodePoint(), isSupplementaryCodePoint(), isHighSurrogate(), isLowSurrogate(), isSurrogatePair(), toCodePoint(), codePointAt(), codePointBefore(), toChars(), codePointCount(), offsetByCodePoints(), isDefined()
- Explain the enhancements of the DecimalFormat class.
- Describe that vietnamese is now supported.
- Define the new System.getenv() method.
- Explain the changes to System.getenv(String) method.
- Write code that uses the new ProcessBuilder class.
- Differentiate between ProcessBuilder and Runtime.exec().
- Describe the purpose of the new Formatter class.
- Develop code that uses format() and printf().
- Explain how and when to use the Formattable interface.
- Create code that uses the Scanner class.
- Using the Scanner class with simple Regular Expressions.
Not covered: In depth knowledge about Regular Expressions, i.e. java.util.regex.
JavaBeansTM Component Architecture- Identify the new class IndexedPropertyChangeEvent.
- Identify and use the new methods fireIndexedPropertyChange().
- Use the new method for creating a PropertyEditor.
- Describe and use the now public constructors for PropertyEditorSupport and use the new methods setSource() and getSource().
- Create code that uses the new interfaces and their implementations (Queue, BlockingQueue, ConcurrentMap).
- Use the new List and Set implementations (CopyOnWriteArrayList and CopyOnWriteArraySet).
- Write code that makes appropriate use of the new methods of Arrays (deepEquals(), deepHashCode() and deepToString()).
Not covered: Things that are part of Java 5 New Language Feature Exam, e.g. Generics, Enhanced for loop, Autoboxing
Java API for XML Processing (JAXP)- Identify which versions are used (JAXP 1.3, SAX 2.0.2, DOM Level 3, XML 1.1, ...).
- Use APIs which can tell you which parser you are using.
- Differentiate the new package names (com.sun.org.apache... vs org.apache...).
- Discuss that XPath is now part of J2SE 5.0
- Explain that the new XSLTC is the default transformation and not Xalan.
- Create code that uses Xalan as transformation engine and not XSLTC.
- Use the build-in validation processor for XML Schema.
- Describe the possibility of using another processor.
- Explain the XML Schema data types (like Gregorian Calendar dates and times).
- Identify and use the implementation for XInclude.
Not covered:
- Knowledge about how to handle XML or perform a XML transformation.
- All the features that are part of the XML exams.
- Identify the ten new methods as described in Tech Tips: What's new in the Math class
or look at Math api doc
and search for "1.5".
- convenience methods (signum(), hypot())
- common logarithm method (log10())
- method for calculating the cube root (cbrt())
- methods to determine the precision of an answer (ulp())
- hyperbolic trigonometric methods (sinh(), cosh(), tanh())
- Discuss and use the enhancements of BigDecimal as described in JSR 13: Decimal Arithmetic Enhancement
.
- Use the new bit manipulation operations in the wrapper classes Integer and Long.
- highestOneBit(), lowestOneBit(), numberOfLeadingZeros(), numberOfTrailingZeros(), bitCount(), rotateLeft(), rotateRight(), reverse(), signum(), reverseBytes()
Not covered: Special values of these methods and the meaning of the methods (you should be able to answer the questions without a degree in Mathematics ;-).
Concurrency Utilities A brief overview of this new package is here![](images/out.png)
- Discuss the new packages java.util.concurrent, java.util.concurrent.atomic, and java.util.concurrent.locks.
- Describe the appropriate use of these packages.
Not covered: Detailed knowledge about the usage of the packages (this is covered in the exams Java SE Concurrency - Low-Level
![](images/out.png)
![](images/out.png)
- Explain the new method getId()
- Write code to query the execution state of a Thread (Thread.state, getState()).
- Discuss the new thread dump API (getStackTrace, getAllStackTraces).
- Explain and use the uncaughtExceptionHandler of Thread.
- Discuss the new java.lang.management package and describe how this provides an interface for monitoring and managing the Java virtual machine.
- Describe the new java.util.logging.LoggingMXBean interface, in particular that this is the management interface for the logging facility.
- Explain why both JMX 1.2 and JMX Remote 1.0 are included in J2SE 5.0.
- Describe how to start a JMX agent for monitoring and managing remote or local Java VMs instrumentation or any application with JMX instrumentation (i.e. using java.lang.instrument).
- Explain that the SNMP agent publishes the standard MIB for the Java virtual machine instrumentation.