1.A
A  错误 运行命令是 java + 你的 Java 程序的名字但是不加后缀 所以这道题错在多了 .class这个后缀
B  正确
C  javac 是编译命令,后跟 你的 Java 程序名字加后缀,也就是 YourClassName.java 所以答案正确
D JVM (Java 虚拟机)运行的是编译后的字节码文件(以.class为后缀的文件),也就是 YourClassName.class 所以答案正确


2.A
(3+x)*(4+x)=2x^2+4
.....x=8或-1


3.B
String str1 = new String("hello");
这种方式创建的字符串,和正常创建对象一样,保存在堆区。
String str3 = "hello";
这种方式创建的字符串,保存在字符串常量区。


4.D
静态变量只能在类主体中定义,不能在方法中定义


5.AB
// D错,引用变量被final修饰之后,不能再指向其他对象,但是它指向的对象的内容是不可变的。
final StringBuffer sb = new StringBuffer();
sb.append("hello");
//C错,
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,但是不是关闭文件这种操作而是一些通过调用了native方法产生的资源的释放


6.B
接口和抽象类都可以定义类的实例变量
但是接口中的默认是public static final的
比如int a;必须要赋初始值 int a=0;
抽象类中可以直接使用int a;


7.A
set 无序不重复 list有序可重复
因为无序所以是不重复的 重复就没办法标志那个元素是哪个元素了
因为是有序所以是可重复的 既然有序 即使有重复元素也可以根据下标知道是哪个元素


8.ACD
B 是在运行阶段 调用service()


9.A
调用run方法并不会启动子线程,而是直接当作普通函数调用,因此在执行run的时候,遇到Thread.sleep(1000)导致的是main线程休眠1s,因此效果是运行后,在1s后控制台输出“runmain"


10.A B D E 
也就是说数组命名时名称与[]可以随意排列,但声明的二维数组中第一个中括号中必须要有值,它代表的是在该二维数组中有多少个一维数组。