• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

pass SCJD - 368 / 400

 
YungSheng Chang
Ranch Hand
Posts: 44
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Guys, although I do not come here to post my questions quite often (not on daily basis),
I got the greatest assistant here in JavaRanch bulletin.
I am so happy to see the "P" hanging on the certification website, and I would like to thank you all.
It took about 1 week to get the result. I am very much satisfied with the score, especially I got full score in locking.
All of my deduction is from "General Consideration", and I am wondering about the possible cause.
Grade: P
Score: 368
Comment: This report shows the total number of points awarded for each section.
The maximum number of points is 400, to pass you need a score of 320.
Section Summary: Section Max Actual Points Points
General Con: 100 68 Documentation: 70 70
OOD: 30 30 GUI: 40 40
Locking: 80 80
Data Store: 40 40
Network Server: 40 40
Total: 400 368

Thank you guys again, now I am a SCJDer too!!
 
Ken Krebs
Ranch Hand
Posts: 451
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congratulations Chang, especially for the perfect locking score.
It seems unusual to see a score like yours where there is such a significant deduction under General Considerations while everything else scores perfect. It's very puzzling !!??
 
Barry Gaunt
Ranch Hand
Posts: 7729
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I agree, quite a mystery. Was your approach overly simplistic, or the opposite - complex?
But it's still a wonderful, if weird, outcome.
Congratulations!
[ April 13, 2004: Message edited by: Barry Gaunt ]
 
Vishwa Kumba
Ranch Hand
Posts: 1066
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congratulations!
 
Hari Vignesh Padmanaban
Ranch Hand
Posts: 578
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congrats Chang !!!
 
Terry Martinson
Ranch Hand
Posts: 293
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congrats YungSheng!!!

TJ
 
Andrew Monkhouse
author and jackaroo
Marshal Commander
Pie
Posts: 11852
185
C++ Firefox Browser IntelliJ IDE Java Mac Oracle
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congratulations YungSheng
 
YungSheng Chang
Ranch Hand
Posts: 44
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I guess the 32 deduction means "big mistake" x 1 in that subitem.
However, since the deduction is from general consideration, I am thinking if it is because something like property file design, logging.
Is there any channel to suggest SUN at least provide one line of exam comments for SCJD; otherwise we do no know where to improve.
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congrats YungSheng, well done.
Explain your locking design for us please.
Thanks
Mark
 
Satish Avadhanam
Ranch Hand
Posts: 697
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi YungSheng, first of all congrats
Can you answer us a couple of questions please.
1. Can you give us an overview of your locking mechanism?
2. Did you deal client crashing?
3. Did you implement safe server shutdown?
Any comments would be greatly appreciated. Thanks.
 
YungSheng Chang
Ranch Hand
Posts: 44
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Satish:
I think the successful factor for locking is "good documentation". For most people including me, if they do not implement client crash, the physical code for locking is really short. However, you have to show the assessor all of your consideration in choice.txt and javadoc.
Because my english is quite poor, I list my design detail one by one. It is easy for assessor to read and make sure "this guys knows what he is doing".
I did not implement clien crash. But I left a room for future extension with the same object design, and document all my reasons.
Yes I did save saver shutdown in server gui. And I handle this scenario on client side well too.
I have some general suggestion about locking:
1. Do not implement client crash. It will makes things complex, quite complex.
2. Definetely test it. Is the record really locked when you think it should be? and the waiting? and unlock?
3. If you really don't know where to start (like me), look at Max's book. This guy really points out a way for us.
The following is my locking mechanism:
1. Class Architecture:
Network clients access the same remote database connection object
(Database) through RMI. Object Database wraps
MyDBAccessAdapter, which executes the locking/unlocking.
This means that locking/unlocking is hidden from clients. Clients
are forced to follow lock/unlock procedure.
2. Contract for the use of locking process:
To use lock/unlock, the method must follow lock/process/unlock
contract.
Unlock should be guaranteed to be executed under any exception.
In the lock/unlock method, the thread should first
acquire the exclusive use of LockManager object, and notify all
thread waiting on it after it finishes operation.
3. LockManager class:
A static LockManager class is used.
A logical key-value mapping relationship is maintained by
LockManager.The key is the locking record number, the value is its corresponding LockMessage value. The LockMessage stores information about cookie value, thread name and lock time. Cookie value and thread name is checked while unlocking is called to verify the unlocking authority.
 
Satish Avadhanam
Ranch Hand
Posts: 697
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi YungSheng, Thanks for the very detailed reponse. I really appreciate it.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic