设为首页收藏本站

安而遇随-随遇而安

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
安而遇随-随遇而安 首页 其他 笔记 查看内容

Java笔试题

2017-12-4 15:31| 发布者: 随便、先森。| 查看: 1525| 评论: 0

摘要: 1.简述Java集合框架及其特点Java集合主要有Collection和Map接口。List特点:元素有放入顺序,元素可重复 Map特点:元素按键值对存储,无放入顺序 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序 ...
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;

鲜花

握手

雷人

路过

鸡蛋
上一篇:Spring jar包说明下一篇:Java笔试题

相关阅读

最新评论

  • 解决 Wn10无法连接 蓝牙耳
  • Python之Selenium知识总结
  • 2万字带你了解Selenium全攻
  • 解决网站网页不能复制,不
  • 我对ddos攻击的见解以及ufo
论坛精选
NTP放大反射DDOS攻击扫描教程,放大列表扫描教程
NTP放大反射DDOS攻
NTP放大反射DDOS攻击扫描教程,放大列表扫描教程 图上是国外测的 本文实测 能有二三
分享个ddos网页端反射攻击的API源码
分享个ddos网页端反
先上图 实测源码没问题 API服务器需要安装SSH2扩展库 其他的按照源码里的注释配置
返回顶部