Des Robin

Ranch Hand
+ Follow
since Sep 02, 2013
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
3
Received in last 30 days
0
Total given
1
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Des Robin

Hi.

Thanks for all the feedback.

@Frits - I have completed the WCD exam but was hoping stepping to WSD exam would not require EJB.

Ah well.
Hi.

I am a about to write the JPA6 exam. My original plan was to follow that with EJB6 but I am moving onto a web services project at work so I am currently thinking of doing that instead.

Can anyone with experience doing these two exams give an insight on how easy/hard WSD6 is, without doing EJB6 first?

Thanks.
Hi Chris

Thanks for the reply. In JCIP (page 50 and 51) it makes reference to a class defined as follows:



In the above example it is possible for assertSanity() to have n fail to be equal to n (on being called by a second thread) because the first time n is retrieved it is stale (i.e. init'd to 0 by the superclass) while the second time it now refers to an updated value (init'd to 42 by the constructor invocation).

Anyway this started my mind wandering... and to answer my own question; no the variables are not made visible (found an example in JCIP).

Thanks for your feedback.
Hi.

Busy reading "Java concurrency in practice" and writing test code while trying out some ideas (on chapter 4 and discovering all the issues around visibility i.e. using volatile, final et. al.). Raised a question for me - am I correct in assuming that extending Thread or implementing Runnable ensures the data / objects composing my object will be made automatically visible (not thread-safe, just visible)? I'm asking because I have seen a awful lot of code in books doing this sans volatile, final, locking etc.

Thanks.

Martin Petransky wrote:Hi Kumar,

may I ask, what do you mean by standard and classic tags ?

By standard you mean JSTL ? Like c:something ? And by classic you mean jsp:something ?



The JSP certification includes questions on the creation of custom tags using the JspTag interface (plus sub-interfaces) and in particular SimpleTag/SimpleTagSupport (i.e. simple tags) and TagSupport/BodyTagSupport (classic tags). The <jsp:....> tags indicate the standard action tags provided automatically in JSP, while the <c:.....> tags are supposed to be standard tags. For more info see:

http://www.tutorialspoint.com/jsp/jsp_actions.htm

http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm

http://www.tutorialspoint.com/jsp/jsp_custom_tags.htm
10 years ago
Congrats!!

43/43 = 98%???

I'm sure its the same guy who decided:

${7 / 0} = Infinity!!!
Congrats on passing OCJP.

While there are fewer resources for OCEWCD, several people have already passed the exam (see cerification results) and have provided the "roadmap" to clearing the test. It appears the following have proven to be sufficient:

1. Head First Servlets & JSP Second Edition
2. The Servlet 3 spec.
3. The JEE6 specific mock test be Piotr Nowicki - http://piotrnowicki.com/2011/03/jee-6-scwcd-mock-questions/
4. The Enthuware mock exams for final prep.

If you are less time constrained and want a great score, the JSP 2.2 spec may be worth a read (though it does not seem to be essential). Also seen the JEE6 tutorial get a mention to help clear up any gaps.

Hope that helps.
Hi Amanda

1. No, one book is not sufficient. You will require:
- a book to prepare for the OCA exam. The Mala Gupta book has been recommended by many, but the K&B SCJP6 book is also sufficient for your prep (and is additionally useful in preparing for the OCP part).
- a book to prepare for the OCP exam (the Ganesh/Sharma book covers this exam) + studying the API

2. Oracle offers (expensive IMHO) tests on their website.

3. The Enthuware tests were more than sufficient to pass OCA and OCP for me. For OCP I also completed the K&B tests though they were for OCP6. I didn't use any others so cannot comment.

Cheers
Hi.

Going to disagree with the previous post. I have completed the ocp7 route and there two reasons I believe ocp6 is easier:

1. The study materials for ocp6 are 'mature' with few errors. There are numerous high quality mock tests compared with ocp7.
2. The volume of work for ocp7 is greater. While knowledge is never bad, it may be that you are time constrained.

Hope that helps.
Thanks for the positive feedback! ;-)
10 years ago
Congrats. Also interested to hear about your experience. Which of the courses did you attend and was it helpful?
10 years ago
Hi.

There are very few of these reports on the SE7 exam, so I thought I would add in my two pence on the experience.

Resources:

SCJP6 K&B book
SCJP Practice exams by K&B
OCP7 book by Ganesh/Sharma
Enthuware SE7 tests
API summary via flash cards

Effectiveness:

The K&B books are very good. There have been several versions already so most of the errata have been resolved. While the exams are for SE6, they are still useful for SE7.

The Ganesh/Sharma book... hmmm, I'm undecided on this book. It does explain its material pretty well, but (as has been discussed before) there were numerous errors in the version of the book I had (the later version apparently corrected these). Due to the distinct lack of SE7 books out there at the moment, you may still feel the book is still a must have. You won't pass with it as your primary study material though - I feel that you are only 60% of the way there once you have read this book.

The Enthuware tests were great. As mentioned previously, the exam closely matches the difficulty of these tests, unlike the OCA version, where the Enthuware tests are much harder.

Flash cards were the key difference for me. I think that this exam will have 80%-90% scores becoming more common going forward. This isn't because the exam is getting easier but because the key to this exam (IMO) seems to be a serious recall of the API. I am certain that a 90% score would have been quite possible, if I had been prepared to create cards for all the other SE7 items on the API and spend extra time studying it. Another point regarding the use of cards - I am a slow and thorough type of worker - I just don't like rushing. This exam requires reasonable speed. The only way to get a speed boost is to commit the core API's to memory. I managed to improve my mock scores between 10 and 20 percent, just by making up over 500 cards of the essential API's. I'm not just referring to the fact that you are aware the method exists - I mean knowing each version of the method, it's return types, the info you can derive from the values returned and the parameter options for the various method versions. Where I was struggling to finish the exams 30 minutes after the mock timer had run out, I was now able to finish with 10~ish minutes to spare. If you are like me - this may be your answer.

Exam day:

I finished with around 4 minutes to spare and I did wish I had another 20 to do a nice slow review. Still beggars can't be choosers. A personal surprise for me was a few OCA type questions on the day. I had 2-3 questions that dealt with VMI relating to static method shadowing and instance/static variable shadowing. I don't know how many others got a few of these thrown in, but I thought I had bumped my head on these for the last time in the OCA exam.

Hope this helps someone in their prep for the exam.

Cheers
10 years ago
Hi Henry

Thanks for the reply. Realise the Formatter class has a right to work its own way (after all, boolean and Boolean have different rules for initialisation)... I was just surprised it didn't match the Boolean construction rules.

Thanks
Hi Timo

I came across this myself. However, the format() method exists in numerous IO classes (Console, PrintStream etc.).

Thanks
@Steve - Thanks for your feedback.

I think I have been complicating things by making reference to type erasure and runtime info. A short summary of my understanding is this:

Input parm a2 is defined as Priv<T>. The reason 'return a2.getT()' compiles is because:

1. The compiler checks to see if a2 actually has a method getT(), that it can use.
2. It then checks to see the return type of getT() - in this case T.
3. It then looks at the definition of a2 to see what types it supports and whether or not the underlying type for a2 is compatible.
4. In the case of a2, the type is T and as the return type is also T, compilation works.

In the case of parm a:

1. As for a2
2. As for a2
3. As for a2
4. In the case of a, there is no type associated as T is defined as Priv (and not Priv<T> as pointed out by Jesper). The compilation then fails as the return type T does not match Priv.

Thanks for everyone's help!

10 years ago