![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
[多选题]
关于Java中的volatile关键字,下列说法哪些是正确的()
A.volatile可以保证可见性
B.volatile可以保证原子性
C.volatile可以防止指令重排序保证有序性
D.volatile可以阻塞线程
![](https://static.youtibao.com/asksite/comm/h5/images/m_q_a.png)
VOLATILE可以保证可见性VOLATILE可以防止指令重排序保证有序性
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
A.volatile可以保证可见性
B.volatile可以保证原子性
C.volatile可以防止指令重排序保证有序性
D.volatile可以阻塞线程
VOLATILE可以保证可见性VOLATILE可以防止指令重排序保证有序性
A.你不能再从抽象类中派生出子类
B.抽象类中可以没有抽象方法
C.抽象类中的方法也必须都是抽象的
D.声明抽象类必须带有关键字abstract
A.Scala中的if语句可以带返回值
B.Scala中的返回值不需要写return关键字
C.Scala中的main方法定义在object上
D.Scala中没有for循环
A.如果修饰变量,则一旦赋了值,就等同一个常量
B.如果修饰类,则该类只能被一个子类继承
C.如果修饰方法,则该方法不能在子类中被覆盖
D.如果修饰方法,则该方法所在的类不能被继承(可以继承)
A.在同一个Java虚拟机中一个对象被多个线程同时访问,还能保持其内部属性的顺序性及同步性,则认定为线程安全
B.可以使用synchronized关键字实现线程的安全
C.使用Java并发包下的Lock也可以实现线程安全
D.使用Java并发包下的Lock和synchronized实现线程安全的原理是一样的