JavaWeb面试题1和2整理魔乐科技文档格式.doc

上传人:wj 文档编号:1452136 上传时间:2023-04-30 格式:DOC 页数:11 大小:105KB
下载 相关 举报
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第1页
第1页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第2页
第2页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第3页
第3页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第4页
第4页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第5页
第5页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第6页
第6页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第7页
第7页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第8页
第8页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第9页
第9页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第10页
第10页 / 共11页
JavaWeb面试题1和2整理魔乐科技文档格式.doc_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JavaWeb面试题1和2整理魔乐科技文档格式.doc

《JavaWeb面试题1和2整理魔乐科技文档格式.doc》由会员分享,可在线阅读,更多相关《JavaWeb面试题1和2整理魔乐科技文档格式.doc(11页珍藏版)》请在冰点文库上搜索。

JavaWeb面试题1和2整理魔乐科技文档格式.doc

JDK1.4之后增加的新的关键字—assert,表示断言,既程序执行到某个地方之后肯定是预计好的

一般开发中很少使用assert

要想使用断言,则必须使用-ea参数

9、GC是什么?

为什么要有GC?

GC:

垃圾收集

使用GC可以对垃圾空间的释放操作

10、String=newString(“xyz”);

创建了几个StringObject?

产生了两个实例化对象,一个是匿名对象“xyz”,另外一个是通过关键字new实例化的。

11、sleep()和wait()有什么区别?

sleep()是Thread类中定义的方法,表示线程的休眠,会自动唤醒

wait()是Object中定义的方法,需要手工调用natify()或notifyAll()方法

12、Java中有没有goto?

goto属于保留的关键字,java中存在goto,只是无法使用。

13、数组有没有length()这个方法?

String有没有length()这个方法?

数组中存在length这一属性,String中存在length()方法。

14、Overload和Override的区别。

Overload的方法是否可以改变返回值的类型?

重载:

Overload

|-在一个定义的若干方法

|-所有的方法名称相同,但是参数的类型或个数不同

覆写Override

|-在继承的关系中

|-子类定义了与父类同名的方法,参数类型或个数最好完全一样,注意访问权限不能更加严格

重载的时候不是依靠返回值类型区分的,而是靠参数

15、Set里的元素是不能重复的,那么用什么方法来区分重写与否呢?

是用==还是equals()?

它们有何区别呢?

依靠hashCode()和equals()两个方法完成,==属于地址值比较,而equals()属于内容比较。

使用的是equals()方法。

16、列举出一些最常见的runtimeexception。

NumberFormatException、ArrayOutIndexOfBoundException、NullPointerException、

ClassCastException

17、abstractclass和interface有什么区别?

抽象类

|-由抽象方法和常量、变量、全局变量、构造方法、普通方法组成

|-使用abstract声明

|-子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法

|-存在单继承局限,一个子类只能继承一个抽象类

|-抽象类可以实现若干接口

接口

|-全部由抽象方法和全局常量组成

|-使用interface声明

|-子类通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法。

|-不存在单继承局限,一个子类可以同时实现多个接口

|-接口不能继承一个抽象类,但是允许继承多个接口

18、启动一个线程是用run()和start()?

使用start() 方法,因为要通知JVM进行CPU资源的分类。

19、try{}里面有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,声明时候被执行,在return前还是后?

会执行,在return之前执行,只要是finally{}的代码永远会被执行。

20、编程题:

写出一个Singleton出来。

核心就是构造方法私有化

在Java中有Runtime类、Class类都属于单例设计

21、编一段代码,显示在控制台输入一组数字后,排序后在控制台输出。

假设数字中间使用“”进行分隔,既然要排序,则可以使用集合保存,使用TreeSet保存

以上的操作中,因为所有的数据都已经假设是正确的数字,但是实际中有可能是字符串。

第一种方法:

允许有字符串,但是将所有的字符串忽略。

第二中方法:

不允许有字符串,如果出现了字符串,则程序不再向下继续执行。

为程序改善功能

方法一:

方法二(时间复杂度较高):

22、列出某文件下的所有文件。

23、char类型变量中能不能存储一个中文汉字?

为什么?

可以存放,因为使用的是Unicode编码

24、多线程有几种实现方法,都是什么?

同步有几种实现方法,都是什么?

两种实现方法,继承Thread类,实现Runnable接口

|-Thread类是Runnable接口的子类

|-使用Runnable接口可以实现资源共享的目的

|-所有的线程操作都必须通过Thread类的start()方法启动

两种实现同步的方法:

|-同步代码块:

Synchronize(this){}

|-同步方法

25、float型floatf=3.4是否正确?

不正确,因为默认情况下3.4是double类型的数据

26、String与StringBuffer的区别?

String不可修改,StringBuffer允许修改

