投简历一周多了,面试了三个,每天也不知道复习点什么,就想从今天开始每天写一篇求职遇到的问题,复习的知识,或者学习的知识,
遇到了好几个问题下面简单的列举一下
- 线程创建方式有几种
这个问题我之前有过了解,开始学习的时候只有两种,继承Thread和实现Runable,另外还有通过callable,最后一种是通过线程池(ThreadPool)
- hibernate和mybatis的区别
Mybatis:小巧、方便、高效、简单、直接、半自动化
Hibernate:强大、方便、高效、复杂、间接、全自动化
接着问了我mybatis的缺点.
当时我也没反应过来,hibernate配置文件中配置了方言,把hql翻译成对应不同数据库的sql语句.mybatis直接把sql写在配置文件中,.数据库更换的时候,hibernate的移植性比mybatis的移植性高的多
- 常见的设计模式
小编在学习这段时间遇到的设计模式主要是单利,工厂模式,平时了解的设计模式一共23种,其中我们主要了解的有观察者,适配器,装饰器等
主要理解的有单利模式主要是懒汉式和恶汉式,主要把构造方法私有化,提供一个返回对象的方法,懒汉式在返回的时候判断是否为空,饿汉式,声明对象的时候就进行出初始化
工厂模式的缺点:
增加新的产品等级结构很复杂,需要修改抽象工厂和所有的具体工厂类,
- 对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优点
- 低侵入式设计,独立于各种应用服务器
- 依赖注入特点性将组件关系透明化,降低耦合度
- 与第三方框架具有良好的整合效果
閱讀更多 編程的boy 的文章