java基础知识,一些概念的区别总结

本人总结+百老师,水平有限,如有错误请指出。

抽象类和接口的最主要的区别:

1,抽象类可以有自己的方法和属性,子类可以继承除private权限之外的所有属性和方法。接口的方法都是public abstract。1.8版本除外,8版本之后的接口可以有属性和实现的方法,但是都是public的,实现该接口的类可以调用该接口的所有属性和方法,包括静态类(采用调静态类的方式)。

2,抽象类面向的是对象,是对对象的抽象,对象包括属性和方法;接口是面向行为或者动作的抽象。从这也能看出二者的运用场景。当一系列对象有相同的行为或者操作时,可以采用接口的形式实现。但是当一系列对象属于某一个种类,抽象成一个对象时,但是有各有各的特点时,可以采用抽象类。

工厂模式和抽象工厂模式区别:

工厂模式就是采用统一的工厂new一系列对象,单一维度,比普通的if/else/switch方式创建类,更易于扩展和维护,而且我们可以延迟类的创建,延迟到子类,也可以叫虚拟创建。

抽象工厂就是创建多个系统或者不相关的产品,多个维度。可以创建多个不相关的工厂,通过每个工厂再创建多个产品。

乐观锁和悲观锁的区别:

乐观锁,对数据操作持乐观态度,就是其他操作不会更新数据,当去提交数据时,再去判断是否有其他操作更新,若没有,则操作,否则和不操作,返回异常,我们可以通过返回的异常再进行其他操作。比如说数据库版本号,当更新数据时,版本号更新前后没变,这本次操作可以更新,否则返回异常。

悲观锁,对数据操作持悲观态度,当开始操作数据库时,就对该数据加锁,指定本次操作释放锁,其他操作才能进行。


概念区别有很多,未完待续


猜你喜欢

转载自blog.csdn.net/wangdonghello/article/details/70140852
今日推荐