Java基础面试题(一)

来源:互联网 发布:ubuntu 装win10 编辑:程序博客网 时间:2024/06/10 06:24

1.HashSet和TreeSet?

set方法要继承collection
HashSet 无序 允许null,不保证迭代顺序
TreeSet 有序 遍历集合时递增排序,存入TreeSet必须要实现comparatable接口

2.HashMap和TreeMap?

HashMap 允许null,无序
TreeMap 不允许null,有序

3.接口和抽象类区别?

A、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。

B、抽象类要被子类继承,接口要被类实现。

C、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

D、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子

类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

E、抽象类里可以没有抽象方法,如果一个类里有抽象方法,那么这个类只能是抽象类

F、抽象方法要被实现,所以不能是静态的,也不能是私有的。

G、接口可继承接口,并可多继承接口,但类只能单根继承。

4.mybatis的xml中用到的标签?

SQL语句标签有增删改查insert、select、delete、update
sql片段标签 sql,里面执行sql语句
映射管理器 resultMap里面配置映射关系
动态sql标签 where、 if 、when、choose、otherwise、forech等进行条件判断,遍历等操作
set 长用于update,更新语句中,替代sql中的”set”关键字

5.AOP和IOC?

AOP面向切面编程:通过预编译方式和动态代理实现程序功能的统一维护。
在框架中利用AOP对业务逻辑的各个部分进行隔离,从而使业务逻辑耦合度降低,提高开发效率

IOC控制反转:在spring之前对象创建都是要手动处理,现在把对象的创建交给spring进行配置(两种配置方式:.xml 通过工厂类)

6.事务?

acid特性
原子性 一致性 隔离性 持久性
七大传播行为
传播行为:如果事务在开始之前,一个事务上下文已经存在,此时有多种方式指定一个事务的执行行为。(简而言之就是,在事务直接发生冲突时处理的规则)
propagation-required 支持当前事务,若无当前事务就新建一个事务
propagation-supports 支持当前事务,若无当前事务就医非事务方式执行
propagation-mandatory 支持当前事务,若无当前事务,就抛出异常
propagation-required-new 新建事务,如果存在当前事务就把当前事务挂起
propagation-not-supported 以非事务方式执行操作,如果存在当前事务就把当前事务挂起
propagation-never 以非事务方式执行,如果存在当前事务,则抛出异常
propagation-nested 在一个嵌入的事务中运行
五大隔离级别
Isolation-defauylt 默认级别
Isolation-read-uncommitted 这是事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读
Isolation-read-committed 保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。这种事务隔离级别可以避免脏读出现,但是可能会出现不可重复读和幻像读
Isolation-repeatable-read 这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。
Isolation-seralizable 最高级别 事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。

7.set.map.list区别?

List 有序集合 分为ArrayList数组和LinkedList链表
Map 无序键值对key,value形式
Set 和List类似,但元素不允许重复

注意:带hash的都是不安全的
除了LinkHashSet外的Hash都是无序的

8.static关键字和finally关键字?

static 定义的是静态变量,除了被声明为常量为很少使用
static变量前可以有private修饰,表示这个变量可以在类的静态代码块中
static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问
static先于对象方法进入内存中,main方法要被声明为static
final
不能被继承,不可修改,
final成员变量表示常量,只能被赋值一次,赋值后值不再改变
private类型的方法默认是final类型的

9.面向对象?

与之相对应有面向过程,
面向过程:你拿斧子去砍树,主体是你,拿斧子,砍,一系列动作都需要你自己完成。
面向对象:把斧子当成主体对象,相当于个活物,斧子主动去砍树,跟你没关系

b.面向对象三大特性:继承,封装,多态

继承:子类继承父类的成员变量和成员方法,但不能继承父类的构造方法,但子类可通过super调用父类构造方法
封装:修改属性可见性为private,创建get和set方法,在另一个类进行调用时可以通过定义新对象,然后借助新对象调用get,set方法
多态:多种形态,多态实现方法:重载和重写
重写:只能发生在继承时,不想用父类里的方法,继承过来方法体可扩充。
重载:相同的方法名但写着不同的参数(参数类型,参数个数,参数顺序),构造函数就是重写理解的多态

10.注解?

常用注解:
@controller controller类
@service service类
@repository 用在dao层实现类
@component 组件通用(当你知道要注入却不记得注入哪一个时用这个)

