0
点赞
收藏
分享

微信扫一扫

java类的面试题(第二篇)

就是耍帅 2022-03-17 阅读 77

目录

一.JAVA

1.请说出servlet的声明周期

2.Override与Overload方法的区别?Overload方法是否可以改变返回值的类型?

3.列举几个简单的异常,并说明什么情况下会出现此异常?

4.在java开发中,命名规范是什么,比如类名,字段,常量,包名等。

 二.WEB开发

  1.web.xml的作用是什么?

  2. jsp和servlet的区别,共同点和各自应用的范围?

  3.cookie和session的作用,区别,应用范围,余下的两种跟踪技术是什么?session的工作原理?

4.forword()和redirect()的区别?

5.jsp有几个内置对象?作用分别是什么?

三.框架

1.说出你了解的框架及作用并说明

 四.数据库

1.请说明sql,sqlserver,mysql,plsql,plsql developer,oracle之间的区别?

        2.简要解释主键,外键,视图,索引,存储过程,触发器,同义词,并说明他们的用处? 

3.简要解释什么是事务?举一个恰当的案例说明事务的重要性?

4.数据库中常用的函数?并说明在什么情况下使用

5.NULL与" "是否等同?在sql语句的操作上有什么不同?

6.Where, Group By Order by,having的执行顺序。

1.请说出servlet的声明周期?

(1).初始化时期:当客户端发来一个请求时服务器端创建一个servlet实例,然后调用init()方法初始化这个实例,只有实例初始化成功才能接受客户端的请求

(2)执行时期:初始化成功后,进入servlet执行时期(调用doget或者dopost方法)

(3)销毁时期:当servlet被移除的时候或者服务器正常关闭的时候执行此方法

2.Override与Overload方法的区别?Overload方法是否可以改变返回值的类型?

override方法重写,在子父类中,方法名相同,参数列表相同,访问修饰符越来越宽松
overrode方法重载,在同一个类中,方法名相同,参数列表不同(参数的类型,个数,顺序)

overrode可以改变返回值的类型

3.列举几个简单的异常,并说明什么情况下会出现此异常?

编译时异常:ParseException

运行时异常:NullPointerException、ArithmeticException、ArrayIndexOutOfBoundsException

4.在java开发中,命名规范是什么,比如类名,字段,常量,包名等。 

类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。(

如:public class MyFirstClass{});

 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。

如:int index=0;

       public void toString(){}

   常量名全部大写

包名:包名全部小写

1.web.xml的作用是什么?

web.xml文件是用来配置:欢迎页、servlet、filter等的

2. jsp和servlet的区别,共同点和各自应用的范围?

01.共同点:jsp本质上就是servlet,jsp编译后就是类servlet。

02.不同点:Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理。

JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。

03.各自的应用范围:

JSP侧重于视图。

Servlet主要用于控制逻辑。

3.cookie和session的作用,区别,应用范围,余下的两种跟踪技术是什么?session的工作原理?

cookie和session的作用

(1)Cookie:在客户端访问某个地址时,会将请求交到服务器进行处理,在发送请求的时候,浏览器会将页面的头部信息一并的交到服务器端进行处理。在处理的过程中,Cookie 在服务器端生成 ,在此同时,可以将一些需要保存的信息,存放到此 Cookie 中。生成 Cookie 对象时,需要确定具体的名称及具体的值,可以设置当前 Cookie 的过期时间,设置过期时间后,就相当于持久化了 Cookie 中的数据,此时的 Cookie 会以之前的 Cookie 名称,保存在客户端。
如果不设置过期时间,则当前 Cookie 的生命期是浏览器会话期间,一旦关闭了该浏览器,当前的Cookie 就会不存在了,此时的 Cookie 信息是保存在内存中。在服务器端,处理完后,会将生成的 Cookie ,随着 Http 响应,会在 Http 响应头中,加上Cookie 信息,浏览器接受到响应后,会按照 Http 响应头里的 Cookie ,在客户端建立 Cookie 。在下次客户进行请求的时候,Http 会附带着已经存储过的 Cookie,一并发送到服务器。一个域,在客户端建立的所以 Cookie 都是可以共享的,只要 Cookie 没有过期。

(2)Session:Session 是在服务器端生成的,存储在服务器端,即存在内存中。可以对生成的 Session 设置过期时间,如果不设置过期时间,默认的 Session 过期时间是30 分钟(在不同的服务器中,它的过期时间略有不同,本文是以 Tomcat 来说的)  但是,Sesssion 的生成的同时,会生成一个与之相关联的的 SessionID ,此 SessionID的存储是需要 Cookie 来完成的。 SessionID 是以名称为 JSESSIONID,其值应该是一个既不会重复,又不容易被找到规律以仿造的字符串。SessionID会随着此次 Http 响应,一并返回到客户端,并保存在客户端中。到当前请求再次发出后,该 SessionID会随着 Http 头部,传到服务器中,服务器依据当前 SessionID 得到与之对应的 Session.

