zoukankan      html  css  js  c++  java
  • 每天5道面试题(二)java基础

    说出Servlet的生命周期,并说出Servlet和CGI的差别

    Servlet被server实例化后,容器执行其init方法,请求到达时执行其service方法,service方法自己主动派遣执行与请求相应的doXXX方法(doGet。doPost)等,当server决定将实例销毁的时候调用其destroy方法。
    与cgi的差别在于servlet处于server进程中。它通过多线程方式执行其service方法,一个实例能够服务于多个请求,而且事实上例一般不会销毁,而CGI对每一个请求都产生新的进程,服务完毕后就销毁,所以效率上低于servlet。

    说出ArrayList,Vector, LinkedList的存储性能和特性

    ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便添加和插入元素。它们都同意直接按序号索引元素,可是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector因为使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储。按序号索引数据须要进行前向或后向遍历。可是插入数据时仅仅须要记录本项的前后项就可以,所以插入速度较快。

    HashMap和Hashtable的差别

    HashMap是Hashtable的轻量级实现(非线程安全的实现)。他们都完毕了Map接口,主要差别在于HashMap同意空(null)键值(key),因为非线程安全,效率上可能高于Hashtable。

    HashMap同意将null作为一个entry的key或者value,而Hashtable不同意。
    HashMap把Hashtable的contains方法去掉了。改成containsvalue和containsKey。因为contains方法easy让人引起误解。
    Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
    最大的不同是。Hashtable的方法是Synchronize的。而HashMap不是,在多个线程訪问Hashtable时,不须要自己为它的方法实现同步。而HashMap 就必须为之提供外同步。
    Hashtable和HashMap採用的hash/rehash算法都大概一样,所以性能不会有非常大的差异。

    Collection 和 Collections的差别

      Collection是集合类的上级接口,继承与他的接口主要有Set 和List.
    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

    &和&&的差别

    &是位运算符,表示按位与运算,&&是逻辑运算符。表示逻辑与(and)。
    
  • 相关阅读:
    canvas,制作炫酷的时钟和倒计时
    【bzoj2142】【礼物】拓展Lucas定理+孙子定理
    【hdu3652】数位dp(浅尝ACM-A)
    【bzoj4152】【The Captain】最短路(堆优化)(浅尝ACM-B)
    【bzoj2190】【仪仗队】欧拉函数+线性筛(浅尝ACM-J)
    【bzoj1087】【互不侵犯King】状压dp裸题(浅尝ACM-D)
    【bzoj1566】【管道取珠】竟然是dp题(浅尝ACM-E)
    【bzoj2957】【楼房重建】另类的线段树(浅尝ACM-H)
    【codevs1907】【方格取数3】二分图最大带权独立集
    二分图变种之最小路径覆盖、最小点覆盖集【poj3041】【poj2060】
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7247309.html
Copyright © 2011-2022 走看看