20xx亲身经历javaee面试题

时间:2024.4.18

1. 无状态会话bean和有状态会话bean的区别(就一次笔试遇到过) 区别在于生命周期

有状态会话bean:每个用户都有一个自己特有的实例,用于保存 用户的信息,一旦用户消亡,bean的生命周期也 就结束了。

无状态会话bean:bean一旦被实例化就会加入会话池,各个用户都 可以共用,即使用户消亡,bean的生命期也不一 定结束,因为没有特定用户,也就不能保持某一

用户的状态,所以是无状态会话bean。

2. Jquery中ajax发送请求的方法,get请求和post请求有什么区别

get是从服务器获取数据,post是向服务器发送数据

get是小数据量传输,post是大数据量传输

get请求的参数队列会在是通过url地址传输,在url地址 上就能看到传输的参数,post看不到。

get安全性低,post安全性高,但get的执行效率比post高 如果是传输机密信息建议用post

如果是数据查询建议用get

3. Mysql和oracle数据库的区别

1.oracle是付费的,安全性能更高,一般银行系统这种安全性要求 很高的系统都是用oracle

2.oracle对权限的管理非常细致,做的非常好,大概有159种权限

mysql只有27种

3.oracle的分页方法和mysql的分页方法比起来非常麻烦

需要用到个子查询mysql用一个limit方法搞定

而且分页时,mysql的游标从0开始,oracle从1开始

4.mysql属于中型数据库,oracle属于大型数据库,但并不是说 mysql不能支撑大型应用,而是从功能上来看,oracle拥有 更丰富和完善的功能,不过一般我们也是使用他的一部分 常用功能,而这一部分功能mysql也是具备的

5.在程序员的角度上来说,mysql比oracle更加简单一些

6.在细节的使用上来说mysql在字符串上可以用单引号也可以用 双引号,oracle则必须使用单引号

4. 分页的方法

mysql 用limit方法

select * from emp limit (pageNow-1)*pageSize,pageSize;

oracle使用多重子查询

select a2.* from ( select a1.*,rownum rn from

(select * from emp) a1

where rownum<=pageSize*pageNow) a2

where rn > (pageNow-1)*pageSize ;

5. 简述struts框架

struts是基于jsp和servlet的一个开源web应用框架,使用MVC设计模式,结构清晰,使程序员可以只关注业务逻辑,还具有丰富的标签库可以使用。

struts2工作流程:1.客户端发送请求

2,根据web.xml,请求被FileDispatcher接收,

3、根据struts.xml的配置,找到需要调用的action类,通过ioc方式将值注入给Action,

4.Action调用业务逻辑组件处理业务逻辑。如果有配置拦

截器,这一步还包含了拦截器

5.Action执行完毕,根据struts.xml中的配置找到对应的

Result,并跳转到相应页面。

6.响应到客户端浏览器

6. Aop用什么技术实现的

动态代理技术实现的,如果用jdk实现动态代理,需要利用proxy 类和invocationhandler接口

7. Ioc和new有什么区别

ioc即是控制反转也叫依赖注入,他是通过ioc容器来生成对象, 控制对象的生命周期,同时ico把零散的部件组成了一个整体, 从而达到疏散耦合的效果,我们可以利用Spring的配置,来 让ioc决定给我们注入的是一个已有对象,还是新建一个对象。

而new是每次拿到的都是一个新的对象,同时也不便于管理。

8. 什么是绑定变量?

变量绑定就是使用PrepareStatment对sql语句进行一个预编译, 其中有一些我们并为指定的参数,我们会在稍后为数据库指定这 些参数的值, 绑定变量的好处可以防止sql注入,避免sql语句 的硬解析。

查询通常只是因为改变where子句中的内容而产生不同的结果。

为了在这种情况下避免硬解析,需要使用绑定变量(bind variable)。它是用户放入查询中的占位符,它会告诉Oracle"我会随后为这个变量提供一个值,现在需要生成一个方案,但我实际执行语句的时候,我会为您提供应该使用的实际值"。

