面试常见题
来源:互联网 发布: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 final,finally finalized区别
final为java修饰符(关键字).
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接口有那些实现,arrayList和linkedList区别,
如何存储数据的,HashMap和HashTable区别,各是怎么存储数据的
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 cookie与session区别
cookie :cookie数据存放在客户的浏览器上( 客户端), cookie不是很安全
session :session数据放在服务器上,当访问增多,会比较占用你服务器的性能
20 springMVC与struts mvc区别
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。
2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,而spring基于方法。
3. 参数传递:struts是在接受参数的时候,可以用属性来接受参数,这就说明参数是让多个方法共享的。
4. 设计思想上:struts更加符合oop的编程思想, spring就比较谨慎,在servlet上扩展。
- 面试sql常见题
- android面试常见题
- 面试常见笔试题
- 常见面试程序题
- iOS面试常见题
- 数据库面试常见题
- 面试常见题
- 面试常见题汇总
- 面试常见题
- 常见面试编程题
- Hibernate常见面试实题
- Oracle常见面试20题
- Spring常见面试基本概念题
- 数据库基础(面试常见题)
- JAVA程序员面试常见题
- 面试常见基础题整理
- 笔试面试----常见算法题
- 数据库基础(面试常见题)
- latex字体大小调整
- OC和Swift混合编程引用Pods管理的模块
- DC/PT在任意位置停止执行脚本的方法
- 支持向量机(SVM)的详细推导过程及注解
- linux-GCC 常用命令
- 面试常见题
- Notepad++中格式化html代码的插件tidy2的下载与安装
- 梯度下降法综述
- 数组指针与指针数组
- 周易六十四卦——旅卦
- 排序算法过程
- 【C语言】素数>>准备考试
- linux中pip安装步骤与使用详解
- redis集群(Redis Cluster)原理和应用