1)List与Set的区别:
a)List有序【有索引】、Set无序【没有索引、TreeSet底层使用二叉树结构实现,所以有序】
b)List允许数据重复、Set不允许重复
c)实际开发中可以使用Set集合来去除重复数据
2)列举你熟悉的几种List与Set?
a)数组结构
b)链表结构【单向链表、双向链表】
c)键值对
d)二叉树
e)矩阵
3)HashMap与HashTable的区别
a)HashMap允许null键和nul值,HashTable不允许null键也不允许null值
b)HashMap线程不安全,HashTable线程安全
c)HashMap与HashTable都是无序的,但是TreeMap是有序的
d)项目中通常情况下要使用properties,Properties是HashTable的子类,但是要求键和值都必须是字符串【一般用来配置一些项目中的初始化数据,例如jdbc、连接池等】
4)Java访问数据库有哪些技术?
a)JDBC
b)自己封装JDBC的工具类
c)Commons-Dbutils+dbcp【QueryRunner】
d)SpringJDBC【JdbcTemplate】
e)JPA【配置文件、domain实体类+注解、EntityManager】
f)SpringDataJpa【是Spring对JPA的封装,用起来更简单快捷,很可能还要使用文浩对SpringDataJpa的扩展】
g)Hibernate框架
h)Mybatis
5)谈一谈你对Spring框架的感受?
a)Spring代表春天的意思,其实就是程序员的春天
b)Spring有两大核心特点:控制反转(创建对象的权力交给Spring)/依赖注入(创建对象之后,对象的某些属性需要初始化,使用set方法或者构造方法对这些属性进行初始化)、AOP(面向切面编程,在方法执行前后添加其他业务逻辑、底层使用动态代理技术实现,可以用来做例如:权限验证、事务管理、日志记录等功能)
c)Spring是一个容器型框架,内部有很多子框架,分别实现了很多不同功能,而且相互之间可以无缝集成【spring-jdbc,springMVC】
d)Spring可以和目前市面上其他几乎所有框架集成到一起,通常情况下使用FactoryBean方式进行配置
e)我在项目中使用Spring,哪里需要对象的时候,直接使用@Autowired自动注入就可以了,非常方便。