select * from emp where ename='KING'; //不使用绑定变量 select * from emp where ename=:bv //使用绑定变量

9. Delete和truncate的区别?

truncate删除表比较快,删除的数 据不能恢复,只能删除表中的 所有数据 ,

而delete删除比truncate慢,删除的数据可以恢复,后面可以跟 where条件删 除某些指定记录,

10. Jsp内置对象有什么?

Request ,response ,session ,out ,page ,application ,exception , pagecontext,config

request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应

session 与请求有关的会话期

application servlet正在执行的内容

out 用来传送回应的输出

config servlet的构架部件

page JSP网页本身

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

exception 针对错误网页,未捕捉的例外

jsp的四大作用域:

pageContext 范围是当前jsp页

request 范围是当前请求周期(从请求发起到服务器处理结 束,返回响应的整个过程)

session 范围是当前会话(用户打开浏览器开始,到用户关闭 浏览器这中间的过程)

application 范围是整个应用,从应用启动到应用结束

11. 常用的类 String Integer BufferReader BufferWriter StringBuffer,

ArrayList,HashMap

12. String 和 StringBuffer下面的方法

String charAt(),endWith() , equals() ,getBytes(), indexOf(), isEmpty() , length(), spilt(), trim()

StringBuffer append(), charAt() , delete() , deleteCharAt(),

indexOf(), length() , replace() , subString()

13. 常用的包 java.util java.lang java.sql java.io javax.servlet

14. Jquery 里有什么方法 click blur focus change load ready

15. java中常见的异常

java.lang.NullPointException 空指针异常

java.lang.ClassNotFoundExcetion指定的类不存在

java.lang.ArrayIndexOutOfBoundsException 数组下标越界 java.lang.IllegalArgumentException 方法参数错误

java.lang.IllegalAccessException 没有访问权限

16. ioc和工厂模式的区别

1.使用Spring框架中IoC能得到与工厂模式同样的效果,而且编码更加简洁、灵活和方便。

2.除非重新编译,否则无法对“产品的实现类”进行替换,必须重新编译工厂类来达到所要求的改变,但这样将使得原本可以取得的易用性将大大降低。

3.无法在单例和原型之间切换产品对象实例产生的模式

4.无法透明地为不同的产品组件类提供多种不同形式的实现。这是开发者在应用工厂模式时比较头疼的一个问题,因为工厂模式中的工厂类要求每个产品组件类都必须遵从在产品接口中定义的方法和结构特征。一个接口常常意味着一个生成工厂,当接口为多个时,将会出现许多不同的工厂类。

17.sql语句的CRUD操作

C增加create R查询Read U更新update D删除delete

18.Struts1和Struts2的区别

19.javabean的规范

20:事物的七种传播特性(有可能问到) 1.PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启新的事物。

2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。

3. PROPAGATION_MANDATORY: 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。

4. PROPAGATION_REQUIRES_NEW: 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。

5. PROPAGATION_NOT_SUPPORTED: 总是非事务地执行,并挂起任何存在的事务。

6. PROPAGATION_NEVER: 总是非事务地执行,如果存在一个活动事务,则抛出异常

7.(spring)PROPAGATION_NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中. 如果没有活动事务, 则按

TransactionDefinition.PROPAGATION_REQUIRED 属性执行。

21.load方法和get方法区别是什么?他们取不到数据哪个会报异常?

22.Aop的作用?(经常被问)

权限检查 日志记录 效率检查 事务管理 异常管理

23.重写重载的区别

24.抽象类和接口的区别

25.spring中bean完整的生命周期:

1,实例化(当我们加载beans.xml文件)实例化到内存。证明:它会调用bean里面的无参构造。

2,设置属性值(调用set方法设置属性)。

3,如果实现了BeanNameAware则调用BeanNameAware接口的setbeanFatroy()方法,获取Bean的id

4,如果实现了BaneFactoryAware则可以获取BeanFactory。, 5,如果实现了ApplicationAware则可以获取ApplicationAware。

