2019年12月16日 java1
考点1 case穿透
给定代码:
1 | public class SwitchTest{//1 |
第三行将输出什么?
- A
value=6
- B
value=8
- C
value=3
- D
value=5
- E
value=4
解析
显示答案/隐藏答案
正确答案: B考点2 servlet内置对象
从以下哪一个选项中可以获得Servlet的初始化参数?
- A
Servlet
- B
ServletContext
- C
ServletConfig
- D
GenericServlet
解析
显示答案/隐藏答案
正确答案: C通过ServletConfig接口的getInitParameter(java.lang.String name)方法
考点3 运算符优先级
下面的程序将来打印什么?()
public class TestIncr {
public static void main(String args[]) {
int i = 0;
i = i++ + i;
System.out.println(“I =” +i);
}
}
- A
I = 1
- B
I = 2
- C
I = 3
- D 编译出错
解析
显示答案/隐藏答案
正确答案: A考点4 持久区jvm堆内存溢出
下面哪种情况会导致持久区jvm堆内存溢出?
- A 循环上万次的字符串处理
- B 在一段代码内申请上百M甚至上G的内存
- C 使用
CGLib
技术直接操作字节码运行,生成大量的动态类 - D 不断创建对象
解析
显示答案/隐藏答案
正确答案: Chttp://blog.csdn.net/sivyer123/article/details/17139443
考点5 CMS垃圾回收器
CMS垃圾回收器在那些阶段是没用用户线程参与的
- A 初始标记
- B 并发标记
- C 重新标记
- D 并发清理
解析
显示答案/隐藏答案
正确答案: AC考点6 序列化
transient 变量和下面哪一项有关?
- A
Cloneable
- B
Serializable
- C
Runnable
- D
Comparable
解析
显示答案/隐藏答案
正确答案: B考点7 网络编程
关于 Socket 通信编程,以下描述错误的是:( )
- A 服务器端通过
new ServerSocket()
创建TCP
连接对象 - B 服务器端通过
TCP
连接对象调用accept()
方法创建通信的Socket
对象 - C 客户端通过
new Socket()
方法创建通信的Socket
对象 - D 客户端通过
new ServerSocket()
创建TCP
连接对象
解析
显示答案/隐藏答案
正确答案: D考点8 HashMap
下面有关java hashmap的说法错误的是?
- A
HashMap
的实例有两个参数影响其性能:”初始容量” 和 “加载因子”。 - B
HashMap
的实现不是同步的,意味着它不是线程安全的 - C
HashMap
通过开放地址法解决哈希冲突 - D
HashMap
中的key-value
都是存储在Entry
数组中的
解析
显示答案/隐藏答案
正确答案: C解决冲突主要有三种方法:定址法,拉链法,再散列法。HashMap是采用拉链法解决哈希冲突的。 注:
链表法是将相同hash值的对象组成一个链表放在hash值对应的槽位;
用开放定址法解决冲突的做法是:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。
沿此序列逐个单元地查找,直到找到给定
的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。
拉链法解决冲突的做法是: 将所有关键字为同义词的结点链接在同一个单链表中
。若选定的散列表长度为m,则可将散列表定义为一个由m个头指针组成的指针数
组T[0..m-1]。凡是散列地址为i的结点,均插入到以T[i]为头指针的单链表中。T中各分量的初值均应为空指针。在拉链法中,装填因子α可以大于1,但一般均取α≤1。拉链法适合未规定元素的大小。
考点9 补码运算
变量a是一个64位有符号的整数,初始值用16进制表示为:0Xf000000000000000; 变量b是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF。 则a-b的结果用10进制表示为多少?()
- A 1
- B -(2^62+2^61+2^60+1)
- C 2^62+2^61+2^60+1
- D 2^59+(2^55+2^54+…+2^2+2^1+2^0)
解析
显示答案/隐藏答案
正确答案: C考点10 反射机制
Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持,下面关于Java反射的描述,哪些是错误的:( )
- A
Java
反射主要涉及的类如Class, Method, Filed
,等,他们都在java.lang.reflet
包下 - B 通过反射可以动态的实现一个接口,形成一个新的类,并可以用这个类创建对象,调用对象方法
- C 通过反射,可以突破
Java
语言提供的对象成员、类成员的保护机制,访问一般方式不能访问的成员 - D
Java
反射机制提供了字节码修改的技术,可以动态的修剪一个类 - E
Java
的反射机制会给内存带来额外的开销。例如对永生堆的要求比不通过反射要求的更多 - F
Java
反射机制一般会带来效率问题,效率问题主要发生在查找类的方法和字段对象,因此通过缓存需要反射类的字段和方法就能达到与之间调用类的方法和访问类的字段一样的效率
解析
显示答案/隐藏答案
正确答案: ADF- A选项错误,类Class在java.lang包下,类Method、Filed在java.lang.reflet包下。
- D选项错误,反射的本质就是从字节码中查找,动态获取类的整容结构,包括属性,构造器,动态调用对象的方法,而不是修剪类,
- F选项错误,使用了反射的效率都会降低,就算加了缓存