第一部分:声明和访问控制
声明,构建,初始化任何类型的数组
声明类,内部类,方法,成员变量,静态成员变量和方法变量,并会应用任何合法的修饰符(如public,final,static,abstract,等等)。能够
明了这些修饰符单独和组合起来的含义,并且知道被修饰符修饰的任意对象在各种包相关联系下的影响。
第二部分:流程控制,断言和异常处理
能够正确使用if,switch语句并且在这些语句中能正确使用合法的参数类型。
能够正确使用所有带标签或不带标签的循环语句,能使用break,continue,能计算在循环中或循环后循环计数器的值。
能够正确使用异常和异常处理语句(try,catch,finally)。能正确声明掷出例外的方法,并知道怎样覆盖它。
知道在程序段的特定点出现的异常对程序的影响。即:异常可能是一个runtime exception,一个checked exception也可能是一个error。(这
个程序段可能包括try,catch,finally并以任何可能的合法组合出现。)。
能正确应用断言,区分正确使用的断言和不正确的。
明白关于断言机制的正确说法。
第三部分:垃圾收集
明白垃圾收集机制确定性的行为。
能用程序显式的使一个对象能被垃圾收集器合法的收集。
知道在程序的哪一点垃圾收集器能合法地收集一个对象。
第四部分:语言基础
能正确构建包声明,import声明,类声明(包括内部类),接口声明,方法声明(包括用于开始一个类的执行的main方法),变量声明及其其
它的一些说明符。
能够正确使用一些类,这些类要么实现了java.lang.Runnable这个接口,要么能正确实现在问题中构建的一些接口。
知道传入main函数的命令行参数的index value。
知道所有JAVA的keyword。注意:考试中不会出现要你区分keyword和各种常数这类深奥的问题。
明白如果没有显式地赋值的各种变量或者数组被使用会出现什么结果。
知道所有原始数据类型的取值范围,怎样声明一个String的字面值等等。
第五部分:操作与赋值
能知道当任何操作符(包括赋值操作符和intanceof操作符)应用于任何操作数(任何类型的类或访问能力或两者的任意组合)的结果。
知道String,Boolean和Object类使用equals(Object)方法后的结果。
知道当对已经知道值的变量进行&,|,&&,||操作时,哪些操作数被运算了,表达式最终的结果是怎样的。
知道Object和原始类型数据传入方法的不同方式,知道如何在这些方法中如何进行赋值或其它修改操作。
第六部分:覆盖,重载,运行时期类型及其面向对象
知道面向对象设计中封装的好处并能用程序实现紧密封装的类,能知道is a和has a的意义。
能正确使用覆盖和重载的方法,能正确调用父类或覆盖了的构建器,知道调用这些方法后的结果。
能实例化任何具体的一般顶层类和内部类。
第七部分:线程
能用java.lang,Thread和java.lang.Runnable两种方法定义,实例化和开始一个新的线程。
知道哪些情况下可能阻止一个线程的执行。
能使用synchronized,wait,notify和notifyAll去解决避免同时访问及其线程间相互通讯的问题。
当执行synchronized,wait,notify和notifyAll时,知道线程和对象锁之间的交互作用。
第八部分:在java.lang包中的基础类
能够应用Math类中的abs,ceil,floor,max,min,random,round,sin,cos,tan,sqrt方法。
正确描述String类不可改变的意义。
当执行一段程序,中间包含有wrapper类的一个实例,知道它运行的前提条件运行结果。能用下面wrapper类(例如Integer,Double,等等)的方
法来写程序:
doublevalue
floatvalue
intvalue
longvalue
parseXxx
getXxx
toString
toHexString
第九部分:集合类框架
知道如何在特定的条件下选择适合的集合类/接口。
区分正确和不正确对hashcode方法的实现。