JavaEE常见面试问题

1.常见的ORM框架有哪些?

1.Mybatis
Mybatis是一种典型的半自动的ORM框架,所谓的半自动,是因为还需要手动的写SQL语句,再由框架根据SQL及传入数据来组装为要执行的SQL。

优点为︰

  • 因为由程序员自己写SQL,相对来说学习门槛更低,更容易入门。
  • 更方便做SQL的性能优化及维护。
  • 对关系型数据库的模型要求不高,这样在做数据库模型调整时,影响不会太大。适合软件需求变更比较频繁的系统,因此国内系统大部分都是使用如Mybatis这样的半自动ORM框架。

缺陷为:

  • 不能跨数据库,因为写的SQL可能存在某数据库特有的语法或关键词

2.Hibernate
Hibernate是一种典型的全自动ORM框架,所谓的全自动,是SQL语句都不用在编写,基于框架的API,可以将对象自动的组装为要执行的SQL语句。
优点为∶

  1. 全自动ORM框架,自动的组装为SQL语句。
  2. 可以跨数据库,框架提供了多套主流数据库的SQL生成规则。

缺点为︰

  1. 学习门槛更高,要学习框架API与SQL之间的转换关系对数据库模型依赖非常大,在软件需求变更频繁的系统中,会导致非常难以调整及维护。可能数据库中随便改一个表或字段的定义,Java代码中要修改几十处。
  2. 很难定位问题,也很难进行性能优化:需要精通框架,对数据库模型设计也非常熟悉。

2.Bean容器/loc容器的理解

Spring容器主要是对loC设计模式的实现,主要是使用容器来统一管理Bean对象,及管理对象之间的依赖关系。
创建容器的API主要是BeanFactory和ApplicationContext两种:

  1. BeanFactory是最底层的容器接口,只提供了最基础的容器功能:Bean的实例化和依赖注入,并且使用懒加载的方式,这意味着beans只有在我们通过getBean()方法直接调用它们时才进行实例化。
  2. ApplicationContext(应用上下文)是BeanFactory的子接口,与BeanFactory懒加载的方式不同,它是预加载,所以,每一个bean 都在ApplicationContext启动之后实例化。
  3. 除了基础功能,还添加了很多增强:
    整合了Bean的生命周期管理
    1. i18n国际化功能(MessageSource)
    2. 载入多个(有继承关系)上下文,使得每一个上下文都专注于一个特定的层次,比如应用的web层
    3. 事件发布响应机制(ApplicationEventPublisher)
    4. AOP

3. loC/DI的理解

概念
loC(Inversion of Control)即控制反转,是面向对象编程中的一种设计原则。主要是通过第三方loC容器,对Bean对象进行统一管理,及组织对象之间的依赖关系。获得依赖对象的过程,由原本程序自己控制,变为了loC容器来主动注入,控制权发生了反转,所以叫做loC,控制反转。

loC又叫做DI︰由于控制反转概念比较含糊(可能只是理解为容器控制对象这一个层面,很难让人想到谁来维护对象关系),相对loC而言,依赖注入实际上给出了实现loC的方法:注入。所谓依赖注入,就是由loC容器在运行期间,动态地将某种依赖关系注入到对象之中。

依赖注入(Dl)和控制反转(loC)是从不同的角度的描述的同一件事情,就是指通过引入loC容器,利用依赖关系注入的方式,实

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然!下面是一些常见JavaEE面试题整理: 1. 什么是JavaEE?它是什么样的技术栈? JavaEEJava Enterprise Edition)是一套用于开发企业级应用程序的Java平台。它包括了一系列的规范和API,用于构建分布式、可伸缩、可安全性的应用程序。JavaEE的技术栈包括Servlet、JSP、EJB、JPA、JMS等。 2. Servlet是什么?它与JSP有什么区别? Servlet是JavaEE中处理Web请求的基本组件,它可以接收HTTP请求并生成HTTP响应。与之相比,JSP(JavaServer Pages)是一种基于HTML的模板语言,用于生成动态内容。Servlet通常用于处理业务逻辑,而JSP则用于显示数据。 3. 什么是EJB?它的作用是什么? EJB(Enterprise JavaBeans)是JavaEE中的一种组件模型,用于开发分布式事务处理应用程序。它提供了容器管理、事务管理、安全性等服务,简化了开发者的工作。EJB主要分为会话Bean、实体Bean和消息驱动Bean。 4. JPA与Hibernate有什么关系? JPA(Java Persistence API)是JavaEE中用于对象关系映射(ORM)的规范,它定义了一套标准的API用于操作数据库。而Hibernate是一个实现了JPA规范的ORM框架,它提供了丰富的功能和灵活性。 5. 什么是连接池?为什么要使用连接池? 连接池是一种用于管理数据库连接的技术,它通过预先创建一定数量的数据库连接并将其保存在连接池中,供应用程序使用。使用连接池可以避免频繁地创建和销毁数据库连接,提高数据库访问的性能和效率。 这只是一些常见JavaEE面试题,希望对你有帮助!如果还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值