2019年12月23日 java1

考点1 java集合旧类和新类的区别

ArrayList和Vector主要区别是什么?

  • A VectorArrayList一样,也是通过数组实现的,不同的是Vector支持线程的同步
  • B VectorArrayList一样,也是通过数组实现的,不同的是ArrayList支持线程的同步
  • C Vector是通过链表结构存储数据,ArrayList是通过数组存储数据
  • D 上述说法都不正确

解析

显示答案/隐藏答案正确答案: A

Vector与ArrayList的主要区别

  • 同步性:

    • Vector是线程安全的,也就是说是同步的而
    • ArrayList是线程序不安全的,不是同步的。
  • 数据增长:当需要增长时,

    • Vector默认增长为原来一倍
    • 而ArrayList却是原来的50%,这样,ArrayList就有利于节约内存空间。
  • 如果涉及到堆栈,队列等操作,应该考虑用Vector,

  • 如果需要快速随机访问元素,应该使用ArrayList 。

Hashtable与HashMap

Hashtable和HashMap它们的性能方面的比较类似
Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是。

ArrayList与LinkedList

ArrayList的内部实现是基于内部数组Object[],所以从概念上讲,它更象数组,
但LinkedList的内部实现是基于一组连接的记录,所以,它更象一个链表结构,所以,它们在性能上有很大的差别:
在ArrayList的前面或中间插入数据时,你必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列数据的后面添加数据而不是在前面或中间,
需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;
而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。

考点2 java包装类 数据转换

关于Float,下列说法错误的是()

  • A Float是一个类
  • B Floatjava.lang包中
  • C Float a=1.0是正确的赋值方法
  • D Float a= new Float(1.0)是正确的赋值方法

解析

显示答案/隐藏答案正确答案: C
  • Float是类,float不是类.
  • 查看JDK源码就可以发现Byte,Character,Short,Integer,Long,Float,Double,Boolean都在java.lang包中.
  • Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.
  • Float a= new Float(1.0)是正确的赋值方法,但是在1.5及以上版本引入自动装箱拆箱后,会提示这是不必要的装箱的警告,通常直接使用Float f=1.0f.

考点4 java短路逻辑运算符

根据下面的代码,
String s = null;
会抛出NullPointerException异常的有()。

  • A if( (s!=null) & (s.length()>0) )
  • B if( (s!=null) && (s.length()>0) )
  • C if( (s==null) | (s.length()==0) )
  • D if( (s==null) || (s.length()==0) )

解析

显示答案/隐藏答案正确答案: AC
  • 逻辑运算符:&&和|| 是按照“短路”方式求值的。如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了
  • 位移运算符:&和| 运算符应用于布尔值,得到的结果也是布尔值,不按“短路”方式计算。即在得到计算结果之前,一定要计算两个操作数的值。

考点5 javaEE JSP生命周期

关于JSP生命周期的叙述,下列哪些为真?

  • A JSP会先解释成Servlet源文件,然后编译成Servlet类文件
  • B 每当用户端运行JSP时,jsp init()方法都会运行一次
  • C 每当用户端运行JSP时,jsp service()方法都会运行一次
  • D 每当用户端运行JSP时,jsp destroy()方法都会运行一次

解析

显示答案/隐藏答案正确答案: AC

B:init方法:负责初始化Servlet对象。在Servlet的整个生命周期类,init()方法只被调用一次。
D:destroy方法:销毁Servlet对象,释放占用的资源,Servlet要被卸载时调用

考点6 常用的final类

以下类型为Final类型的为()

  • A HashMap
  • B StringBuffer
  • C String
  • D Hashtable

解析

显示答案/隐藏答案正确答案: BC

StringBuilder , StringBuffer ,String 都是 final 的