• 每天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)。
    
  • 相关阅读:
    UVA 11019 Matrix Matcher ( 二维字符串匹配, AC自动机 || 二维Hash )
    蓝桥杯 修改数组 (巧用并查集)
    luoguP3242 [HNOI2015]接水果
    CF757F Team Rocket Rises Again
    luoguP2597 [ZJOI2012]灾难
    luoguP4103 [HEOI2014]大工程
    luoguP3233 [HNOI2014]世界树
    luoguP2495 [SDOI2011]消耗战
    CF613D Kingdom and its Cities
    51nod 1584 加权约数和
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7247309.html
Copyright © 2020-2023  润新知