Edmund Yong

Ranch Hand
+ Follow
since Nov 16, 2003
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Edmund Yong

I refer to the OCP Java SE11 Programmer I Study Guide by Jeanne Boyarsky and Scott Selikoff, specifically on chapter 11 on modules.

On page 459, in the table titled "What happened to the Classpath", "-class-path" is missing an additional "-" in front.

On page 476, in the table "More About Describing Modules", the first lines states that "You only need to know how to run - - describe-module for the exam." Basically, this table is saying that we don't need to know the details of the output for the exam, but it is providing us some information on the output anyway. Yet on page 488, question 14 is about the output of - - describe-module. The problem I had with this question was that I had difficulty deciding on answers A (requires java. base mandated) and D (requires mandated java.base). It seems that it is important that we need to know the exact placement of the "mandated" modifier. If you look at page 476 again, notice that we also have "requires zoo.animal.feeding transitive" in the output. Notice that the "transitive" modifier is also at the end, even though in module-info.java, it is immediately after "requires". So my guess is that - -describe-module puts all modifiers at the end. It could well be that in a later JDK version, they change the output of - - describe-module and place all the modifiers immediately after "requires". So my assumption is that the output of --describe-module is not important at all, and therefore we should not expect to see a question like question 14 in the exam. The authors should clarify on this.

On page 482, table 11.7, the -cp option (and its long forms) for the java command should be listed in the table for completeness (since it is also listed for javac). It is an option needed for the exam, as mentioned on page 22, table 1.4.

On page 489, I completely had no idea on the answer. It turned out that there is actually an --add-exports option for the java command. I can't seem to find this option mentioned anywhere else in the book. On page 482, table 11.7, it is also not listed there, so I assume that this option is not need at all for the exam. The authors should clarify on this.

Campbell Ritchie wrote:I couildn&aos;t find such an erratum here; please check; it may be a “new” error, but I don't have the book so I can't verify that.

I had already checked that list before I posted. It's not listed there.
I found an errata in the OCP Java SE11 Programmer I Study Guide by Jeanne Boyarsky and Scott Selikoff.

On pages 471 and 473, they are referring to a module "zoo.animal.staff" in a few places. The correct module name should be "zoo.staff", as described in earlier pages.
I found some possible errata in the OCP Java SE11 Programmer I Study Guide by Jeanne Boyarsky and Scott Selikoff

Page 385: The last line should read "Since String does NOT implement Canine,...".

Page 409: In table 10.1, for Error type, it is "No" for the question "Okay for program to catch?". Shouldn't this be "Yes" instead? It may be bad practice to catch an Error, but the compiler is not going to complain if you try to catch an Error. After all, an Error is an unchecked exception, and it's okay to catch an unchecked exception. This is demonstrated on page 448 question 22, in which StackoverflowError is a valid type to catch.

Page 445: For question 12, isn't F a correct answer as well since an uncaught NumberFormatException is thrown?

Campbell Ritchie wrote:With a subtle change to line 2, that should now print true.

There is indeed a space after "hello" for oneLine in the book. So the first System.out.println should print true, not false as stated in the book.
I refer to the following codes on page 179 of the OCP Java SE11 Programmer I Study Guide by Jeanne Boyarsky and Scott Selikoff.

String singleString = "hello world";
String oneLine = "hello" + "world";
String concat = " hello";
concat += "world";
System.out.println(singleString == oneLine);
System.out.println(singleString == concat);

The book states that "Both print false. Concatenation is just like calling a method and results in a new String."

This is not correct, right? I thought the first System.out.println should print true. This is quite puzzling because on the next page, there is a similar example and an explanation that a concatenated string literal will be in the string pool.
I realized that the Prometric ID that I have, SPXXXXXXX, is actually the Oracle Testing ID. So I logged in to Oracle CertView using my Oracle account credentials. After providing my Oracle Testing ID (Prometric Testing ID) and the e-mail address that I used for Prometric, I am able to see my previous Sun Java certifications there! I don't even have to ask Oracle support for help!
In a previous thread Last certification issued by Sun,...., I asked about the process to register for Java certification for those people who last took certification from Sun. I was told that I need to create a new Oracle Testing ID at the Pearson VUE web site. From this FAQ, it seems that the Prometric ID is the Oracle Testing ID. Is this true? Previously the Prometric web site was https://www.2test.com, but this web site is no longer around. I went to the current Prometric web site, and it looks like the e-mail ID that I used to login at the old web site is no longer valid.

So for someone like me who has Sun certifications but have never taken any Oracle ceritifcation, should I just go ahead and create the Oracle Testing ID? I don't really have to care about the Prometric ID (if it exists), right?

Skumar Patel wrote:
I was in same situation like you and below discussion might help you


Here is the steps suggested by Anthony Tsang

