每天五个java相关面试题(3)

1. Servlet的生命周期是什么?

答:
第一次请求: 构造方法->init() -> service() -> doGet()/doPost()
以后的请求:service() -> doGet()/doPost();
Servlet是单实例的.

2. 说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的区别

答:
ArrayList Vector:以数组的方式存储,增、删慢,查、改快
ArrayList:线程不安全,速度快。
Vector:线程安全,速度慢( synchoronized add() )
LikedList: 以双链表的方式存储,增、删快,查、改慢
HashMap与Hashtable都实现的Map接口,HashTable线程安全( add,del -> synchronized),HashMap线程不安全。

拓展:什么叫线程安全和不安全呢?
线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。

线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据

3. 事务是什么?事务的四大特性? jdbc如何做事务处理?

答:
事务是对数据操作的一个单个逻辑单元,这个单元有可能有多个操作,要不同时成功,要不同时失败;特点是原子性, 隔离性, 一致性, 持久性.
JDBC做事务操作:

    connection.setAutoCommit( false);
    connection.commit();
    connection.rollback();
    connection.setAutoCommit( true);

4. 作用域public、protected、private以及不写时的区别?

答:
public 声明的为公共成员变量和函数成员,在整个类内类外都可使用。
private 声明的为私有成员变量和函数成员,只在声明的类内可以使用。
protected声明的为受保护成员变量和函数成员,类外不可使用。类内可以使用。
不使用关键字默认为类内使用。

5. 在spring中,什么是IOC?什么是DI?

答:
IOC是控制反转,所谓反转是指应用本身并不负责依赖对象的创建和维护,而把这个任务交给第三方即Spring去处理,这是将创建对象的权利交给第三方,控制反转就是控制权的转移
DI是依赖注入.依赖注入,是指运行期间,Spring动态的将依赖对象注入到组件中。
当IOC容器启动时,容器负责创建容器内的所有对象;
根据配置信息形成对象之间的依赖关系;
也就是说让别人(ioc)为你服务。这是核心。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值