2002 年 8 月,Sun Microsystems 推出了新版本的 Sun Certified Java Programmer(SCJP)考试,其中的更新反映了 Java 平台在过去的几年中的变化。因此,现在的 SCJP 有两个版本:SCJP 1.2 和 SCJP 1.4。SCJP 考试是 Sun Microsystems 提供的 Java 认证考试系列的第一个,对于许多人来说,它也是成为有竞争力的 Java 开发者的第一步。
本文是 SCJP 认证的初级教程。为了帮您准备这个考试,我们将逐一比较 SCJP 1.2 和 SCJP 1.4,列出考试内容中最重要的变化。此外,我们还要谈论有关 SCJP 认证的更重要的问题,例如如何准备这个考试以及为认证所付出的时间和费用对于您的作为 Java 程序员的职业生涯是否值得。
表 1 从费用、题目数量和考试完成时间以及其它方面比较了 SCJP 考试的 1.2 和 1.4 版本之间的重要区别。
| SCJP 1.2 | SCJP 1.4 | |
| 考试编号 | 310-025 | 310-035 |
| 先决条件 | 无 | 无 |
| 考试类型 | 多项选择题、简答题和拖放 | 多项选择题、简答题和拖放 |
| 题目数量 | 59 | 61 |
| 通过分数 | 61% | 52% |
| 时间限制 | 120 分钟 | 120 分钟 |
| 总价 | 150 美元(或当地价格) | 150 美元(或当地价格) |
SCJP 考试的提纲由多个 目标组成。每个目标考查您在 Java 编程的一个方面的技能。新版本的 SCJP 考试的最重要的变化如下:
- 删除了 AWT(Abstract Windowing Toolkit(抽象窗口工具箱))目标。SCJP 1.4 中没有关于 GUI 编程的题目。
- 删除了 I/O 目标。
- 增加了关于断言 API 的目标。
- 提高了对某些目标的要求。您将在以下主题方面遇到更有深度的题目:
- 包装器类
- 集合
-
hashcode()和equals()
如果您已接受了针对原先的考试的全面培训,那么您可能想参加 SCJP 1.2 认证。毕竟,谁愿意为全新的考试作准备呢?但是,如果您比较一下这两个考试,您将发现两者之间没有多大差别。您需要复习断言 API(如果您还没这样做的话)并把更多的精力花在新版本中提高了要求的目标,但是考试的整体内容没多大改变。IT 认证的目的是反映最新版本的技术的竞争力,Java 平台在过去的几年中发生了很大变化。建议您参加 SCJP 1.4 考试。
为任何种类的 IT 认证作准备都需要学习和练习。您很可能想从学习开始,然后再转到练习。目前,您能找到几本关于 SCJP 1.2 考试的书,但关于 SCJP 1.4 的书还没有上市。最佳的学习方案是先阅读一两本倍受推崇的 SCJP 1.2 指南,但是请使用上面的 SCJP 1.4 变化列表来调整您的学习内容。(换句话说,别把太多的时间浪费在 Java I/O 或 AWT 的学习上,但请认真学习包装器类、集合以及
hashcode() 方法和
equals() 方法。)
除了书本以外,您还应该查阅 Web 上的许多参考资料。先学习 Sun Microsystems 提供的基本的 Java 技术规范,然后尽力查找讨论重要主题(例如断言 API 或集合 API)的教程。Web 参考资料的一个优点是它们的内容一般比书本的内容更新,所以您可以使用在线阅读来补充您从书本中学到的、有点过时的知识。
请参阅 参考资料,其中有推荐的书籍、文章、教程和规范的完整列表。
当您学完合适的书本、浏览了规范并阅读了教程、文章和笔记之后,剩下来要做的就是练习了。首先,获得优良的 IDE 并编写代码。选择与考试目标相关的编程练习,不要回避您害怕的东西。平时犯错误总比在考试中犯错误好。
除了按自己的方法认真准备外,您在考试前有两种方式可以模拟考试的体验。 模拟考试提供了您将遇到的各种题目的很好的样本,并且使您有机会在自己的时间里解答这些题目。通过真实地模拟考试环境, 认证考试模拟器比模拟考试的体验更逼真。
另一个选择是雇一个私人教师。专门从事 Java 培训的组织提供有组织有纪律的学习环境,多数组织有不错的成功记录。虽然一对一的培训的花费要比这里提到的许多其它培训资源贵,但是它也可能是取得认证的更高效的途径,使您能够快速掌握通过 SCJP 考试所需的技能。
请参阅 参考资料,其中的列表列出了 IDE、免费的模拟考试、商业认证考试模拟器和专门提供 Java 培训的公司。
如果您想寻找学习小组的感觉,请尝试参与在线讨论论坛。几个内容广泛的 Java 论坛有关于认证问题的线索,有些论坛只讨论认证。在论坛中,您可以仔细询问同伴的学习方法,了解鲜为人知的认证资料,在考前感到紧张的时候得到支持,了解其它人是如何努力以取得认证的。
请参阅 参考资料,其中有几个活跃的在线讨论论坛的链接。
任何关于 SCJP 考试的评述的简短列表都不足以成为完整的学习指南。为了全面准备 SCJP 考试,您至少要读一本关于 SCJP 认证的书,并且阅读前面几部分提到的一些其它参考资料。然而,下面的窍门是成功通过 SCJP 考试的关键:
- SCJP 1.4 考试中的许多题目要求基于代码的回答,所以在准备考试时应尽量多练习代码编写。
- 前面已提到,SCJP 1.4 中提高了对某些目标的要求。您一定要熟悉以下主题:包装器类、集合以及
hashcode()方法与equals()方法。
- 在考试中,Java 编程语言的有些部分的出现频率要比实际生活中高,您应该对此有所作准备,否则您将无法回答有些题目。您必须理解 Java 代码中运算符的用法 ― 尤其是
移位运算符。
- 多线程是较难的主题,它将出现在 SCJP 1.4 中。您应该了解在 Java 程序中构造线程的不同方法,很好地理解同步,还要熟悉用于创建多线程应用程序的不同方法的功能。在任何情况下,您应该作好用代码来回答的准备。
- 您一定要记住
Exceptions类和Collections类的继承层次结构。这将对您有所帮助。
- 如果您参加的是 SCJP 1.2 考试,请特别注意 I/O 目标。建议您注意各种 I/O 类的适用性,尤其是那些有关文件 I/O 流的类。
您将为 Java 认证付出时间和金钱,您会自然地问自己这些付出是否值得。答案主要取决于您的期望而不是认证本身的价值。如果您期望因取得认证而找到工作,那么您可能会失望。如果没有实际的编程经验,高分并不能给人以深刻的印象。但是,如果您既有经验又有证书,那么您的简历将在竞争激烈的人才市场上得到更多的关注。证书未必使您找到工作,但可能使您找到 更好的工作。在谈判加薪、争取晋升或增强工作的整体安全感时,证书也能发挥较大的作用。
IT 认证的一个不大为人注意的价值是认证体验本身。为 SCJP 考试作准备是非常系统地学习 Java 语言的方法,这与为了生计而编程的日常体验有很大区别。考试结束后,您将发现您对 Java 语言的工作原理有了更详尽的理解,因此,您的整体 Java 编程技能也得到了很大的提高。
无论您参加认证的原因是什么 ― 取得专业优势或挑战自己(或取得认证是工作要求)― 完成任务的方式将决定结果是否成功。很好的准备、对细节的关注和积极的态度对于通过 SCJP 考试至关重要。
如果您想免费地预览您将在 SCJP 认证考试中遇到的各种题目,请参阅侧栏“ Sample questions from the J@Whiz SCJP certification test simulator”。如果您想使用本文中推荐的许多学习辅导,请参阅 参考资料部分。无论您选择如何准备您的第一次 Java 认证考试,我都真诚地希望本文中的建议对您有所帮助,祝您在考试中好运。
书籍
- 您可以参阅本文在 developerWorks 全球站点上的
英文原文.
- 对于想系统地学习 Java 读者来说,Khalid Mughal 和 Rolf Rasmussen 的
A Programmer's Guide to Java Certification
(Addison Wesley,1999)是不错的参考资料。
- Simon Roberts 和 Philip Heller 的
Complete Java 2 Certification Study Guide
(Sybex,2002)更新于 2002 年 7 月,其中有严谨的样题,供您平时练习使用。
- William Brogden 的
Java 2 Exam Prep和
Java 2 Exam Cram是两本优秀的书。Que Publishing 正在再版这个原先由 Coriolis Group 出版的系列。
Exam Cram
帮读者简要地复习 Java 2,而前一本
Exam Prep
相当全面地介绍了 Java 语言的基础知识。
规范、文章和教程
- Sun Microsystems 的
J2SE 1.2 和 J2SE 1.4 API 规范是 SCJP 考试的必读资料。
- Sun Microsystems 的
集合教程有助于您复习 Java 集合 API。
- 推荐您在参加新的 SCJP 1.4 考试前阅读也是由 Sun 提供的
断言学习指南。
- 在 John Zukowski 的
developerWorks每月专栏
Magic with Merlin
中,作者讲述了 JDK 1.4 的新功能,其中有一期是
working with assertions。
- “
Understand the mechanics of Java's new assertion facility”(
JavaWorld,2001 年 11 月)是分两部分的概论,其中介绍了断言的工作原理和在 Java 开发实践中的使用方法。
- 如果您想了解有关
hashcode()和equals()方法的更多知识,请在线阅读 Effective Java(PDF)的第 3 章(经 Sun Microsystems 的同意)。
- 请参阅
developerWorks的
Java 教程索引,这是一个免费教程的完整列表。
- 在
developerWorks的
Java 技术专区,您能找到关于 Java 编程的各个方面的许多文章。
练习、练习、练习
-
VisualAge for Java是能满足您的 Java 编程需求的综合的 IDE。
- 虽然
jEdit不具有某些商业产品的所有的功能,但它仍是不错的免费的开放源代码 Java IDE。
- WHIZlabs Software 专门经营 IT 认证模拟器,其中包括针对 J2SE 1.4 的
J@Whiz SCJP 认证考试模拟器。
-
The Complete Java 2 Certification Study Guide的第 6 章
中有免费的模拟考试供您自测,摘自 java.sun.com。
更多参考资料
- Marcus Green 是有口皆碑的 Java 认证专家。他的
Java 认证站点上汇集了 SCJP 教程、免费的模拟考试、认证讨论论坛和有关他的 Java 认证培训课程的信息。
-
JavaRanch(“一个对 Java 初学者很友好的地方”)中有一个社区讨论论坛和 SCJP 规则总结,后者是一个免费的认证模拟考试。
- 如果您在寻找个性化的 Java 培训,请访问
IBM 教学站点,这是一个不错的起点。
-
IBM 专业认证站点按品牌分类列出了现有的认证计划。
Pradeep Chopra 是电子学习公司 WHIZlabs Software的共同创始人,该公司致力于 IT 认证考试模拟器和企业技能评估系统的开发。Pradeep 是位于德里的 Indian Institute of Technology 的毕业生,他从 Java 诞生之日起就开始在工作中使用 Java 及相关技术。您可通过 pradeep@whizlabs.com与他联系。