2019年11月14日 java1
考点1
1 | public class Test |
对于上面这段代码,以下说法正确的是:
A 程序会打出 “Value is 0”
B 程序会抛出 NullPointerException
C 非静态变量不能够被静态方法引用
D 编译器会抛出 “possible reference before assignment”的错误
解析
显示答案/隐藏答案
正确答案: Cmain方法是静态方法,静态成员不能访问非静态成员。
考点2
下列哪个说法是正确的()
- A
ConcurrentHashMap
使用synchronized
关键字保证线程安全 - B
HashMap
实现了Collction
接口 - C
Array.asList
方法返回java.util.ArrayList
对象 - D
SimpleDateFormat
是线程不安全的
解析
显示答案/隐藏答案
正确答案: DA选项中,ConcurrentHashMap
使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。
B中,HashMap定义规则如下:
1 | public class HashMap<K,V> |
C中,应该是Arrays.asList(),其将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象,
这个ArrayList类并非java.util.ArrayList类,而是Arrays类的内部类
java并发集合有不懂有空了解一下
考点3
关于匿名内部类叙述正确的是? ( )
- A 匿名内部类可以继承一个基类,不可以实现一个接口
- B 匿名内部类不可以定义构造器
- C 匿名内部类不能用于形参
- D 以上说法都不正确
解析
显示答案/隐藏答案
正确答案: B匿名内部类不能有构造器
由于构造器的名字必须与类名相同,而匿名类没有类名,所以匿名类不能有构造器。
考点4
下列关于构造方法的叙述中,错误的是()
- A
java
语言规定构造方法名与类名必须相同 - B
java
语言规定构造方法没有返回值,但不同void
声明 - C
java
语言规定构造方法不可以重载 - D
java
语言规定构造方法只能通过new
自动调用
解析
显示答案/隐藏答案
正确答案: CD构造方法除了 new 关键字调用外,还可以通过如下方式调用
- 反射
- 反序列化
- this调用
- super调用
考点5
下面哪些具体实现类可以用于存储键,值对,并且方法调用提供了基本的多线程安全支持:( )
- A
java.util.ConcurrentHashMap
- B
java.util.Map
- C
java.util.TreeMap
- D
java.util.SortMap
- E
java.util.Hashtable
- F
java.util.HashMap
解析
显示答案/隐藏答案
正确答案: AE线程安全的类有
- hashtable
- concurrentHashMap
- synchronizedMap
有空了解一下
考点6
关于Java中的ClassLoader下面的哪些描述是错误的:( )
- A 默认情况下,
Java
应用启动过程涉及三个ClassLoader: Boostrap, Extension, System
- B 一般的情况不同
ClassLoader
装载的类是不相同的,但接口类例外,对于同一接口所有类装载器装载所获得的类是相同的 - C 类装载器需要保证类装载过程的线程安全
- D
ClassLoader
的loadClass
在装载一个类时,如果该类不存在它将返回null
- E
ClassLoader
的父子结构中,默认装载采用了父优先 - F 所有
ClassLoader
装载的类都来自CLASSPATH
环境指定的路径
解析
显示答案/隐藏答案
正确答案: BDF反射相关的内容,有空了解一下
考点7
class A {}
class B extends A {}
class C extends A {}
class D extends B {}
Which four statements are true ?
- A
The type List<A>is assignable to List.
- B
The type List<B>is assignable to List<A>.
- C
The type List<Object>is assignable to List
<?>. - D
The type List<D>is assignable to List
<?extends B>.
- E
The type List
<?extends A>is assignable to List<A>.
- F
The type List<Object>is assignable to any List reference.
- G
The type List
<?extends B>is assignable to List
<?extends A>.
解析
显示答案/隐藏答案
正确答案: ACDG泛型相关的内容,有空了解一下