27、ClassForName的作用?

为什么要用?

ClassForName属于向容器之中加载驱动程序

28、int和Integer有什么区别?

int是基本数据类型,Integer是包装类

在JDK1.5之后,可以实现自动装箱及拆箱的操作

29、用最有效的方法算出2乘以8等于几?

就是使用移位操作:

2<

<

3

30、说出类集框架的完整结构。

类集框架最大的接口:

Collection、Map、Iterator

Collection:

存放单值

|-List:

允许有重复内容

|-ArrayList:

异步处理,新的操作类,非线程安全

|-Vector:

同步处理,旧的操作类,线程安全,支持Enumeration输出

|-Set:

不允许有重复内容,靠hashCode()和equals()进行重复的验证

|-HashSet:

无序存放

|-TreeSet:

有序存放,按Comparable排序

Map:

存放一对值

|-HashMap:

新的类,异步处理,非线程安全,允许有null

|-Hashtable:

旧的类,同步处理,非线程安全,不允许有null

|-Properties:

属性操作类

|-TreeMap:

有序排列,按key排序,根据Comparable指定排序规则

Iterator:

|-迭代输出,依靠Collection接口中的iterator方法输出,是新的输出标准

Enumeration:

旧的输出操作

31、是否可以继承String类?

不允许,因为使用了final声明

JavaWeb面试题讲解

1、JSP和Servlet在面试中出现的题目

2、MVC设计模式

1、JSP有哪些内置对象?

作用分别是什么?

a)一共有九个内置对象

pageContext javax.servlet.jsp.PageContext

request javax.servlet.http.HttpServletRequest

response javax.servlet.http.HttpServletResponse

session javax.servlet.http.HttpSession

application javax.servlet.ServletContext -->

可用this.getServletContext()替代

config javax.servlet.ServletConfig

exception java.lang.Throwable

page java.lang.Object

out javax.servlet.jsp.JspWriter

b)作用:

1、pageContext 表示页容器 -->

EL、标签、上传

2、request 服务器端取得客户端的信息:

头信息、Cookie、请求参数、MVC设计模式

3、response 服务器端回应给客户端信息:

Cookie、重定向

4、session 表示每一个用户,用于登录验证上

5、application 表示整个服务器,getRealPath()

6、config 去的初始化参数,初始化参数在web.xml中配置

7、exception 表示的是错误页的处理操作

8、page 如同this一样,表示整个JSP页面

9、out 输出,但是尽量使用表达式输出

2、JSP有哪些动作?

所谓的动作—>

指标签指令:

·

jsp:

include>

包含

forward>

跳转

useBean>

使用JavaBean

setProperty>

设置属性,通过反射调用方法

getProperty>

取得属性

plugin>

插入Applet程序的代码

3、JSP中动态include与静态include的区别?

·

动态include:

,如果包含的是动态页,则先编译之后再进行处理

静态include:

%@include%>

,直接将内容先包含后处理

4、两种跳转方式?

区别?

服务器跳转:

,跳转之后地址栏不改变,可以传递request属性实际上是对RequestDispathcer接口的封装。

客户端跳转:

response.sendRedirect(),跳转之后地址栏改变

5、请总结一下WEB开发中的绘画跟踪实现

1、session,也是最常用的一种

2、Cookie

3、地址重写

4、隐藏域

6、在Web开发中需要处理HTML标记是,应做什么样的处理,要筛选哪些字符(<

、>

、&

、”、’)。

因为以上的标记都属于HTML范畴的内容,所以必须进行转义操作:

&

lt、&

gt、&

quot、&

apos、&

amp;

7、说明JSP中errorPage的作用,应用范围。

表示错误页的操作,在一般的站点中,只要一个程序出现了错误,就是产生了一场,则可以统一跳转到一个页面上进行显示,那么这种操作就属于错误页的处理,但是简单的错误页基本上都是在JSP的开发中使用的。

要想进行错误页的设置,需要满足以下两个条件:

1、在错误能够处理的页上的page指令中,增加:

isErrorPage=”ture”,表示可以处理错误。

2、在每一个页面制定errorPage,进行isErrorPage为true的页面。

如果现在希望配置一种全局的错误处理的话,则可以在web.xml中进行配置。

error-page>

<

error-code>

404<

/error-code>

location>

/errors.jsp<

/location>

/error-page>

exception-type>

java.lang.NullPinterException<

/exception-type>

一旦出现错误之后,会自动跳转到指定的页面中,但是这种跳转,永远是属于服务器端跳转。

8、写一段JDBC连接Oracle的程序,并实现数据查询。

a)步骤:

定义一系列的全局常量:

驱动路径、连接地址、用户名、密码

加载驱动程序

连接数据库

操作数据库:

更新或查询

