|
Exam Objectives |
|
Section 1:
Declarations and Access Control
|
|
Declare classes, nested classes, methods, instance
variables, static variables and automatic (method local) variables
making appropriate use of all permitted modifiers (such as public,
final, static, abstract, etc.). State the significance of each of
these modifiers both singly and in combination and state the effect
of package relationships on declared items qualified by these
modifiers.
Identify legal return types for any method given
the declarations of all related methods in this or parent classes.
|
| |
|
Section 2: Flow
Control, Assertions, and Exception Handling
|
| |
|
Write code using if and switch statements and
identify legal argument types for these statements.
Recognize the effect of an exception arising at a
specified point in a code fragment. Note: The exception may be a
runtime exception, a checked exception, or an error (the code may
include try, catch, or finally clauses in any legitimate
combination).
Write code that makes proper use of assertions,
and distinguish appropriate from inappropriate uses of assertions.
Identify correct statements about the assertion
mechanism.
|
| |
|
Section 3: Garbage
Collection |
| |
|
Recognize the point in a piece of source code at
which an object becomes eligible for garbage collection.
|
| |
|
Section 4:
Language Fundamentals |
|
| |
|
Identify classes that correctly implement an
interface where that interface is either java.lang.Runnable or a
fully specified interface in the question.
State the effect of using a variable or array
element of any kind when no explicit assignment has been made to it.
|
| |
|
Section 5:
Operators and Assignments |
|
| |
|
Determine the result of applying any operator
(including assignment operators and instance of) to operands of any
type class scope or accessibility or any combination of these.
In an expression involving the operators &, |, &&,
|| and variables of known values state which operands are evaluated
and the value of the expression.
Determine the effect upon objects and primitive
values of passing variables into methods and performing assignments
or other modifying operations in that method.
|
| |
|
Section 6:
Overloading, Overriding, Runtime Type, and Object Orientation
|
|
| |
|
Write code to invoke overridden or overloaded
methods and parental or overloaded constructors; and describe the
effect of invoking these methods.
* Write code to construct instances of any
concrete class including normal top level classes and nested
classes.
|
| |
|
Section 7: Threads
|
|
| |
|
Recognize conditions that might prevent a thread
from executing.
Write code using synchronized wait, notify and
notifyAll to protect against concurrent access problems and to
communicate between threads.
Define the interaction among threads and object
locks when executing synchronized wait, notify or notifyAll.
|
| |
|
Section 8: The
Collection Framework |
|
|
Make appropriate selection of collection
classes/interfaces to suit specified behavior requirements.
Distinguish between correct and incorrect
implementations of hashcode methods.
|