说出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. 在控制器“xxxx”上找不到与该请求匹配的操作

    Message:"找不到与请求 URI"http://localhost:8091/Api/CommonApi/SelectBind/GetBudCategoryListByCID ...

  2. 2018 ACM南京网络赛H题Set解题报告

    题目描述 给定\(n\)个数$a_i$,起初第\(i\)个数在第\(i\)个集合.有三种操作(共\(m\)次): 1 $u$ $v$ 将第$u$个数和第$v$个数所在集合合并 2 $u$ 将第$u$个 ...

  3. JavaScript简明教程之Node.js

    Node.js是目前非常火热的技术,但是它的诞生经历却很奇特. 众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准. 后来,微软通 ...

  4. sqlmap post注入两种方式

    1. 使用抓包工具抓取数据包,sqlmap加载数据包 POST /SME/static/orderFind/orderIntfaceph HTTP/1.1 Host: abc.com User-Age ...

  5. python(6)-- 模块

    python模块: 定义:Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 作用:(a) 模块让你能够有逻辑地组织你 ...

  6. Reactor Cooling(ZOJ 2314)

    题意: 给n个点,及m根pipe,每根pipe用来流躺液体的,单向的,每时每刻每根pipe流进来的物质要等于流出去的物质,要使得m条pipe组成一个循环体,里面流躺物质. 并且满足每根pipe一定的流 ...

  7. hdu 1848 Fibonacci again and again 组合游戏 SG函数

    题目链接 题意 三堆石子,分别为\(m,n,p\)个,两人依次取石子,每次只能在一堆当中取,并且取的个数只能是斐波那契数.最后没石子可取的人为负.问先手会赢还是会输? 思路 直接按定义计算\(SG\) ...

  8. linux 多进程绑定问题

    硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同的 CPU (core) 处理显然能很好的平衡性能.现在的服务器上动不动就是多 CPU 多核. ...

  9. centos 7 安装git并配置ssh

    一.安装 1.查看是否安装git rpm -qa|grep git 有git加版本号就说明已经安装过了 2.安装git yum install git 3.查看git版本 git version 二. ...

  10. 【原创】Javascript-获取URL请求参数

    function getUrlParam() { var param = [], hash; var url = window.location.href;//获取网页的url var hashes ...