日期:2014-05-20  浏览次数:20844 次

有参加过SCJP 1.5 或1.6 认证考试的吗?进来讨论讨论
本人准备参加cx-310-065的认证,是1.6的,感觉要求内容上比1.4多了不少.
1.6要求的内容
第1节:声明、初始化和范围

  * 编写代码,声明类(包括抽象类和各种形式的嵌套类)、接口和枚举,并包含包和import语句(包括static imports)的适当使用。
  * 编写代码,声明接口。编写代码,实现或扩展一或多个接口。编写代码,声明抽象类。开发代码,扩展抽象类。
  * 编写代码,以静态、实例和局部变量方式声明、初始化和使用基本类型、数组、枚举和对象。并使用正确的变量名标识符。
  * 编写代码,声明静态和非静态的方法,如果可以的化,使用符合JavaBean命名标准的方法名称。编写代码,声明和使用变量长度参数列表。
  * 给定示例代码,确定某个方法是否正确地重载了另一个方法,确定方法正确的返回值(包括共变返回)。
  * 给定一组类和父类,为一个或多个类编写构造函数。给定一个类声明,确定是否要创建一个默认的构造函数,如果是这样,确定构造函数的行为。给定一个嵌套的或非嵌套的类列表,编写代码将类实例化。


第2节:流控制

  * 编写代码实现if或switch语句,认识这些语句的正确的参数类型。
  * 编写代码实现所有各种形式的循环和迭代,包括使用for、增强循环(for-each), do, while, labels, break和continue;并讲解在循环执行过程中和循环执行完成后,循环变量的取值情况。
  * 编写代码,使用断言,区分断言的正确和错误使用。
  * 编写代码,使用异常和异常处理语句(try, catch, finally),声明有抛出异常的方法和重载方法。
  * 了解在代码段中某个点抛出异常的结果。注意,异常可能是运行时异常、检查异常或错误。
  * 了解可能导致下列异常发生的情况:ArrayIndexOutOfBoundsException,ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowErrorNoClassDefFoundError。理解虚拟机会抛出哪个异常,了解程序抛出这些异常的情形。


第3节:API内容

  * 编写代码,使用基本封包类 (如Boolean, Character, Double, Integer等),和/或自动装箱、拆箱。讨论String, StringBuilder和StringBuffer这几个类之间的区别。
  * 给定一个涉及以下操作的情形:涉浏览文件系统、读写文件或与用户交互,从java.io中使用下列类(有时候要组合使用)编写正确的解决方案:BufferedReader、BufferedWriter、File、FileReader、FileWriter、PrintWriter和 Console。
  * 使用到java.io中的下列API编写用于实现对象序列化和/或去序列化的对象:DataInputStream、 DataOutputStream、FileInputStream、FileOutputStream、ObjectInputStream、 ObjectOutputStream和Serializable。
  * 使用java.text包中的标准J2SE API,正确地对某个文化中的日期、数字和货币值进行格式化或解析;并且,给定一个情景,如果要用默认文化或某种特定的文化,确定适当的所需使用的方法。讲解java.util.Locale类的目的和使用方式。
  * 编写代码,使用java.util.regex包中的标准J2SE API,对字符串或流进行格式化或解析。为字符串编写代码,使用Pattern和Matcher类以及String.split方法。认识和使用正则表达式的匹配(限于:.(dot), * (star), + (plus), ?, \d, \s, \w, [], ()). *, +, 和?的使用将限于贪婪方法,括号只用于组机制,而不是匹配过程中的捕获内容。为流编写代码,使用Formatter和Scanner类以及 PrintWriter.format/printf方法。认识和使用格式化字符串中的格式化参数(限于: %b, %c, %d, %f, %s)。


第4节:并发

  * 编写代码,使用java.lang.Thread和java.lang.Runnable定义、初始化并启动新的线程。
  * 认识线程能退出的状态,了解线程状态从一个转到另一个的途径。
  * 给定一个情景,编写代码,适当使用对象锁定方式,保护静态或实例变量不发生并发访问问题。
  * 给定一个情景,编写代码,正确使用wait, notify, 或notifyAll。


第5节:面向对象概念

  * 编写代码实现紧封装、松耦合和类间高聚合,讲解其优点。
  * 给定一个情景,编写代码,展示多态的使用。此外,确定何时有必要使用类型转换,并了解与对象引用类型转换有关的编译器 和运行时错误。
  * 讲解修饰符在构造函数、实例或静态变量以及实例或静态方法方面对继承机制的影响。
  * 给定一个情景,编写用于声明和/或调用过载方法的代码,并编写用于声明和/或调用超类或重载构造函数的代码。
  * 编写代码,实现"is-a"和/或"has-a"关系。


第6节:集合/泛化

  * 给定一个设计情景,确定要使用哪个集合类和/或接口,能适当地实现这一设计目的,包括使用Comparable接口。
  * 区分hashCode和equals方法正确和错误的重载方式,并讲解==和equal方法之间的区别。
  * 编写代码,使用Collections API的泛化版,特别是Set, List,和Map接口以及实现类。了解非泛化Collections API的局限性,以及如何将代码重构以使用泛化版本。编辑旨在使用NavigableSet和NavigableMap界面的代码。
  * 编写代码,正确地在类/接口声明、实例变量、方法参数和返回类型中使用类型参数;编写泛化方法或使用了wildcard类型的方法,理解这两种方法之间的相似与不同。
  * 使用java.util包中的功能编写代码,对列表进行排序操作、二进制搜索或者将列表转换为数组。使用java.util包中的功能编写代码,对数组进行排序操作、二进制搜索或者将数组转换为列表使用java.util.Comparator和java.lang.Comparable接口影响列表和数组的排序。此外,认识基本封包类“自然排序” 的作用,以及java.lang.String的排序。


第7节:基础知识

  * 给定一段示例代码和情景,编写代码,使用正确的访问修饰符、包声明和import语句,与示例代码进行交互(通过访问或继承)。
  * 给定一个示例类和一个命令,确定期望的运行时行为。.
  * 如果将对象引用和基本数据值传给方法,在方法之中对参数执行赋值或其它修改操作,确定其结果。
  * 给定一组代码样例,识别某个对象可在何处开始垃圾收集,确定垃圾收集系统能够保证什么、不能确保什么,以及了解Object.finalize()方法的行为。
  * 给定JAR文件内和/或外部署的完全符合条件的类名,为这个类创建适当的目录结构。给定代码示例和类路径,确定这个类路径是否能够让代码成功地编译。
  * 编写代码,正确使用各种运算符,包括赋值运算符(限于: =, +=, -=), 算术运算符(限于: +, -, *, /, %, ++, --), 关系运算符(限于:<, <=, >, >=, ==, !=), instanceof运算符、逻辑运算符 (限于:&, |, ^, !, &&, ||),以及条件运算符( ?: ),以产生期望的结果。编写代码确定两个对象或两个基本类型变量是否相等。