Are you preparing for taking the OCPJP 8 exam? If so, this article will come in handy to you - it answers the questions you may have on preparing for the OCPJP 8 exam.
(Call Girls) in Lucknow Real photos of Female Escorts 👩🏼❤️💋👩🏻 8923113531 ➝...
How to Prepare for the OCPJP 8 Exam?
1. How to Prepare for the
OCPJP 8 Exam?
S G Ganesh, Hari Kiran, Tushar Sharma
One of the important questions you may have when you start preparing for the OCPJP
8 exam is how to go about preparing for the exam. In this article, we answer some of these
questions in the form of an FAQ. We mainly focus on the OCPJP 8 exam (Oracle exam code
IZ0-809). Note that Chapter I in our OCPJP 8 book addresses many of these topics.
1. How long should I prepare before appearing for the exam?
Short answer: Depending on your level of knowledge and experience in OCPJP 8
topics, it may take from 1 month to 6+ months.
http://ocpjava.wordpress.com "1
2. Long answer: Preparation time depends on your knowledge and experience in Java
programming. If you have already cleared OCAJP 8 (Oracle Certified Associate Java
Programmer 8) exam, or any of the older Java certifications such as SCJP, it usually takes 1
months to 6 months to prepare for the exam.
Why does it take time to prepare for the OCPJP 8 exam? Because it is a reasonably
difficult exam to crack! It covers a wide range of topics, ranging from class design concepts to
lambda expressions, streams, new date and time API, and localization.
If you have just cleared OCAJP 8 and plan to appear for OCPJP 8 exam, we would
recommend you to plan allocating 6 months to prepare for the exam (subject to individual
preparation, experience, and available time). You need to spend quite a bit of time to prepare
difficult topics such as generics, streams API, functional interfaces, and concurrency utilities.
Even if you are an experienced Java programmer, you may not have exposure to certain
topics that are covered in OCPJP 8. For example, if you have never written any code using
localisation (aka internationalization), then you'll need to prepare on this topic before
appearing for the exam. Another possibility is that you may not have exposure to Java 8
features such as lambda expressions, functional interfaces, date and time API, parallel
streams, etc.
Remember that OCPJP 8 exam covers corner cases, unusual aspects and tricky aspects
in language features and APIs. So, you'll need to brush-up on difficult topics such as semantics
of multi-threading, why lambda expressions are not Objects, and unusual aspects involved in
generics.
OCPJP 8 exam tests your knowledge and understanding of Java language and library
and does not test how well you can memorize things. However, there are certain aspects in
OCPJP 8 exam will require you to remember such as format strings (in printf), method names
in pre-defined functional interfaces, the names of interfaces and classes in java.time API, etc.
These topics require preparation, and if you ignore our warning and go ahead to take the
exam without any preparation, then you'll not be able to confidently answer many questions
in OCPJP 8 exam.
If you're ready to throw $300 in dustbin, then do appear for OCPJP 8 exam without
any preparation whatsoever! Or a more sensible thing: transfer those dollars to our bank
account and we'll gladly accept that ;-)
Bottom line: No matter how experienced you are in Java, it is unlikely that you'll crack
the exam without any preparation!
http://ocpjava.wordpress.com "2
3. 2. How should I go about preparing for the exam?
Of course, the first thing we would suggest is to buy our book and read it :-)
The second thing we suggest is to not to stop preparation with reading our book! Don't
get us wrong - the book covers all the topics to the required breadth and depth, but OCPJP 8
is not an easy exam and there is more you need to do to be confident of clearing the exam.
What the book provides you is knowledge needed to appear for the exam, but to crack the
exam, you need to understand and internalize the concepts! How to achieve that?
The key to cracking OCPJP 8 exam is to code, code, and code! It is through hands-on
programming that you'll really get to understand and internalize the concepts. For example,
reading about differences between nested, inner, and anonymous classes is only the first step;
more important thing is to really get an intuitive understanding on what these differences are
and know the nitty-gritty details of the differences between these variants. You must also
understand how lambda expressions are different from using anonymous inner classes. The
way to achieve it is through writing code. If you don't have good opportunities to learn Java
as part of your work, you can try some toy projects.
Also, there are always topics that you would feel you require more preparation. For
example, if you don't know about Java 8 date and time classes, it is better if you read more
about it and try out programs using the java.time API. A very good resource for further
reading is Oracle's Java tutorial. Specifically, for OCPJP 8 preparation read the topics related
to this exam in Oracle's tutorial.
It is important to focus on the exam topics especially if you are pressed for time. For this
reason, reading general Java tutorial books or references is not a good idea for exam
preparation when your exam dates are close by. Why? In general reading general Java
tutorials or references is good, but Java is vast and there are just too many topics to read and
learn. You're likely to get lost in ocean of details without getting into required depth in topics
relevant to OCPJP 8. For example, java.util.concurrent utilities are not covered well in most
Java books meant for general reading; however, OCPJP 8 requires you to have exposure to
specific utilities in this package such as CyclicBarrier class. Also, many topics that are covered
in detail are simply irrelevant for OCPJP 8 exam, such as Swing programming, Network
programming, JavaBeans, Security, Remote Method Invocation (RMI), and Reflection.
http://ocpjava.wordpress.com "3
4. 3. Which topics should I focus for effective OCPJP 8 exam preparation?
Focus especially on Java 8 features, focus on topics that are difficult in general for most
OCPJP 8 exam takers, and focus on topics that are difficult to you.
OCPJP 8 has special focus on Java 8 exam topics. As we have already mentioned, these
are topics such as lambda expressions, functional interfaces, streams (including parallel
streams), java.time package, changes to Java API with lambda expressions, etc. From our
experience taking the exam, we found a larger share of questions from this topic (one
possibility for disproportionate number of questions on Java 8 is that Oracle's question bank
for IZ0-809 exam and IZ0-810 exam are shared!). Since you're likely to get a significant
number of questions on Java 8 topics, better be prepared for it.
In general, certain OCPJP 8 topics are difficult for most OCPJP exam takers, such as
functional interfaces, streams and parallel streams. So, we would recommend you to prepare
well for these topics.
You may not have exposure to some specific topics in OCPJP 8, such as IO
fundamentals and NIO.2, JDBC, localization, or multi-threading. Naturally, you have to
prepare more for these topics.
How do you know what specific topics to prepare for?
A qualitative (and naive approach that is likely to work) is to rate yourself on each exam
topic in the scale of 0 to 10 where 0 stands for no knowledge, and 10 stands for very good
knowledge. Order the topics in ascending order and now you have a prioritized list of topics
to prepare.
A quantitative (and more grounded approach that works for sure) is to take one or two
mock exams, and create a prioritized list of topics based on the topics based on your score.
4. Do you have any insights gained for effective OCPJP 8 exam preparation?
Yes! During our exam preparation, taking the exam, and writing the book we had a few
"Aha!" moments where we got some insights that could help you in effective preparation for
cracking the OCPJP 8 exam!
Our first insight is about kind of exam questions in OCPJP 8 exam. Reflecting on our
experience in taking the exam, we realized that specific OCPJP 8 exam topics had more
conceptual questions, and few other specific exam topics had more programming-based
questions. Immediately after taking our exams, we started working on preparing the mock
http://ocpjava.wordpress.com "4
5. tests. While trying to coming-up with questions, we found that it is easier to come up with
conceptual questions for certain topics and natural to come up with programming questions
for certain topics!
So what does this insight help you in exam preparation? When you look for a sub-topic,
just think what kind of questions you're likely to get - and prepare based on that!
Our second insight is about the distribution of the questions within and across exam
topics. When we started, we somehow assumed that the questions will be equally distributed
across all the exam topics (e.g., equally distributed among 12 topics in IZ0-809). However,
when taking our exam we realized that there are more questions in certain topics than others
topics! In other words, questions are not equally distributed among exam topics. If you look
at Oracle's website for OCPJP exam, it is mentioned nowhere that exam questions will be
equally distributed among the exam topics (if you saw, please let us know!).
When preparing mock tests, we realized that it is easier to create questions on topics
such as lambda expressions and collections, but difficult to create questions in topics such as
"Create custom exceptions". For example, we didn't get any questions on "custom exceptions"
when we took the exam, but got quite a few programming-based questions on stream API,
programs using NIO.2, and how to load resource files (related to Localization).
So, what does this insight help you when you prepare for the exam? Just think what kind
of questions can one create for an exam topic. If it is difficult for you to mentally create
possible questions on an exam topic, it is likely that you may not get such questions in the
exam!
Our third insight is on ambiguous questions. When we took the OCPJP 8 exam, some
questions were ambiguous, not so self-descriptive that we had to assume some context, or
imagine some missing aspects that the person who had created the exam assumed. Surprising
but true! Since we wanted our mock exam (Chapter 14 in our book) to be as close to the exam
taking experience as possible, we designed our mock exam the same way. Of course, the
downside of the approach we have taken is that readers (i.e., you) may complain that we have
not done a good job, but that's a conscious risk we took!
So, what does this insight help you when you prepare for the exam? Don't naively
assume that the exam questions will be perfect, unambiguous, or completely free of the
possibility for subjective interpretation. If you have that assumption before you go to take the
exam, you may be frustrated when you don't find that "perfect exam" that you imagined.
When you prepare for the exam with an understanding that questions may not be "perfect",
http://ocpjava.wordpress.com "5
6. that allows you for more effective exam preparation - you'll be prepared to do some guesswork
during the actual exam!
In fact, a month back, we saw that the following description was added before the exam
topics in the exam webpages (provided verbatim from the Oracle site - http://
education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?
page_id=5001&get_params=p_exam_id:1Z0-810):
“Assume the following:
• Missing package and import statements: If sample code do not include package or
import statements, and the question does not explicitly refer to these missing statements,
then assume that all sample code is in the same package, and import statements exist to
support them.
• No file or directory path names for classes: If a question does not state the file names
or directory locations of classes, then assume one of the following, whichever will enable the
code to compile and run:
• All classes are in one file
• Each class is contained in a separate file, and all files are in one directory
• Unintended line breaks: Sample code might have unintended line breaks. If you see
a line of code that looks like it has wrapped, and this creates a situation where the
wrapping is significant (for example, a quoted String literal has wrapped), assume that the
wrapping is an extension of the same line, and the line does not contain a hard carriage
return that would cause a compilation failure.
• Code fragments: A code fragment is a small section of source code that is presented
without its context. Assume that all necessary supporting code exists is present and that
the supporting environment fully supports the correct compilation and execution of the
code shown and its omitted environment.
http://ocpjava.wordpress.com "6
7. • Descriptive comments: Take descriptive comments, such as “setter and getters go
here,” at face value. Assume that correct code exists, compiles, and runs successfully to
create the described effect.”
Our last insight is on writing sample code for exam preparation. During our exam
preparation as well as writing the book, we used both Eclipse IDE as well as command-line
for trying out sample programs. And we noticed something interesting: We got better
understanding of certain language and API details when we used command-line than when
using GUI! That's unusual, right, but why?
One reason is that when we made mistakes in the program code, it took more time for
us to realize that there was a compiler error (since edit-compile-reedit takes longer when
working in command-line). Eclipse would immediately identify the mistake and high-light
warnings and errors, and so we would immediately fix them without giving considerable
thought to it. Since exam preparation is more about understanding than productivity, we
started using command-line more than IDE.
Another reason why using command-line works better than using an IDE is this:
without help from IDE in showing the methods, or the arguments, or the type of the
arguments, we had to more carefully remember, look-up, or understand the API
documentation. Eclipse makes us lazy about learning and remembering API method details.
Understanding and remembering key API details is especially important from exam
perspective.
There are few more reasons, such as being more careful and attentive while writing code
(since its more time consuming when we make mistakes) which we don't discuss here, and if
you think about it, it is easy to understand why.
One last point: We found javac's -Xprint option to be especially useful. For example, we
always get confused about exact differences between Comparator and Comparable, Runnable
and Callable, etc. When in doubt we would quickly type them in console to recollect the
differences. For example:
$ javac -Xprint java.lang.Comparable
package java.lang;
public interface Comparable<T> {
int compareTo(T arg0);
}
http://ocpjava.wordpress.com "7
8. $ javac -Xprint java.util.Comparator
package java.util;
public interface Comparator<T> {
int compare(T arg0, T arg1);
boolean equals(java.lang.Object arg0);
}
$
That's quite handy instead of looking up in Eclipse or Java documentation, right?
Don't get us wrong: We are not against Eclipse or any other IDE. What we are just
saying is that we found using command-line especially useful from exam perspective. So, if
you're using only an IDE consider using command-line.
So, what does this insight help you when you prepare for the exam? If you use
command-line for trying out sample programs for exam preparation, you're likely to be more
attentive during the exam, get better knowledge and understanding of APIs, which will
improve your chances of cracking the exam!
http://ocpjava.wordpress.com "8
• Title: “Oracle Certified Professional Java SE 8 Programmer Exam
1Z0-809: A Comprehensive OCPJP 8 Certification Guide”
• Authors: S G Ganesh, Hari Kiran, Tushar Sharma
• Publisher: Apress
• Year: 2015 (December)
• ISBN-13: 978-1484218358
• ISBN-10: 1484218353
• eBook Price: $30.99
• Print Book Price: $42.99
• Amazon.com link: http://amzn.com/1484218353
• Source code download: http://www.apress.com/9781484215692
• Supporting website: https://ocpjava.wordpress.com/
• Oracle exam page: http://education.oracle.com/pls/web_prod-plq-
dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:
1Z0-809