面试常见题

来源:互联网 发布:mysql去除重复列 编辑:程序博客网 时间:2024/05/22 07:00

1.事务隔离级别有那些 ,事务特性是什么

答:所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事务的四大基本特性:原子性,一致性,隔离性,持久性。 隔离级别是指若干个并发的事务之间的隔离程度。四种隔离级别:可串行化、可重复、读已提交和读未提交

2 spring aop 如何管理事务动态代理如何实现,jdk怎么实现动态代理的,ioc是怎么实现的,spring是单例还是多例,有那些初始化bean的方式,各有什么区别

答:spring aop 如何管理事务由于接口是延迟实例化的,spring在这段时间内通过拦截器,加载事务切片。 

spring生成对象默认是单例的。通过scope属性可以更改为多例。 

三种:  

4 过滤器和拦截器的区别

拦截器 :是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现

过滤器:是在java web中,你传入的request、response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑

1、拦截器是基于java的反射机制的,而过滤器是基于函数回调 。
2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器 。
3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求 起作用 。
4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能 。
5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容 器初始化时被调用一次

5 finalfinally finalized区别  

finaljava修饰符(关键字). 

finally只能用在try/catch语句中,并且附带着一个语句块,表示这段语句最终总是被执行。

finalize为方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。

6 final能修饰那些东西,各是什么意思

使用final定义变量,就表示这个变量被赋予的值是不可变的,即它是个常量;使用final修饰的是一个对象,就表示这个变量被赋予的引用是不可变的;使用final用来定义一个方法时,它表示这个方法不可以被子类重写,但是它这不影响它被子类继承;一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。  

9 如何保证线程安全,实现线程安全有那些方法

如何保证线程安全:

不在线程之间共享状态变量

将状态变量修改成不可变的变量

在访问状态变量时使用同步

实现线程安全有那些方法:

内置锁 

添加volatile关键字 

不要在同步块中调用其他的同步块 

11 有那些设计模式,观察者模式是什么

代理模式 Proxy单例模式 Singleton工厂模式 Factory method构建模式 Builder抽象工厂模式 Abstract Factory适配器模式 Adapter桥梁模式 Bridge职责链模式 Chain of Responsibility命令模式 Command合成模式 Composite 

13 说出java中常用的一些接口,colection接口有那些实现,arrayListlinkedList区别,

如何存储数据的,HashMapHashTable区别,各是怎么存储数据的

arrayList 和linkedList区别  

1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 

HashMap和HashTable区别

1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步 HashMap这个区别就像Vector和ArrayList一样。
2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。
3.HashTable有一个contains(Object value),功能和containsValue(Object value)功能一样。
4.HashTable使用Enumeration,HashMap使用Iterator。 

17 ,xml 解析方式   

DOM:

SAX

StAX

XPP

18 jsp 内置对象

request,response,session,application,page,exception,out,pageContext,out,config 

19 cookiesession区别  

cookie :cookie数据存放在客户的浏览器上( 客户端), cookie不是很安全 

session :session数据放在服务器上,当访问增多,会比较占用你服务器的性能 

20 springMVCstruts mvc区别

1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。
2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,而spring基于方法

3. 参数传递:struts是在接受参数的时候,可以用属性来接受参数,这就说明参数是让多个方法共享的。
4. 设计思想上:struts更加符合oop的编程思想, spring就比较谨慎,在servlet上扩展。 

0 0
原创粉丝点击