说出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)。

每天5道面试题(二)java基础的更多相关文章

  1. Java 208 道面试题:Java 基础模块答案

    目前市面上的面试题存在两大问题:第一,题目太旧好久没有更新了,还都停留在 2010 年之前的状态:第二,近几年 JDK 更新和发布都很快,Java 的用法也变了不少,加上 Java 技术栈也加入了很多 ...

  2. 面试题(二)—Java基础(下)

    一.进程和线程 进程 (1)正在运行的程序,是系统进行资源分配和调用的独立单位. (2)每一个进程都有它自己的内存空间和系统资源. 线程 (1)是进程中的一条执行路径. (2)一个进程如果只有一条执行 ...

  3. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  4. 【JAVA面试题系列一】面试题总汇--JAVA基础部分

    JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个". ...

  5. 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    原文:http://www.cnblogs.com/wang-meng/p/5898837.html 一:继承.抽象类与接口区别.访问控制(private, public, protected,默认) ...

  6. 笔试题之java基础

    Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他.有些题来自网上搜集整理,有些题来自传智 ...

  7. 【面试题】Java基础部分面试题

    Java基础面试题 Equals与==的区别 使用==比较原生类型如:boolean,,int,char等等,  使用equals()比较对象. 1.  ==是判断两个变量或类型是不是指向同一个内存空 ...

  8. Java面试题(Java基础篇)

    Java 基础 1.JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  9. Java面试题系列 ----- Java基础面试题(91道)

    更多详情点击查看,点这里!这里!!这里!!! 文末获取所有面试PDF文档! Java概述 1. 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 为了 ...

  10. [Java面试二]Java基础知识精华部分.

    一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...

随机推荐

  1. PAT 甲级 1047 Student List for Course

    https://pintia.cn/problem-sets/994805342720868352/problems/994805433955368960 Zhejiang University ha ...

  2. php获取客户端mac地址

    exec('/sbin/arp -a 2>&1', $array, $return_val);dump($array);$mac = '';foreach($array as $valu ...

  3. puppet实战之master-agent

    author:JevonWei 版权声明:原创作品 blog:http://119.23.52.191/ --- master作为puppet模块的管理者,通过配置各agent节点的配置文件,使age ...

  4. 静态分析:IDA逆向代码段说明 text、idata、rdata、data

    静态分析:IDA逆向代码段说明 text.idata.rdata.data 通常IDA对一个PE文件逆向出来的代码中, 存在四个最基本的段text.idata.rdata.data, 四个段为PE文件 ...

  5. 新blog新帖><

    欢迎来到Mychael的无声乐章 今天搬到了博客园,以后就在这个安谧的地方创作啦OvO 把以前的博客搬了过来 以前的分类似乎崩了.... [以前一些LaTex公式可能会崩掉,那就回我原博客看吧Mych ...

  6. pat 团体天梯赛 L2-007. 家庭房产

    L2-007. 家庭房产 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产 ...

  7. jquery text

    scenario: need to display raw xml, what does text() method do: <> converted to <> i.e. 把 ...

  8. linux中的vi编辑器(二)

    命令行模式删除命令 x:删除光标所处的字符 X:删除光标前面的字符 dd:删除光标所在的行 dG:删除光标所在行到末尾的内容 D:删除光标所在处到行结尾的内容 命令模式复制命令-> yy,Y:复 ...

  9. vmware tools安装过程

    每次通过vmware安装Ubuntu的时候,总是会多多少少出点问题.好容易披荆斩棘把镜像安好了,然而屏幕却只有小小一个,不能显示大屏,我就知道肯定是缺少了vmware tools.于是点击左上方菜单中 ...

  10. css命名推荐

    CSS命名推荐规范:个人收藏 方便查阅 页面结构: 容器: container/wrap 整体宽度:wrapper 页头:header 内容:content 页面主体:main 页尾:footer 导 ...