求职复习系列1

投简历一周多了,面试了三个,每天也不知道复习点什么,就想从今天开始每天写一篇求职遇到的问题,复习的知识,或者学习的知识,

遇到了好几个问题下面简单的列举一下

  1. 线程创建方式有几种

这个问题我之前有过了解,开始学习的时候只有两种,继承Thread和实现Runable,另外还有通过callable,最后一种是通过线程池(ThreadPool)

  1. hibernate和mybatis的区别

Mybatis:小巧、方便、高效、简单、直接、半自动化

Hibernate:强大、方便、高效、复杂、间接、全自动化

接着问了我mybatis的缺点.

当时我也没反应过来,hibernate配置文件中配置了方言,把hql翻译成对应不同数据库的sql语句.mybatis直接把sql写在配置文件中,.数据库更换的时候,hibernate的移植性比mybatis的移植性高的多

  1. 常见的设计模式

小编在学习这段时间遇到的设计模式主要是单利,工厂模式,平时了解的设计模式一共23种,其中我们主要了解的有观察者,适配器,装饰器等

主要理解的有单利模式主要是懒汉式和恶汉式,主要把构造方法私有化,提供一个返回对象的方法,懒汉式在返回的时候判断是否为空,饿汉式,声明对象的时候就进行出初始化

工厂模式的缺点:

增加新的产品等级结构很复杂,需要修改抽象工厂和所有的具体工厂类,

  1. 对spring的理解

spring 是一个轻量级的开源框架,是一个aop和ioc容器

spring的核心是ioc 和aop

ioc是一种面向对象的设计原则降低了代码的耦合度,使程序结构更加灵活,

将依赖关系写到配置文件中,达到松耦合的效果

ioc也叫依赖注入,开发者模式,提倡使用接口编程

spring的注入,构造器注入setter注入,是容器通过调用无参构造器或无参static 工厂方法实列化bean之后,调用该bean的setter方法, 即实现了基于setter的依赖注入

IOC 控制反转,也叫DI

原来A中声明B对象的过程,由主动变为被动,控制权颠倒,控制反转的由来

IOC的缺点:

由于IOC容器生成对象是通过反射方式,在运行效率上有一定的损耗。

具体到IOC框架产品(比如:Spring)来讲,需要进行大量的配制工作,比较繁琐,对于一些小的项目而言,客观上也可能加大一些工作成本。

Aop

面向切面编程(AOP)将安全,事务等于程序逻辑相对独立的功能抽取出来,利用Spring的配置文件将这些功能插进去,

实现了按照切面编程,提高了复用性;最主要的作用:可以在不修改源代码的情况下,给目标方法动态添加功能

Spring优点

  • 低侵入式设计,独立于各种应用服务器
  • 依赖注入特点性将组件关系透明化,降低耦合度
  • 与第三方框架具有良好的整合效果


分享到:


相關文章: