牛客网-Java专项练习07
答案设置为白色,框选即可显示
1.ArrayList和Vector主要区别是什么?
A.Vector与ArrayList一样,也是通过数组实现的,不同的是Vector支持线程的同步
B.Vector与ArrayList一样,也是通过数组实现的,不同的是ArrayList支持线程的同步
C.Vector是通过链表结构存储数据,ArrayList是通过数组存储数据
D.上述说法都不正确
答案:A
解析:
1) 同步性:Vector是线程安全的,也就是说是同步的 ,而ArrayList 是线程序不安全的,不是同步的。
2)数据增长:当需要增长时,Vector默认增长为原来一倍 ,而ArrayList却是原来的50% ,这样,ArrayList就有利于节约内存空间。
如果涉及到堆栈,队列等操作,应该考虑用Vector,如果需要快速随机访问元素,应该使用ArrayList 。
2.以下集合对象中哪几个是线程安全的()
A.LinkedList
B.ArrayList
C.Vector
D.Hashtable
答案:CD
解析:简单记忆线程安全的集合类: 喂!SHE! 喂是指 vector,S是指 stack, H是指 hashtable,E是指:Eenumeration
3.下面有关jdbc statement的说法错误的是?
A.JDBC提供了Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程
B.对于PreparedStatement来说,数据库可以使用已经编译过及定义好的执行计划,由于 PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象”
C.PreparedStatement中,“?” 叫做占位符,一个占位符可以有一个或者多个值
D.PreparedStatement可以阻止常见的SQL注入式攻击
答案:C
解析:Statement继承自Wrapper、PreparedStatement继承自Statement、CallableStatement继承自PreparedStatement。 一个占位符只能对应一个值。
4.java用()机制实现了线程之间的同步执行
A.监视器
B.虚拟机
C.多个CPU
D.异步调用
答案:A
解析:每一个对象都有一个监视器(锁)。在jvm中 是使用监视器锁来实现不同线程的异步执行, 在语法的表现就是synchronized 。
5.@SuppressWarnings(“deprecation”)的功能是什么?
A.屏蔽不赞同使用的类和方法的警告
B.屏蔽在强制类型转换的时候编译器给出的警告
C.关闭所有警告信息
D.当在可序列化的类上缺少serialVersionUID定义的警告
答案:A
解析:
@Override 注解表名子类中覆盖了超类中的某个方法,如果写错了覆盖形式,编译器会报错
@Deprecated 表明不希望别人在以后使用这个类,方法,变量等等
@Suppresswarnings 达到抑制编译器产生警告的目的,但是不建议使用,因为后期编码人员看不懂编译器提示的警告,不能更好的选择更好的类去完成任务