1.简述Java集合框架及其特点 Java集合主要有Collection和Map接口。 List特点:元素有放入顺序,元素可重复 Map特点:元素按键值对存储,无放入顺序 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) list是用来处理序列的,而set是用来处理集的。Map存储的是键值对 Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。 Set和List接口是Collection接口派生的两个子接口,Queue是Java提供的队列实现,类似于List。 Map实现类用于保存具有映射关系的数据(key-value)。 Set、List和Map可以看做集合的三大类。 List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。 Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因)。 Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value。 对于Set、List和Map三种集合,最常用的实现类分别是HashSet、ArrayList和HashMap三个实现类。 2.接口和抽象类有什么不同 1.抽象类只能单继承,接口可以多继承 2.抽象类是一个类,可以被任意权限修饰符修饰,静态和非静态属性,final和非final属性,可以有抽象方法和非抽象方法; 接口只能被public,final修饰,只能有静态方法,即使没有显示的声明,而且是不可修改的; 3.抽象的事物不同: 抽象类是对类的抽象,接口是对行为的抽象; 抽象类是对整个类抽象,包括属性,行为; 接口是对类的行为(局部)进行抽象; 4.定义的时候,定义抽象类和接口的思想不同;设计抽象类是自下而上的过程,我子类需要,所以我定义抽象类;设计接口是自上而下的过程,我接口规范某一行为,我某类需要这个行为,我实现某接口 核心区别: 调用者使用动机不同,实现接口是为了使用他规范的某一个行为; 继承抽象类是为了使用这个类属性和行为. 3.简述finally的作用 Finally语句是为异常处理事件提供的一个清理机制 finally 的作用是,无论操作是否成功,程序都将执行的代码段 4.Spring有哪些优点 轻量:Spring 是轻量的,基本的版本大约2MB。 控制反转(IoC):Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 容器:Spring 包含并管理应用中对象的生命周期和配置。 MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。 事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。 异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常。 1.低侵入式设计,代码污染极低 2.独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺 3.Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦 4.Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用 5.Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问 6.Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部 5.用一条SQL语句查询每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五 英语 90 思路一:采用逆向思维想想 求每课成绩都大于80的人,也可以是先查出有成绩等于小于80 的人,再除去这些人不就是三门成绩都大于80的人了么? select distinct name from grade where name not in( select distinct name from grade where fengshu <=80); 思路二:从grade表中取出所有数据,并按照分数分组(也就是每个学生只会有一条记录),条件是这个学生的成绩的最小值大于80 select name from grade group by name having min(fengshu) > 80; |