• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Passed 142!

 
Leonardo Wang
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Today I check https://www.galton.com/~sun_ss and found myself passed SCJD. I used to think that Sun will email me about the result but it is not necessary. I downloaded the assignment(Flight by night) on March 13, 2002, uploaded on May 3rd, 2002(unable to upload first, solved 1 day after I emailed who2contact), and took the essay test (only 5 questions) on May 12th, 2002, got passed on May 23th, 2002. Result:

Test: Sun Certified Developer for the Java 2 Platform (310-027)
Date Taken: 2002-05-23 01:31:17.153
Grade: P
Score: 0142
General Considerations(maximum = 58): 54
Documentation(maximum = 20): 20
GUI(maximum = 24): 19
Server(maximum = 53): 49
My major design choice and considerations are as follows: (almost my designChoice.txt)
I think most of them are common, nothing particular.

1) RMI vs Object Stream. I use RMI instead of Sockets
2) I modify the database class - suncertify.db.Data for easy usage. Also there are 2 deprecated methods in suncertify.db.Data, which need modification.
3) My search logic is pretty simple. For example, say we got three search criteria (origin='xxx', destiny='xxx', carrier='xxx'), I will search three times respectively with each criteria and get three result sets. The record which exists in each of the three result sets is the one we need.
4) Local/network
I have a interface named RemoteData, which have all the public methods of Data. The RemoteDataImpl is the RMI implementation in server of this interface, which just maps the remote invocations to local ones. Also in Data class, I have a doBook() method which is used to deal with the booking process in the
sequence of lock, read, modify if applicable and unlock the target record. It might mot be very suitable to put this business method in a Data class, but this is the easiest way to conform local mode with network mode, and make sure the booking process is in the same thread in server with network mode. So I can use the reference of current thread as the owner of the lock.
5) Lock/Unlock
I use wait/notify mechanism for lock/unlock. I use the reference to the current thread
as the ID(owner) of the lock. When a locked record is to be unlocked, the reference of unlocking thread will be compared with the owner of the lock, if same, unlock the record, otherwise do nothing.
6) Server
My data server just instantiates a RemoteDataImpl object and bind it with a predefined name.
I don't designs a GUI for server.
7) Client GUI
I hava Entry class to start the MainScreen according the mode the user selects
in the command line parameter. The first parameter (-L or -N) indicates the local mode or
network mode. In local mode, the location of db.db is needed as the second parameter.
In network mode, the address and port of data server
As to the deployment, I decide to pack the _stud.class into client.jar instead of downloading it from the server for facilitation. So I do not use a SecurityManager for the clients.

I would like to thank Mark, Sid, Sai, Adam and Javaranch. Next I will run for SCWCD.
Good Luck, Every one!
Leon Wang
5-29-2002
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congrats Leonardo. Well done.
I am going to move this to the Certification Results forum, so more people can congratulate you.
Mark
 
Jessica Sant
Sheriff
Posts: 4313
Android IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
nicely done!
 
Sai Prasad
Ranch Hand
Posts: 560
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Job well done. Good lock on the next!
 
Rob Ross
Bartender
Posts: 2205
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congratulations Leonardo.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic