今天好多题涉及JVM,然鹅我还没看完呢…喵喵喵!即使是看博客,也有不理解的地方,部分题目先留坑!
1.以下代码将打印出 C
public static void main (String[] args) {
String classFile = "com.jd.". replaceAll(".", "/") + "MyClass.class";
System.out.println(classFile);
}
com. jd
com/jd/MyClass.class
///MyClass.class
com.jd.MyClass
好坑啊…机智的我运行了一遍才选的C。由于replaceAll方法的第一个参数是一个正则表达式,而".“在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成”/"。如果想替换的只是".",那么久要写成"\."。
2.Which lines of the following will produce an error? A
1. byte a1 = 2, a2 = 4, a3;
2. short s = 16;
3. a2 = s;
4. a3 = a1 * a2;
Line 3 and Line 4
Line 1 only
Line 3 only
Line 4 only
数值型变量在默认情况下为Int型,byte和short型在计算时会自动转换为int型计算,结果也是int 型。所以a1*a2的结果是int 型的。第三行出错是因为,高级向低级转换得是强制转换,如果低级向高级,那就是隐式转换了。byte<char<short<int<long<float<double。
3.关于Socket编程。
4.以下说法错误的是()D
虚拟机中没有泛型,只有普通类和普通方法
所有泛型类的类型参数在编译时都会被擦除
创建泛型对象时请指明类型,让编译器尽早的做参数检查
泛型的类型擦除机制意味着不能在运行时动态获取List<T>中T的实际类型
5.以下哪项陈述是正确的?E
垃圾回收线程的优先级很高,以保证不再 使用的内存将被及时回收
垃圾收集允许程序开发者明确指定释放 哪一个对象
垃圾回收机制保证了JAVA程序不会出现 内存溢出
进入”Dead”状态的线程将被垃圾回收器回收
以上都不对
6.在java语言中,判断一块内存空间是否符合垃圾收集器收集标准的标准只有两个:给对象赋值为null,以下没有调用过;给对象赋了新的值,重新分配了内存空间。
7.下面这段程序的输出结果是()A
public class Main {
public static void main(String[] args) {
split(12);
}
public static int split(int number) {
if (number > 1) {
if (number % 2 != 0) System.out.print(split((number + 1) / 2));
System.out.print(split(number / 2));
}
return number;
}
}
12136
63121
61213
11236