2020年秋招笔试错题集
- 对于同一类的两个方法,判断是不是重载不需要考虑? (C)
A:参数个数 B参数类型 C返回值类型 D参数顺序 - (C)
字符串存储在字符串常量区,同一份字符串在内存中只有一份,所以第一个输出是true, B+C相当于new String(b+c),新建了一个新的字符串并分配地址,所以第二个输出是false
-
关于JVM内存,说法错误的是? (C)
A:程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
B:虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
C: 方法区用于存储JVM加载的类信息,常量,静态变量以及编译器编译后的代码等数据,是线程隔离的。(应该是线程之间共享的,和堆一样)
D:原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的。
(虽然虚拟机规范是这样要求的,但是具体实现上还是有些差别的。假设对对象进行逃逸分析,如果发现某一个对象并没有逃逸到方法外部,那么就可能通过标量替换来实现栈上分配,而避免堆上分配内存。) -
处理流有哪些?(CD)
A:FileInputStream
B:InputStream
C:DataInputStream
(允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型)
D: BufferedInputStream
与处理流相对应的是节点流,
节点流:直接操作目标
处理流:通过间接流类去调用节点流类