1. 请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?
BeanFactory是Spring中比较原始的工厂类,并且它无法支持Spring中的插件,比如AOP实现的功能。
ApplicationContext是BeanFactory的子类,它基本上替代了BeanFactory的所有功能,并且它以一种更面向框架的方式对上下文进行分层和继承,并且在此基础上实现扩展,比如实现了对国际化的支持访问、Bean的自动装配等。
2. 请说明一下MyBatis中命名空间(namespace)的作用是什么?
namespace可以建立接口与SQL映射文件之间的关系,并且可以用来唯一标识一个映射文件信息。
3. 请问JDK和JRE的区别是什么?
JDK是Java开发工具包,在JDK中包含了编译器、JVM虚拟机;JRE是Java运行时环境,它提供了Java程序运行的基础环境。
4. 创建线程有几种不同的方式?你喜欢哪一种?为什么?
在Java中,创建线程的方式有两种,一种是继承Thread类,一种是实现Runnable接口,因为Java语言是一门单继承的语言,所以我们一般会采用,实现Runnable接口的方式来实现多线程。
5. 请问什么是死锁(deadlock)?
所谓的死锁指的是,两个或两个以上的线程由于资源竞争,而导致的程序阻塞的现象。