Win a copy of Java EE 8 High Performance this week in the Java/Jakarta EE forum!

Guillaume Drouet

Ranch Hand
+ Follow
since Apr 16, 2012
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 Guillaume Drouet

I'm going to take the Java SE 7 Programming course which is acceptable for both OCMJD and Architect exam.

In fact, Training On Demand is a good option.

Guillaume Drouet wrote:I have passed the exam and I am going to take the Java SE 7 Programming course.

I agree and this is why I am going to take the course. I have also worked 5 months on the assignment and I don t want, at the end of this work (which is good according to my score), oracle doesn't t consider me as an ocmjd.
I have submitted the assignment and i have taken the essay exam without any mandatory course and without the ocpjp. When Oracle had my result, they sent me an email indicating that they can t send the result before I got the ocpjp certification. When I got my ocpjp exam, I saw my score and in fact I have passed the exam without the mandatory course. However I don t have the certification kit and I need to take the mandatory course if I want it !

Glen Iris wrote:Thanks for the reply. My difficulty now is, what to do with the threads that are waiting on a record that just got deleted?


just to give additional value to this topic, I share how I solved the same issue :

I remember that it was very hard for me to detect why some deadlocks still occured at the end of my development. The issue is related to some threads waiting for a record that is deleted by the one which owned the lock. What I have done is to call notifyAll() in my delete-method for all threads which are waiting for the lock (1 lock per record is possible in my solution). Once the thread has been awaken, it just raise a RNFE because the record is not in the memory cache anymore.
Hi !

I also encourage you to read stories of peaple who passed the exam on the forum. It provides a lot of details about how you can deal with the various issues of the exam. However, start by reading the Monkhouse's book and Roberto's paper

Anayonkar Shivalkar wrote:
The book contains a very nice discussion about design decisions (e.g. sockets vs RMI) which is immensely valuable for assignment and theory exam.

Also explains everything you have to know about threading, which is a critical part of the assignement
Yes and yes

I complete the exam and got 392/400.
The Monkhouse's book is perfect to prepare the assignement. I bought it and it was very useful.

Just keep in mind that any paper, topic or books that provides a sample project won't be the same as the assignement. Consequently, don't expect that issues like identifying a record in the database or what interface should implemented will be the same as in your assignment. For those details, share your problem on the forum. This approach will complete perfeclty the use of the book.

However, after reading the book, you will have a good idea about the design decision you have to make, the possible architecture you could build and the various tips and good practices which could be implemented. I recommand you to also read the Roberto's paper, which is very interesting in addition to the Monkhouse's book :
I have passed the exam and I am going to take the Java SE 7 Programming course.

not sure this is the right place for this topic. However, i will try to help you.

The problem is inside of the method2.

You are iterating on the elements of list2. As you can see, in the for statement, the index range is between 0 and the value inside sizeList1 (3 according to the stacktrace). It means that the available index are 0, 1 and 2. The loop statement looks good, because the the loop will stop when the value of j will raise the value 2. However, when this value of j is "two", you are trying to get the value at the index 3 :

You need to check that j not equals to the last possible index (here the value 2) to execute this statement.
5 years ago
Me too (including 80 characters per line). However, you can choose any conventions since you justify it in your choices and you striclty follow them everywhere in your code !
Sounds like your additional lock was not necessary inside your create method. Moreover, locking out of the lock() method makes your code with less cohesion (your create method does not simply create, it locks something too).

I had a similar problem at the end of my development because I notified threads in my delete-method and not only in my unlock-method. Everything worked fine (no deadlock) but I was worried about that. I created a topic on the forum and shared my problem. Roel De Nijs helped me a lot by confirming the default of my design. Even if I was writing my choices.txt with not more code to be written, I decided to found a workaround and finally I had only a very particular case where it was required to call notifyAll() in my lock-method (for the rest, I used notify() for performance reasons in my unlock-method). I have documented that point and explained it in my choices.txt.

Roel De Nijs explained me that my solution was complex but I tried to justify it in my choices by explaining that - because no deadlock issue could occur - nothing should be done in the future to maintain this part of the code. Considering that, and according to my criterion, complexity was not a problem ! However, maybe it was there I lost my points, but no more than 8 have been dedutected ;)
5 years ago
Ahah not sure ! Actually, many people have hard coded the reader and many of them have an high score. It's so hard to understand where so many points could be lost. Maybe the response is in how you argue that choice in your choices.txt. However, we know that issue(s) around the lock mechanism in the code can justify the lost of many points.

When did you take the exam ? Another possibility is that people who mark the assignments have changed and marking considerations have changed with them.
5 years ago