`

Java程序员面试题之二

阅读更多

6、说出Servlet的生命周期,并说出ServletCGI的区别。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,

service方法自动派遣运行与请求对应的doXXX方法(doGetdoPost)等,

当服务器决定将实例销毁的时候调用其destroy方法。

 

CGI的区别在于:

 

Servlet处于服务器进程中,它通过多线程方式运行service方法,

一个实例可以服务于多个请求,并且其实例一般不会销毁。

 

CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet

 

 

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

ArrayListVector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,

它们都允许直接按序号索引查询元素,但是插入元素要涉及数组元素移动等内存操作,所以索引查询数据快而插入数据慢

 

Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差。

 

LinkedList使用双向链实现存储,按序号索引查询数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快

 

 

8EJB是基于哪些技术实现的?并说出SessionBeanEntityBean的区别,StatefulBeanStatelessBean的区别。

 

EJB包括Session BeanEntity BeanMessage Driven Bean,基于JNDIRMIJAT等技术实现。

 

SessionBeanJ2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。

 

EntityBean被用来代表应用系统中用到的数据。

 

对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

 

Session Bean 还可以再细分为 Stateful Session Bean Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean methods 时,会是同一个 Bean Instance 在执行。从内存方面来看, Stateful Session Bean Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。

 

 

9Collection Collections的区别。

 

Collection是集合类的上级接口,继承与他的接口主要有Set List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

 

 

10&&&的区别。

&和&&都可以用作逻辑与的运算符,表示逻辑与(and)。

当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

 

&&还具有短路的功能,即如果第一个表达式为false,则不再执行第二个表达式。

 

例如:

对于if(str != null && !str.equals(“”))表达式,

当str为null时,后面的表达式不会执行,所以不会出现NullPointerException。

如果将&&改为&,则会抛出NullPointerException异常。

 

If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0) y不会增长。

 

此外,
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。

我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

 

 

分享到:
评论

相关推荐

    java中级程序员面试题 java程序员面试题 java工程师面试题

    java中级程序员面试题 java程序员面试题 java工程师面试题

    java程序员面试题

    java程序员面试题java程序员面试题java程序员面试题java程序员面试题java程序员面试题

    Java程序员面试题集(1-50)

    以上仅是 Java 程序员面试中可能涉及的一部分知识点,实际面试中还会有更多关于设计模式、JVM 内存模型、数据库操作、网络编程等方面的问题。掌握这些基础和进阶知识对于成为一名优秀的 Java 开发者至关重要。

    java程序员早期面试题汇总.zip

    ------------------------------------- java程序员早期面试题汇总 BAT经典面试题汇总.pdf Java常考面试题.pdf java面试题(题库全)....程序员面试题精选100题.pdf ... -------------------------------------

    JAVA程序员面试题5

    ### JAVA程序员面试题5知识点详解 #### 一、JSP和Servlet的相同点与不同点及其联系 **相同点:** - **都是基于Java的技术**:JSP和Servlet都使用Java语言编写,运行在Java虚拟机(JVM)上。 - **处理HTTP请求**:...

    Java程序员面试题

    Java 程序员面试题 Java 程序员面试题包括多个方面,以下是详细的知识点解释: 1. 面向对象的特征有哪些方面? 面向对象的特征有四个方面:抽象、继承、封装、多态性。 * 抽象:抽象是忽略一个主题中与当前目标...

    Java程序员面试宝典

    《Java程序员面试宝典》附带1张DVD光盘,内容为《Java程序员面试宝典》所有面试题的多媒体教学视频(共14.5小时)及免费赠送的55小时Java教学视频和5.5小时算法教学视频。授人以鱼,不如授人以渔。《Java程序员面试...

    Java程序员面试题集

    Java程序员面试时,通常会遇到一系列关于语言特性和框架的问题,这些题目旨在考察候选人的基础知识、问题解决能力和实践经验。以下是对这些面试题目的详细解答: 1. **final, finally, finalize的区别**: - `...

    java程序员面试题150例-java常见面试题-java工程师面试题-java面试题大全

    java程序员面试题150例 java常见面试题 java工程师面试题 java面试题大全 带搜索功能,能非常方便的查找到你想要了解的 java面试题目 推荐大家下载。

    2021最新Java程序员面试题

    在当前的IT行业中,Java程序员面试已经逐步升级为考察应聘者对多个技术栈的综合理解和应用能力。以下内容根据提供的文件信息整理出的Java程序员面试知识点: 1. MyBatis框架 - MyBatis定义:MyBatis是一个支持定制...

    Java程序员面试笔试真题与解析.tar

    Java程序员面试笔试真题与解析,包含各大IT企业面试笔试的题目

    2018年java-程序员面试宝典+题库

    2018java程序员面试宝典+题库,很全。压缩的文档,打开是PDF版

    java程序员面试题集合

    ### Java程序员面试题集合知识点详解 #### 一、面向对象的四大特征 1. **抽象** 抽象是面向对象编程中的一个重要概念,它指的是在设计阶段仅考虑问题的关键部分,忽略不相关的细节。抽象可以分为两类: - **...

    2018最新最全JAVA程序员面试题

    ### 2018最新最全JAVA程序员面试题解析 #### 一、面向对象的特征有哪些方面? 面向对象编程(OOP)是Java的核心思想之一,它主要包括以下四个关键特性: 1. **抽象**:抽象是面向对象编程的一个核心概念,指的是在...

    Java程序员面试笔试宝典-何昊pdf版

    根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试准备的书籍,作者为何昊。本书可能包含了大量关于Java编程语言的基础知识、高级特性以及与面试相关的技巧和策略等内容。下面将对可能涉及的重要...

Global site tag (gtag.js) - Google Analytics