Java 5 New Base Library Features

Print the objectives

Take the exam   Take a beta test

This exam covers changes and enhancements in the Base Library, and performance Enhancements.

The release notes from Sun and Improvements to Program Execution Speed (from Sun) are appropriate documentation sources.
  Released  Beta  Frozen  

Advanced features of the new Language Features  3 questions

  • 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.
22 2 31

Performance, Lang and Util Packages, Miscellaneous  3 questions

  • 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.
13 27 26

Networking  1 question

  • 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).
2 8 11

Security  1 question

  • 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

0 1 15

Internationalization  1 question

  • 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.
1 5 13

Improved Support for Environment Variables  1 question

  • Define the new System.getenv() method.
  • Explain the changes to System.getenv(String) method.
3 3 6

ProcessBuilder  1 question

  • Write code that uses the new ProcessBuilder class.
  • Differentiate between ProcessBuilder and Runtime.exec().
3 2 9

Formatter  1 question

  • Describe the purpose of the new Formatter class.
  • Develop code that uses format() and printf().
  • Explain how and when to use the Formattable interface.
2 57 4

Scanner  1 question

  • 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.

2 24 14

JavaBeansTM Component Architecture  1 question

  • 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().
1 9 2

Collections Framework  1 question

  • 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

1 40 17

Java API for XML Processing (JAXP)  1 question

  • 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.
0 0 8

Math & Bit Manipulation Operations  1 question

  • 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 ;-).

3 10 18

Concurrency Utilities  1 question

A brief overview of this new package is here.
  • 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 and Java SE Concurrency - High-Level).
3 2 10

Threads  1 question

  • 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.
2 18 9

Monitoring and Management  1 question

  • 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.
1 6 4

Exam information

  • 30 minutes
  • 20 questions (470)
  • 80% required
  • +3 √
  • - 12  points
  • 15 day delay
  • status: released

Exam leader

Top contributors