关闭数据库

c)代码:

%@pagelanguage="

java"

import="

java.util.*"

pageEncoding="

GBK"

%>

%@pageimport="

java.sql.*"

html>

<

head>

title>

MyJSP<

/title>

/head>

body>

%

publicstaticfinalStringDBdriver="

oracle.jdbc.driver.OracleDriver"

;

publicstaticfinalStringDBurl="

jdbc:

oracle:

thin:

@localhost:

1521:

orcl"

publicstaticfinalStringDBuser="

scott"

publicstaticfinalStringDBpassword="

tiger"

%>

Connectionconn=null;

//连接数据库

PreparedStatementpstmt=null;

ResultSetrs=null;

Stringsql="

selectempnom,ename,jobfromemp"

Class.forName(DBdriver);

conn=DriverManager.getConnetciton(DBurl,DBuser,DBpassword);

pstmt=conn.preparedStatement(sql);

rs=pstmt.excuteQuery();

while(rs.next()){

intempno=rs.getInt

(1);

Stringename=rs.getString

(2);

Stringjob=rs.getString(3);

}

rs.close();

pstmt.close();

conn.close();

/body>

/html>

9、简述在JSP中是如何实现分页操作的。

a)首先分页有两种:

真分页:

性能较高,是基于数据库的操作,只是从数据库中提取出部分的数据进行显示,所以性能高,但是可移植性低。

假分页:

性能较低,是将全部的结果查询出来,之后依靠算法分页,只是显示部分数据,因为使用的是通用的语法,所以可移植性高。

b)分页实现原理:

定义一系列的变量:

currentPage、lineSize、并通过查询求出allRecorders和计算求出pageSize;

|-pageSize=(allRecorders+lineSize-1)/lineSize

之后数据库查询语句中根据lineSize和currentPage进行数据的查询;

|-Oracle中使用rownum、Mysql中使用limit()

之后通过表单不断地修改currentPage、lineSize就可以实现分页显示。

10、介绍在JSP中如何使用JavaBeans

JavaBeans的格式要求:

必须有包、publicclass声明、属性封装、无参构造、setter、getter

import语句导入或者通过<

11、Servlet的生命周期?

加载

初始化,正常一次:

对应init()方法,有两个init()其中一个是有ServletConfig对象,此方法存在则无参不调用,正常情况下在第一次使用Servlet的时候才进行初始化操作,当然,也可以通过配置在容器启动的时候自动进行初始化<

load-on-startup>

服务,服务多次:

所有的服务都有services()方法分配,主要有doGet()和doPost(),分别处理get和post请求

销毁,正常一次:

调用destroy()方法,如果一个Servlet长时间不适用,也会自动销毁,而当再次使用的时候就必须重新进行初始化操作。

卸载

12、Servlet中forward()与redirect()的区别?

forward()方法是RequestDispatcher接口定义的,而redirect()是response定义的,一个是服务器端跳转,另外一个是客户端跳转。

13、MVC的各个部分都有哪些技术来实现?

如何实现?

MVC:

Model、View、Controller

|-Model:

JavaBean:

业务处理,数据处理

|-View:

显示的JSP,最好不存在任何的Scriptlet,可以使用标签消除

|-Controller:

控制,接受View传递的内容和调用JavaBean,并根据javaBean的处理结果进行跳转。

实现原理:

所有的JSP将内容提交给Servlet,Servlet接受这些内容并调用相应的JavaBean进行业务及数据的处理,一般JavaBean有专人负责开发,玩车鞥业务的操作流程,儿Servlet调用的只是借口,并根据这些接口的操作结果将内容交给JSP进行显示,但是在现实的时候尽可能少出现Scriptlet代码。

14、简述国际化程序的实现思路。

Local、属性文件、ResourceBundle

国际化程序的实现,是根据本机的操作系统的语言类型,选择不同的属性文件,所有程序的基本代码一样,但是文字显示不一样,所以将内容作为属性文件出现之后,可以只显示属性文件中的文字。

15、描述JSP和Servlet的区别、共同点、各自应用的范围?

先有的Servlet再有的JSP,Servlet是在Java中嵌入HTML代码,而JSP是在HTML中嵌入Java代码。

共同点:

JSP可以完成的功能,Servlet都可以完成,但是对于过滤器、监听器只能有Servlet完成。

应用范围:

JSP用于显示,Servlet用于控制。

16、简述web.xml的作用

属于部署描述符,在整个Java中只要是容器都会存在部署描述符,在部署描述符可以控制整个Web中的各个组件的运行状态,也可以配置整个容器的状态:

、<

welcome-file-list>

servlet>

session-timeout>

filter>

listener>

凡是自动生成的代码,都需要重点注意:

publicstaticvoidmain(Stringargs[]){

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2