1. Login Oracle CertView. Create an Oracle account if you don't have one.
2. You will be asked to provide an Oracle Testing ID in PearsonVUE. If you don't have one, follow the guide to create one in PearsonVUE. It takes a few days for PearsonVUE to generate an Oracle testing ID for your account.
3. Login Oracle CertView and enter your Oracle Testing ID. Your Oracle account is now linked to your PearsonVUE account.
4. Probably you can't find your SCJP in your certification history. Now, open the Support page and you will be redirected to a list of FAQ.
5. Expand any of them, and click "Log Ticket" button.
6. Fill in the support form to ask for displaying your SCJP in the certification history. Provide as much information of your SCJP as possible. (I even scanned my hardcopy SCJP certificate and upload with the support form)
7. A support log is now created. You will receive email notification upon any reply from the Oracle support team. They will guide you for the ongoing steps.

It took me about 1 week to have my SCJP displayed in CertView. During the process you will be contacting Oracle support team and PearsonVUE back and forth. Oracle support team is helpful and efficient, so don't worry.


Since I last did my Sun certification in 2005, and never done any other certification after that, can I say that at this point, I do not have an Oracle Testing ID yet?

For step 1, I am able to login Oracle CertView using my Oracle account (this was created in 2016 using my e-mail address).

For step 2, I go to  Pearson VUE web site, then select "Create account" on the right. On the next page, am I supposed to select "No, I do not know my Oracle Testing ID."?

So Oracle Testing ID is supposed to be created in Person VUE first then?

When I did my Sun certification back then, there was this Prometric thing. There is also a Sun Cert Manager site which I can login, I still have a number with this format: SPXXXXXXX. This is not related to the Oracle Testing ID then?

Is there an Oracle support e-mail that I can ask first, before I proceed with the above?

Paul Anilprem wrote:

Yes, it is through Oracle testing id. Oracle has all the details about your previous test history (including the ones you took when Java was with Sun). In fact, if you try to register a new account (with same name and other details), Oracle tries to merge the new account with the old one automatically (but don't rely on that). It is better to contact Oracle support directly and ask for your Oracle testing id.  They will provide you the id using your details. They may also ask you to create a new ID and then attach your old Sun test history with that new ID. You can use that ID to schedule the exam with Pearson vue.

Hi Paul,

According to what Jeanne replied previously, our Sun certification results and personal details would not be ported over to Oracle. So it is quite a surprise to me now that you are saying the opposite.

My last Sun certification was taken in 2005. I create an Oracle account using my email address only in 2016, so I'm sure that this has nothing related to the Oracle Testing ID then.
Hi Jeanne,

I bought your new book a few days ago, and I have already started reading it.

I am still not clear on the exam registration though. I have an existing Oracle account (using my personal e-mail ID) which I can use to download the SDK. In the Pearson VUE web site for Oracle, if I select "Sign In", and then "Create a web account" on the next page, I will be asked to fill in personal information on the next page. There is a field "Do you know your Oracle Testing ID?". What is this Oracle Testing ID? Is this where I enter my e-mail ID for my existing Oracle account?

I am not clear on how they link the above Pearson VUE account to Oracle, so that exam results will be reflected on Oracle side. Is this through the Oracle Testing ID?
Hi Jeanne,

I refer to the following posts.



So my Sun certification records are not in Oracle. But would it be better if I were to register my old cert info with Oracle, as mentioned by you in the first post above?

I'm still not clear about registering for a new exam. Do I just purchase a voucher or register for an exam and pay by credit card? Do I need to first create a Pearson VUE account, as mentioned in the second post above?

Hi Swapna,

As its name implies, ToDoubleFunction<T> must return a value of type double. The input can be any type, not necessarily double.

For UnaryOperator<T>, the input and return types must be the same.

Thanks for you reply. Why do we need to buy a voucher? From the below link, if you scroll down, you can see that there is a SCHEDULE YOUR EXAM NOW section where we can just register for an exam and pay with credit card.

Oracle Certification Exam Registration

Also, is the voucher applicable for exam taken in a specific country only?

As for my question on certificates issued by Sun, wouldn't it be relevant to anyone who has a certificate issued by Sun but now wants to sit for an upgrade exam? Surely Oracle would need to have that person's certification record to determine whether that person is eligible for the upgrade exam.


I am from Singapore and the last time I posted anything here was 10 years ago!

I had obtained the SCJP 1.2 certificate and the SCWCD 1.4 certificate in 2000 and 2005 respectively. Those certificates were issued by Sun Microsystems, which had since been acquired by Oracle. As it's been a long time since I have gone for any certification exam, the process to apply to sit for the exams could be different now. So I have the following questions.

(1) Would my certification records and my personal details be in Oracle?

(2) If I want to sit for the 2 exams for new OCP Java SE 11 Developer certification, how can I go about it? Should I contact Oracle Singapore directly or register for the exams via Oracle Singapore's web site?