2019年11月14日 java2
考点1
有关线程的叙述正确的是()
- A 可以获得对任何对象的互斥锁定。
- B 通过继承
Thread
类或实现Runnable
接口,可以获得对类中方法的互斥锁定。 - C 线程通过使用
synchronized
关键字可获得对象的互斥锁定。 - D 线程的创建只能通过继承
Thread
类来实现。
解析
显示答案/隐藏答案
正确答案: C采用synchronized
修饰符实现的同步机制叫做互斥锁机制,它所获得的锁叫做互斥锁。
每个对象都有一个monitor
(锁标记),当线程拥有这个锁标记时才能访问这个资源,没有锁标记便进入锁池。
任何一个对象系统都会为其创建一个互斥锁,这个锁是为了分配给线程的,防止打断原子操作。每个对象的锁只能分配给一个线程,因此叫做互斥锁。
考点2
设int x=1,float y=2,则表达式x/y的值是:()
- A 0
- B 1
- C 2
- D 以上都不是
解析
显示答案/隐藏答案
正确答案: D直接量2是int类型,可以自动转成float类型
表达式的计算结果的类型为操作数中范围最大的
x/y的结果为float类型,等于0.5
考点3
java接口的方法修饰符可以为?(忽略内部接口)
- A
private
- B
protected
- C
final
- D
abstract
解析
显示答案/隐藏答案
正确答案: D接口方法默认public abstract
考点4
java中提供了哪两种用于多态的机制
- A 通过子类对父类方法的覆盖实现多态
- B 利用重载来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
- C 利用覆盖来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
- D 通过子类对父类方法的重载实现多态
解析
显示答案/隐藏答案
正确答案: AB多态分为 编译时多态 和 运行时多态 。
其中 编辑时多态是静态的 , 主要是指方法的重载 ,它是根据参数列表的不同来区分不同的函数,通过编辑之后会变成两个不同的函数,在运行时谈不上多态。
而 运行时多态是动态的 ,它是 通过动态绑定来实现的 ,也就是我们所说的多态性(要有继承关系 2.子类要重写父类的方法 3.父类引用指向子类)
考点5
下列哪个选项是错误的。()
- A 一个文件中只能有一个
public class
。 - B 一个文件中可以有多个类。
- C 一个类中可以有两个
main
方法。 - D 若类中只含一个
main
方法,则必须是public
的。
解析
显示答案/隐藏答案
正确答案: ADA.一个文件中,可以有多个public class
1 | public class Main { |
即,外部类为public,还可以有public的内部类。
B.一个文件中可以有多个类,可以是多个并列的类,也可以是外部类、内部类结合。
C.一个类中,可以有多个main方法,这是重载,但是public static void main(String[] args)
的方法只能有一个。
D.类中,可以有main方法,也可以没有main方法,而有一个main()方法的时候,也可以是任意访问权限。因为这个类不一定要执行,可以只是辅助类。
考点6
下面有关java threadlocal说法正确的有?
- A
ThreadLocal
存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递 - B 线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且
ThreadLocal
实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收 - C 在
Thread
类中有一个Map
,用于存储每一个线程的变量的副本。 - D 对于多线程资源共享的问题,同步机制采用了”以时间换空间”的方式,而
ThreadLocal
采用了”以空间换时间”的方式
解析
显示答案/隐藏答案
正确答案: ABCD有空了解一下