区别:

1、Cookie是存在客户端,Session存在服务器

2、安全性要求高的用Session,要求低用Cookie

3、Cookie只能存储字符串,Session可以存储任何信息

4、Cookie如果不设置时间,当关闭浏览器时,Cookie就失效,不会在本地保存;Session的生命周期是一个会话(当启动浏览器到关闭浏览器)

5、在存储相对持久的信息时,应考虑使用 Cookie,因为 Cookie 可以以文件的形式,存储在客户端。在进行一些登录的验证及信息拦截的时候,可以使用 Session。

  使用cookie和Session的场景

使用Cookie的场景:有些网站有记住用户名的功能,当你勾这个的时候,下次进入该网站时,就会保存上一次登录的用户名;使用Seesion的场景:利用Seesion来验证用户是否已登录,利用Session来保存验证码。

另外两种跟踪技术

url地址重写,表单隐藏

session的工作原理

  1. 用户第一次请求服务器时,服务器端会生成一个sessionid
  2. 服务器端将生成的sessionid返回给客户端,通过set-cookie
  3. 客户端收到sessionid会将它保存在cookie中,当客户端再次访问服务端时会带上这个sessionid
  4. 当服务端再次接收到来自客户端的请求时,会先去检查是否存在sessionid,不存在就新建一个sessionid重复1,2的流程,如果存在就去遍历服务端的session文件,找到与这个sessionid相对应的文件,文件中的键值便是sessionid,值为当前用户的一些信息
  5. 此后的请求都会交换这个 Session ID,进行有状态的会话

 4.forword()和redirect()的区别?

forword:请求转发,redirect重定向

1.转发的地址栏不变的.重定向的地址栏发生变化的.
2.转发是一次请求一次响应,重定向是两次请求两次响应.
3.request域对象存取的值在转发中是有效的,在重定向无效的.
4.转发的路径不需要加工程名.重定向的路径需要加工程名.

5.jsp有几个内置对象?作用分别是什么?(写出四个就行)

01.request:用户端请求,此请求会包含来自GET/POST请求的参数

02.response:网页传回用户端的回应

03.pageContext:网页的属性是在这里管理

04.session:与请求有关的会话期

05.application  servlet正在执行的内容

四.  数据库

1.请说明sql,sqlserver,mysql,plsql,plsql developer,oracle之间的区别?

sqlserver是微软用的数据库。不跨平台;收费不开源;在.NET上应用广泛。

sqlServer,Mysql,Oracle都是关系型数据库

mysql是oracle公司用的数据库。跨平台;是开源免费的。开源组织的优秀数据库产品于2008年被SUN公司收购,后来SUN又被Oracle收购。

plsql developer是一个集成开发环境,专门面向开发Oracle数据库的应用

Oracle又称甲骨文,是世界上最大的企业软件公司

特点;

1. 全球化、跨平台的数据库
2. 支持多用户、高性能的事务处理
3. 强大的安全性控制和完整性控制
4. 支持分布式数据库和分布处理

2.简要解释主键,外键,视图,索引,存储过程,触发器,同义词,并说明他们的用处?

01.主键:唯一标识一条记录,不能有重复的,不允许为空,方便记录的查询以及加快了检索

02.外键: 表的外键是另一表的主键, 外键可以有重复的, 可以是空值,可以用来和其他表建立联系用的。

03.视图:视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

04索引:索引是对数据库表中一列或多列的值进行排序的一种结构. 建立索引的目的是加快对表中记录的查找或排序。

05存储过程: 系统中,一组为了完成特定功能的SQL 语句集

06触发器是与表事件相关的特殊存储过程,它的执行不由程序调用,也非手工启动,而是由事件触发而被执行的

07.同义词: 同义词(synonym)是指向其它数据库表的数据库指针。

3.简要解释什么是事务?举一个恰当的案例说明事务的重要性?

  事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);例如银行转账

4.数据库中常用的函数?并说明在什么情况下使用

AVG  --求平均值 
COUNT  --统计数目
MAX  --求最大值
MIN  --求最小值
SUM  --求和

5.NULL与" "是否等同?在sql语句的操作上有什么不同? 

null是没有地址
""是有地址但是里面的内容是空的

6.Where, Group By Order by,having的执行顺序 

Where, Group By, Having, Order by。

举报

相关推荐

0 条评论