2019年11月7日 java3

考点1

下列语句:int *p, a = 10; p = &a.
均表示地址的是()

  • A a , p, &a
  • B &*a,&a,*p
  • C *&p, *p, &a
  • D &a, p, &*p

正确答案: D

解析

  • *p表示指针p
  • &a表示取a的内存地址
  • p = &a 表示p等于a的内存地址
  • &*p表示获取指针p的内存地址
  • *&p表示指向P内存地址的一个指针

考点2

下面代码的运行结果是()

1
2
3
4
public static void main(String[] args){
String s;
System.out.println("s="+s);
}
  • A 代码编程成功,并输出”s=”
  • B 代码编译成功,并输出”s=null”
  • C 由于String s没有初始化,代码不能编译通过。
  • D 代码编译成功,但捕获到NullPointException异常

正确答案: C

解析

局部变量没有默认值

成员变量有初始值,而局部变量没有初始值得。本体中的s定义在方法中所以为局部变量-没有初始值。变量没有初始值就使用了,编译通不过

考点3

java运行时内存分为“线程共享”和“线程私有”两部分,以下哪些属于“线程共享”部分

  • A 程序计算器
  • B 方法区
  • C java虚拟机栈
  • D java堆

正确答案: BD

解析

  • 私有:
    • java虚拟机栈,
    • 程序计数器,
    • 本地方法栈
  • 共享:
    • java堆,
    • 方法区

考点4

1
String str = new String("abc")

"abc"在内存中是怎么分配的?

  • A 堆
  • B 栈
  • C 字符串常量区
  • D 寄存器

正确答案: AC

解析

考点5

截止JDK1.8版本,java并发框架支持锁包括?

  • A 读写锁
  • B 自旋锁
  • C X锁
  • D 乐观锁
  • E 排他锁

正确答案: ABD

解析

考点6

HashSet子类依靠()方法区分重复元素。

  • A toString(),equals()
  • B clone(),equals()
  • C hashCode(),equals()
  • D getClass(),clone()

正确答案: C

解析

HashSet内部使用Map保存数据,即将HashSet的数据作为Map的key值保存,这也是HashSet中元素不能重复的原因。而Map中保存key值前,会去判断当前Map中是否含有该key对象,内部是先通过key的hashCode,确定有相同的hashCode之后,再通过equals方法判断是否相同。

考点7

一个文件中的字符要写到另一个文件中,首先需要( )。

  • A 使用标准输出流System.out.println()。
  • B 建立文件字符输出流。
  • C 建立文件字符输入流。
  • D 标准输入流System.in.read()。

正确答案: C

解析

考点8

以下描述错误的一项是( )?

  • A 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行 到了第几行,是线程隔离的
  • B 原则上讲,所有的对象都是在堆区上分配内存,是线程之间共享的
  • C 方法区用于存储JVM加载的类信息、常量、静态变量,即使编译器编译后的代码等数据,是线程隔离的
  • D Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的

正确答案: C

解析

有空了解一下