Complete Java 2 Certification Study Guide, 1st edition
Authors: Simon Roberts, Philip Heller, Michael Ernest
Venue:  (1999)

From the Book:Hello! Come in, sit down, and make yourself at home. Please get comfortable; there are a lot of topics to cover in this book. You have come here because you are ready. Ready to get ready, at least, which is practically the same thing. Now all that's left to do is the work. And there is a lot of work to be done. Probably you heard that the 1. 1 version of the exam was difficult. That was true; the Java 2 version is harder still, since it covers a few more topics. Not everybody passes--even on repeated attempts. We want to change these statistics. It wouldn't hurt to get a little help--and we're the ones to help. Since this is, after all, the Introduction, allow us to introduce ourselves: Simon, Mike, and Phil. We are Java instructors by day, and by night we write. What we teach (by day) are Sun Microsystems' Java courses. When the 1.1 edition of this book was published, we wrote that among us we had taught Java to more than 1,000 people. By now the number is well into the thousands. And the Java courses that we teach are Sun's own courses. We have been through our own certification process for instructors, and Sun trusts us to teach people the Java facts that Sun considers important. Recently, Simon has been developing new course material. We want you to know all this because we want to be the ones to help you pass the certification exam. What we write (by night) are Java books. (Phil keeps talking about a novel; we will just have to wait and see.) We wrote the Java 1. 1 Developer's Handbook (Sybex, 1997) and we contributed to Mastering Java 1. 1 (Sybex, 1997). Then we wrote the Java 1. 1 Certification Study Guide.After that we revised the Developer's Handbook to reflect new Java 2 material. And now here we are, presenting the Java 2 version of the Certification Study Guide. We thought we were the best team to write this book. Simon led the team that wrote all of the questions for the exam. Phil was a consultant for developing the exam and is one of the graders for the developer's exam, so he also has the inside view of things. And Mike, who wrote the chapters about the developer's exam, has been on the front lines of Java instruction for years. Simon's unique position at Sun places a few restrictions on us. We can't give away any answers to the questions on the exam. (We wouldn't want to do that anyway; we want you to pass because you're good at Java, not because we slipped you a crib.) We had to make sure that the sample questions did not accidentally match any of the real test questions. It took a bit more work, but we think the benefit to you is tremendous: Everything in this book is here for a very good reason. If it's here, then it's here because we know you need to know about it. We understand that buying a book like this costs you money, reading it costs you time, and absorbing it costs you effort. We appreciate your investment and we believe it will pay off. If you read this book, absorb it, solve the practice questions at the end of each chapter, and work through the practice exam on the CD-ROM, you will be in the best possible position when you walk through the doors of your local testing center. Let's just take care of a few standard formalities and then we can really get started. What's New in This Edition The original edition of this book covered the 1. 1 version of the programmer's exam. When Sun released Java 2, they also released new versions of both the programmer's exam and the developer's exam, along with corresponding lists of study objectives. There were more than 90 objectives for the 1.1 programmer's exam; that number has been reduced for Java 2 to about 30. The huge reduction doesn't mean that the exam is simpler; it just means that redundant objectives have been combined or eliminated. We have stayed with the format that we introduced in the original edition of this book: a chapter begins with a list of the objectives covered in the chapter. All of the objectives appear at least once, so if you master each chapter, you will have mastered all of the objectives. So, our first change was to introduce the new Java 2 material. We also thought it would be appropriate to upgrade the test engine. The sample questions at the end of each chapter are for the most part unchanged, because we originally designed those questions to teach you as much as possible. The original questions were very well accepted, so we stayed with them, but we made two additions. First, of course, we added questions to cover the new Java material as reflected in the new objectives. Second, we added many new questions to the test engine on the CD-ROM that accompanies this book. Please refer to Appendix B for information on how to use the test engine. If you are intrigued by the idea of sample questions, here is a sample of the samples: 3. Which of the following statements is true? A. An abstract class may not have any final methods. B. A final class may not have any abstract methods. Here is a typical code-related question: 3. Will the following code compile? 1. byte b 2; 2. byte b1 3; 3. b = b * b1 Feel free to look up the answers in Appendix A. The first question is #3 from Chapter 3; the second question is #3 from Chapter 4. The other big change was to include an extensive new section on the Java Developer's Exam. We received a lot of feedback from readers who said that they were interested in complete certification, not just programmer certification. So Mike was brought in to write about developer certification. We can't tell you what your developer's assignment will be (any more than we can tell you about questions on the programmer's exam); but we have given you a similar problem, one that can serve as a metaphor and that requires you to master the same skills that you will need for the real exam. We hope that the Java 2 edition of this book will be all you need to catapult you into both programmer and developer certification. Taking the Exam You can take the Java Certification Exam whenever you like, by making an appointment with Sylvan Prometric or Sun Educational Services. Sylvan Prometric administers the exam on Sun's behalf; they have test centers throughout the world, so hopefully you won't have to travel far. The cost of taking the exam is $150. Note: The telephone number for Sylvan Prometric is 800-795-EXAM; their URL is www.sylvanprometric.com. The number for Sun Educational Services is 800-422-8020; their URL is www.sun.com/sunservice/suned/certif_ programs.htmI. For people outside the United States, information on registration in any of the eighty-eight countries that Sylvan services is available at this site: www.hibbertco.com/sun/suncontacts/contacts.html. You can make an appointment any time during regular business hours. You will be given two hours and fifteen minutes and you will probably need every minute. You will not be allowed to bring food or personal belongings into the test area. One piece of scratch paper is permitted; you will not be allowed to keep it after you have finished the exam. (See the end of Chapter 9, "Layout Managers," for a suggestion about how to use the scratch paper.) Most sites have security cameras. You will be escorted to a cubicle containing a PC. The exam program will present you with randomly selected questions. Navigation buttons take you to the next question or to previous questions for review and checking. When you have finished the test, the program will immediately present you with your score and a pass/fail indication. You will also be given feedback that indicates how well you performed in each of the dozen or so categories of the objectives. You will not be told which particular questions you got right or wrong. Formalities of the Exam There are no trick questions on the exam, but every question requires careful thought. The wording of the questions is highly precise; the exam has been reviewed not just by Java experts, but also by language experts whose task was to eliminate any possible ambiguity. All you have to worry about is knowing Java; your score will not depend on your ability to second-guess the examiners. It is not a good idea to try to second-guess the question layout. For example, do not be biased toward answer C simply because C has not come up recently. The questions are taken from a pool and presented to you in a random order, so it is entirely possible to get a run of a particular option; it is also possible to get the answers neatly spread out. Most of the questions are multiple choice. Of these, some have a single answer while others require you to select all the appropriate responses. The Graphical User Interface of the test system indicates which kind of answer you should supply. If a question only has one correct answer, you will be presented with radio buttons, so that selecting a second answer cancels the selection of a previous answer. With this kind of question, you have to select the most appropriate answer. If, on the other hand, you are presented with check boxes, then you may need to make more than one selection, so every possible answer has to be considered on its own merits-not weighed against the others. You should be aware that where multiple answers are possible, you are being asked to make a decision about each answer, rather as though the question were five individual true/false questions. This requires more effort and understanding from you, but does not actually mean that more than one answer is correct. Think carefully, and always base your answer on your knowledge of Java. The short-answer, type-in questions often cause undue concern. How are they marked? What happens if you omit a semicolon? These worries can stem from the knowledge that the questions are marked electronically and the belief that an answer might be marked wrong simply because the machine didn't have the sense to recognize a good variation of what it was programmed to accept. As with all exam questions, you should be careful to answer precisely what is asked. However, you should also be aware that the system does accept a variety of different answers; it has been set up with all the variations that the examination panel considered to be reasonable. Some of the type-in questions provide specific instructions concerning the format of the answer. Take this guidance seriously. If, for example, a question says, "Answer in the form methodname(), " then your answer should be method() and not any of these answers object.method() method(); method(a, b) method Some of the other answers might well be accepted, but programming is a precision job and you should be accustomed to following precise directions. The test is taken using a windowed interface that can be driven almost entirely with the mouse. Many of the screens require scrolling; the scroll bar is on the right-hand side of the screen. Always check the scroll bar so you can be sure you have read a question in its entirety. It would be a shame to get a question wrong because you didn't realize you needed to scroll down a few lines. The exam contains about 60 questions. On average, this gives you a little more than two minutes per question. Some of the questions are easier than others, and undoubtedly there will be some that you can answer faster than others. However, you really do need to answer all the questions, if you possibly can. The test system allows you to review your work after you reach the end. The system will explicitly direct your attention toward any multiple choice questions that have no items selected. So if you find a particular question difficult, consider moving on and coming back to it later. If you pass, you will be given a temporary certificate. A few weeks later you will receive by mail a permanent certificate, along with an artwork sheet. The artwork shows the "Sun Certified Java Programmer" logo at various magnifications. By passing the exam, you have earned the right to display the logo. Printers know how to reproduce the artwork onto business cards, stationery, and so on. The lettering is legible (just barely, by people who eat carrots) down to a reduction of about 5/8 " wide by 3/8 " high.