Java SCJP 6 OCP SE 6 Certification Training
Preparation Exam for SCJP 6 / OCP SE 6 Certification
This training course prepares you for the OCP Oracle™ Certified Programmer for the Java Standard Edition 6 (former SCJP 6 )
Important information:
- The OCP Java SE 6 Certification is no longer up to date. As long as Oracle™ offers this certification, I offer the preparation seminar. The OCP 7 training is in preparation.
- There is not going to be any certification exam during this course nor are there any exam fees included in the price of the training.
- The order of the objctives below will be different during the seminar.
Duration:
ca. 40 training units à 45 minutes
Target audience:
Programmer, who want to pass the OCP 6 certification exam
Prerequisites:
You should be quite familiar with the Java Language. The complete contents of my Java Fundamental Training course should be familiar to you. This seminar is build on this training and extends and comlements it.
01 Declarations, Initialization and Scoping :
- Overview
- Compilation Units: Code Study and Summary
- Class Declaration: Code Study and Summary
- Interface Declaration: Code Study and Summary
- Identifier Rules and Keywords
- JavaBeans Naming Standards
- Identifier Rules and Conventions: Summary
- Class Members: Code Study
- Class Member Access
- Final versus Abstract
- Modifiers: Summary
- Nonstatic Nested Classes: Code Study and Summary
- Static Nested Classes: Code Study
- Method Local Classes: Code Study
- Anonymous Inner Classes: Code Study I
- Anonymous Inner Classes: Code Study II
- Nested Classes: Summary
- Simple Enums: Code Study
- Advanced Enums: Code Study
- Even more Advanced Enums: Code Study
- Enums: Summary
- Methods
- Passing Variables into Methods
- Construction and Initialization
- Init Process: NetBeans Debugging Session
- Constructor Rules
- Correct Overriding: Progamming Task I, II and Summary
- Overriding versus Overloading
- One-Dimensional Arrays: Code Study (Part I: Memory Introspection)
- One-Dimensional Arrays: Code Study (Part II: Syntax)
- One-Dimensional Arrays: Code Study (Part III: Assignment Rules)
- Multidimensional Arrays: Code Study and Summary

02 Flow Control:
- Legal Expressions for switch and case
- basic for loop
- Enhanced for Loop
- break and continue
- The Throwable Hirarchy
- Errors, Runtime- and checked Exceptions
- Exception Declaration
- The Catch or Declare Rule
- allowed try/catch/finally combinations
- Exception Propagation or How to "unwind the stack"
- Rethrowing an Exception
- Exceptions and Overriding
- Create Your Own Exception
- Exceptions and Errors You Should Know
- Assertions
- Basis Assertion Syntax
- the assert as an Identifier Trap
- Assertion Awareness in earlier Java Versions
- Appropiate Use of Assertions
03 API Contents:
- Wrapper Classes
- Autoboxing
- What triggers the Complier to start Boxing or Unboxing?
- Wrapper to String to Native Conversions
- Implicit Castings
- Implicit Conversions (Primitives)
- Equality Test with Wrapper Objects
- Comparing Wrappers
- Widening, Boxing, Varargs Precedence
- StringBuilder / StringBuffer API
- String API
- File API
- Reader and Writer Inheritance Hirarchy
- Code Study: Writing to and Reading from a Text File
- DataOutputStream and DataInputStream
- Object Serialization Exam Topics
- Dealing with non serializable and deserialize object content
- How to serialize a Date Object?
- Date and Time
- The Date Class
- The Calendar Class
- The Calandar Fields
- The DateFormat API
- The Locale API
- The NumberFormat and DateFormat API
- The Regular Expressions you should know for the Exam
- The Pattern and Matcher Classes
- The Format String Syntax you should know for the exam
- The Scanner Class
- Scanning Datatypes
- Scanning with Regular Expressions
- The Console API
- The Packages you should know for the Exam


04 Concurrency:
- Thread Constructors
- Different ways to instanziate a Thread
- How to get the Thread Object from inside the run Method
- Causes for IllegalThreadException
- Thread States
- Examples of synchronized and non-synchronized Classes you should know
- The difference between wait() and join()
- Why is sleep() static?
- Thread Priorities
- The Tread API you should know
- Consumers and Producers
05 OO Concepts:
- Can static methods be overriden?
- Does polymorphism also apply to hidden/shadowed instance variables?
- Rules for reference casting: Compiler and Runtime Errors
- instanceof: return values and Compiler Errors
- Can you call a static Variable or Method on a null reference?
- Coupling and Cohesion
- "Is a" versus "Has a" Relationships
- Overriding versus Overloading
- Final versus Abstract
- Instance versus Static


06 Collections / Generics:
- The Principle behind Generics
- Declaration of a Generic Type
- Declaration of a Generic Method
- Use of a Generic Method
- Use of a Generic Type
- Type Erasure
- Consequences of Type Erasure I
- Consequences of Type Erasure II
- Upper or Lower Bounds
- Code Study: Overriding and Generics
- Generic Overloading/Overriding
- Nongeneric versus generic Collections
- Mixing Generic and Nongeneric Code
- The Collection Framework
- Collection API Study: Examination
- Collection API Study: Modification
- Collection API Study: Array Conversion
- The List Class
- List API Study: Examination
- List API Study: Modification
- List API Study: Iteration
- Set
- SortedSet
- SortedSet API Study: Examination
- SortedSet API Study: Comparison
- NavigableSet
- NavigableSet API Study: Examination
- NavigableSet API Study: Modification and Iteration
- Queues
- Queue API Study: Modification and Examination
- Map
- Map, Map.Entry
- Map API Study: Modification
- Map API Study: Examination and Consequences of Equals Hashcode Overriding
- Map API Study: Collection View Iteration
- SortedMap
- NavigableMap
- Collection Classes
- TreeSet
- HashSet
- LinkedHashSet
- EnumSet
- ArrayList
- LinkedList
- ArrayDeque
- PriorityQueue
- Map Classes
- TreeMap
- HashMap
- LinkedHashMap
- EnumMap
- The 4 different natures of collection interfaces
- The Equals and HashCode Contracts
- Overriding equals and hashcode
- Advanced Overriding of Equals and Hashcode
07 Fundamentals:
- javac Compiler usage
- java Interpreter usage
- jar usage
- packages, imports, main,command line args
