My OCAJP Java Certification Success Story

DZone 's Guide to

My OCAJP Java Certification Success Story

Want to earn your OCAJP certification for Java SE 8? Check out this post to learn more about one dev's experience taking and passing this exam.

· Java Zone ·
Free Resource

I just cleared my OCAJP certification for Java SE 8 with an 88 percent score. Thanks to my friends for sharing good study materials for my success.

I have been a passionate learner of Java since my first year of college and my dream is to become a software architect. Though it is too early to think about this role, my hard work in design skills definitely will help me to achieve this goal.

I want to give a special thanks to my tech lead for supporting critical Java code problems while studying OCAJP. He is my inspiration to become a software architect.

The OCAJP 8 refers to the Oracle Certified Professional, Java SE 8 Programmer. It is the second level certification in Oracle Certification list.

Image title

OCAJP 8 Details

The exam does not require any prerequisite, so any Java candidate can take this certification.

Exam Name:

Java SE 8 Programmer I

Certification Name:

Oracle Certified Associate, Java SE 8 Programmer

Short Name:


Exam Number:


Format of Questions:

Multiple Choice

Exam Duration:

150 minutes

Number of Questions:    


Exam Passing Score:  

Java version SE 8
Prerequiste  None


OCAJP 8 Exam Syllabus

The exam syllabus is more equivalent to older versions of SCJP certification with Java SE 8 new additions, like date/time API, switch with String, and exception handling enhancements. The below contents are directly taken from the Oracle page:

Java Basics 

  • Define the scope of variables 
  • Define the structure of a Java class
  • Create executable Java applications with a main method; run a Java program from the command line; produce console output
  • Import other Java packages to make them accessible in your code
  • Compare and contrast the features and components of Java such as platform independence, object orientation, encapsulation, etc.

Using Operators and Decision Constructs 

  • Use Java operators; use parentheses to override operator precedence
  • Test equality between Strings and other objects using == and equals ()
  • Create if and if/else and ternary constructs 
  • Use a switch statement 

Using Loop Constructs 

  • Create and use while loops
  • Create and use for loops including the enhanced for loop
  • Create and use do/while loops
  • Compare loop constructs
  • Use break and continue  

Working with Inheritance 

  • Describe inheritance and its benefits
  • Develop code that makes use of polymorphism; develop code that overrides methods;  differentiate between the type of a reference and the type of an object
  • Determine when casting is necessary
  • Use super and this to access objects and constructors
  • Use abstract classes and interfaces

Working with Selected classes from the Java API 

  • Manipulate data using the StringBuilder class and its methods
  • Create and manipulate Strings
  • Create and manipulate calendar data using classes from java.time.LocalDateTime,  java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, java.time.Period
  • Declare and use an ArrayList of a given type 
  • Write a simple Lambda expression that consumes a Lambda Predicate expression

Working With Java Data Types 

  • Declare and initialize variables (including the casting of primitive data types)
  • Differentiate between object reference variables and primitive variables
  • Know how to read or write to object fields
  • Explain an Object's Lifecycle (creation, "dereference by reassignment" and garbage collection)
  • Develop code that uses wrapper classes such as Boolean, Double, and Integer  

Creating and Using Arrays 

  • Declare, instantiate, initialize and use a one-dimensional array
  • Declare, instantiate, initialize and use multi-dimensional arrays

Working with Methods and Encapsulation 

  • Create methods with arguments and return values; including overloaded methods
  • Apply the static keyword to methods and fields  
  • Create and overload constructors; differentiate between default and user-defined constructors
  • Apply access modifiers
  • Apply encapsulation principles to a class
  • Determine the effect upon object references and primitive values when they are passed  into methods that change the values

Handling Exceptions 

  • Differentiate among checked exceptions, unchecked exceptions, and Errors
  • Create a try-catch block and determine how exceptions alter normal program flow
  • Describe the advantages of Exception handling 
  • Create and invoke a method that throws an exception
  • Recognize common exception classes (such as NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException)

My OCAJP 8 Preparation

My overall preparation took about 4 months – my preparation artifacts are given below.

OCA books: by Jeanne Boyarsky, Scott Selikoff, Kathy Sierra, and Bert Bates. These two books are good for learning Java basic stuff and easy for preparing for OCAJP with tricky practice questions.

MyExamCloud OCAJP 8 Practice Tests Study Plan: This is one of the best online prep kits for this certification.

CodeRanch forum: The forum grouped Q & A for all Java Certs, including OCAJP.

I started reading OCA books and tried few mock exams to check my eligibility to take the real exam. I couldn't clear the very first mock exam I took at MyExamCloud; not once, but twice. I noticed that I am missing coding stuff for many areas. I always said to myself, “Don’t Panic! Relax, take a deep breath, and begin to focus...”


My usual work time is between 9 AM and 7 PM, and it may get extended to 10 PM when there are client meetings. As part of my initial planning, I woke up early in the morning, around 5.00 AM, and it allowed me to get sufficient daily study time.

I started taking notes on each and every set of objectives from the OCAJP syllabus with my own FAQ. For example, I created the following FAQ to understand things like “Define the scope of variables” section.

  • What is scope in Java?

  • How scope lifeline defined in Java?

  • What is class level scope?

  • What is object level scope?

  • What is method level scope?

  • What are local variables?

  • What are static variables?

  • What is a static block?

These type of questions really helped me to understand, in detail, by referring to additional books and online resources.

The next important point I want to explain about my preparation is programming in each subsection of the syllabus. We need more program experience to clear OCAJP certification, so we must code well before attending the certification test.

Within the 60-day window, I covered all OCAJP syllabus and started taking practice tests. For the next 60 days, I was busier with attending practice questions from the book and MyExamCloud tests.

The Exam Experience

The real exam is very easy when compared to the mock tests. The loops and arrays questions are trickier than other chapters.  I was worried about these type of tricky questions on the exam. Some questions were hard, but they were easier if you wrote the flow on your paper. They are just trying to see if you understand Java basics and a few SE 8 API classes/interfaces. The exam does not cover the majority of the SE 8 changes, and they are covered in the next exam. I completed the exam 20 minutes before and got my results. Thanks to the test center manager for offering 20% off my next certification exam!


The exam is much needed one for all Java aspirants. The OCAJP 8 definitely enhances your skills and will be more useful for landing a good Java developer job.

exam prep, java, java certification, java se 8, ocajp, ocajp 7, opinion, oracle, study prep

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}