6,如果bean和一个后置处理器关联(实现BeanPostProcessor接口),则会自动去调用 postProcessBeforeInitialization 7,如果实现了InitializingBean则会调用afterPropertiesSet方法。 8,如果在配置了<bean init-method="init" />就可以在bean中定义自己的初始化方法。

9,如果bean和一个后置处理器关联(实现BeanPostProcessor接口),则会自动去调用 postProcessAfterInitialization

10,使用我们的bean。

11,容器关闭。

12,可以通过实现DisposableBean接口来调用destroy()的销毁方法。

13,可以在配置中,<bean destroy-method="destroy">,在bean中写销毁方法。

更多相关推荐:
20xx亲身经历javaee面试题

1无状态会话bean和有状态会话bean的区别就一次笔试遇到过区别在于生命周期有状态会话bean每个用户都有一个自己特有的实例用于保存用户的信息一旦用户消亡bean的生命周期也就结束了无状态会话beanbean...

20xx亲身经历javaee面试题

ean的生命周期也就结束了无状态会话beanbean一旦被实例化就会加入会话池各个用户都可以共用即使用户消亡bean的生命期也不一定结束因为没有特定用户也就不能保持某一用户的状态所以是无状态会话bean2Jue...

java最新总结面试题

Java这点儿事随遇而安KeepMoving目录目录基础篇一JDK常用的包二Get和Post的区别三Java多态的具体体现四StringBufferStringBuilderString区别五Hashtable...

面试题汇总—JavaEE之Web服务器

WEB服务器相关知识1应用服务器有那些BEAWebLogicServerIBMWebSphereApplicationServerOracle9iApplicationServerjBossTomcat2如何设...

java面向对象

面向过程缺乏对对数据的封装数据和方法分离oo面向对象抽象数据类型将不同数据类型的数据的集合组成一个整体用来描述一种新的事物不同数据类型的集合就是抽象数据类型类类就是抽象数据类型不但定义了抽象数据类型的组成成员变...

java面向对象

一面向对象Java是纯粹的面向对象的语言Java的基本语言实际上就是依附在类里面对象的特征静态特征属性变量动态特征行为方法二类于对象1类具有共同性质的事物的集合就称为类类是一个抽象的概念要利用类的方式来解决问题...

java面向对象

面向对象概述并举例说明面向过程强调过程执行者强调的是功能行为面向对象强调对象指挥者将功能封装进对象强调具备了功能的对象面向对象举例煎饼果子面向对象思想的特点A它是一种更符合人们思考习惯的思想B它使复杂的内容简单...

Java面向对象程序设计课程实验报告1

Java面向对象程序设计第1版Java面向对象程序设计课程实验一报告学号姓名专业学校1Java面向对象程序设计第1版11实验目标查找下载JDK系统文件并正确完成JDK的安装正确安装并使用Eclipse软件完成利...

Java面向对象 -- 多态性

面向对象编程有三个特征即封装继承和多态1封装封装隐藏了类的内部实现机制从而可以在不影响使用者的前提下改变类的内部结构同时保护了数据2继承继承是为了重用父类代码同时为实现多态性作准备那么什么是多态呢3什么是多态方...

Java面向对象选择试题

选择正确的答案1在Java中如果父类中的某些方法不包含任何逻辑并且需要有子类重写应该使用c关键字来申明父类的这些方法aFinalbStaticcAbstractdVoid2给定两个java程序如下publici...

Java面向对象三个重要特征

Java面向对象面向对象三个重要特征对象是现实生活中的存在的事物万事万物皆对象对象是类的实例具有明确定义的属性和行为类是对象抽象出的类别模板对象的设计图纸用来指明对象的特征和行为是具有相同特征和共同行为的一组对...

java面向对象基础

面向对象Day011面向对象OO1什么是Object对象Object本意东西是指一个具体事物实例2面向对象面向客观事物之间的关系4OOA面向对象分析OOD面向对象设计客人来了来了一个客人类型的某人5面向对象概念...

javaee面试题专家总结(5篇)