@RequestMapping 用在控制类中
@RequestBody 注解用于将controller返回的对象
@Resource 默认按ByName注入,有两个重要属性name和type
@ModelAttribute 应用调用baseController时

@Transaction mybatis用于管理事务

11.Spring

a.Spring三层架构,web,service,dao
Web:Spring MVC
Service:Spring IOC
Dao:数据库连接

b.实例化的三种方式:静态工厂,实例工厂,构造方法(有参构造,无参构造)

c.spring的核心,AOP和IOC

d.Spring AOP中的通知类型?
前置通知
后置通知
环绕通知
异常通知
最终通知
e.Spring IOC AOP的理解

AOP面向切面编程:通过预编译方式和动态代理实现程序功能的统一维护
在框架中利用AOP对业务逻辑的各个部分进行隔离,从而使业务逻辑耦合度降低,提高开发效率

IOC控制反转:在spring之前对象创建都是要手动处理,现在把对象的创建交给spring进行配置(两种配置方式:.xml 创建对象和通过工厂类创建对象)
DI依赖注入:在IOC基础上完成想类里面属性设置的过程
重点内容
Spring容器中提供了AOP技术,利用它实现拦截监控
Spring是一个轻量级的控制反转和面向切面的容器框架
AOP用jdk和cglib两种代理方式实现拦截

12.StringBuffer和StringBuilder?

都用于拼接
StringBuffer 非定长 线程安全
StringBuilder 非定长 非线程安全
String 定长 线程安全,但是拼接后形成的是新的对象(定长,长度改变则是一个新的对象)

延伸到线程安全,线程不安全的问题
所谓线程不安全就是在多线程中多个线程竞争同一个资源,A调用资源后改变了它,B再调用,这时候资源已发生变化较线程不安全
成员变量线程不安全,局部变量线程安全

解决线程不安全的问题:

synchronized(同步锁)对方法加锁,
volatile解决的是变量在多个线程之间的可见性,但是无法保证原子性。

13.类中各种方法的执行顺序

(静态代码块,构造函数,main方法)
静态代码块在类载入时会被自动执行且只执行一次 最先执行
构造代码块是给所有对象进行统一初始化的
构造函数是给对应对象初始化的
static在进入内存是开始加载,main方式是程序入口一定要先于别的方法进入内存,main要声明为static
先执行静态代码块,在执行构造函数,再执行main方法

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 房产代理商不给我结佣金怎么办 天猫客服遇到脾气不好的客户怎么办 美团外卖点的食品与描述不符怎么办 淘宝极速退款后买家又不想退怎么办 宝贝破损买家退回运费很高怎么办 信而富额度变0了怎么办 申请淘京猫代理时资料填错了怎么办 苹果手机能上网但微信不能用怎么办 卧室壁纸贴的太花了怎么办 贴完墙纸接头处看着是黑色的怎么办 把所有内容放在一张纸上怎么办 孩子脸上被蚊香烧了留下了疤怎么办 微信怎么修改支付密码忘了怎么办 去网鱼网咖上网没带身份证怎么办 淘宝买家号忘了账号和密码怎么办 80多岁的老人前列腺疼怎么办啊 新浪微博发二维码让我入群我怎么办 队友送的太崩了打野应该怎么办 该商品不支持在当前地区销售怎么办 此商品不支持在当前地区销售怎么办 村淘商品在淘宝没展现怎么办 qq音乐不小心充了会员怎么办 古奇的包五金磨掉色了怎么办 淘宝购物津贴买的东西退款怎么办 淘宝买的东西质量太差怎么办 咸鱼上买的东西有问题怎么办 咸鱼买到的东西有问题怎么办 天猫超市买的东西有问题怎么办 满白天的宝宝睡觉总哭怎么办 京东退货显示在售后检测要怎么办 装修公司定金交了公司关门怎么办 背冷、腰泠、屁股冷、大腿冷怎么办 买家退款把卖家地址写错了怎么办 退款编号写错了提交了怎么办 京东购物收到货第二天搞活动怎么办 玩王者荣耀来电话断网怎么办 苹果7p玩王者荣耀卡怎么办 手机丢了隐私空间里面的照片怎么办 微信内存满了打不开了怎么办 u盘内存满了打不开了怎么办 清算组出的报告书无法清算怎么办