Java框架与基础面试题解析

需积分: 50 146 下载量 136 浏览量 更新于2024-08-07 收藏 321KB PDF 举报
"优知学院提供的IT专业面试题集,涵盖了数据结构与算法、Java基础、框架使用等核心知识点,旨在帮助IT从业者提升技能并准备面试。" 在【标题】"框架使用-王道2020年操作系统"和【描述】中提到的IT知识主要涉及几个主流的Java框架,包括Hibernate、Spring以及Struts,同时也提到了微服务相关的架构概念。以下是对这些知识点的详细说明: 1. **Hibernate的状态**:Hibernate管理的对象有三种状态:瞬时态(Transient)、持久态(Persistent)和游离态(Detached)。瞬时态对象未被持久化,持久态对象已经保存到数据库,游离态对象是从数据库加载出来的,但与Session失去关联。 2. **Spring中Bean的生命周期**:Spring容器负责Bean的创建、初始化、使用和销毁。Bean可以通过`@PostConstruct`注解标记的初始化方法和`@PreDestroy`注解的销毁方法来自定义生命周期。 3. **SpringMVC或Struts处理请求的流程**:通常,请求先经过前端控制器(DispatcherServlet或ActionServlet),然后由处理器映射器找到合适的处理器,接着处理器适配器调用处理器(Controller或Action)的方法,最后视图解析器返回相应的视图。 4. **Spring AOP**:AOP(面向切面编程)用于解决横切关注点,如日志、事务管理。通过动态代理(JDK或CGLIB)实现,可以在不修改源代码的情况下添加额外功能。 5. **Spring事务的传播属性**:如PROPAGATION_REQUIRED、PROPAGATION_SUPPORTS等,它们定义了一个事务方法如何参与到另一个事务中,影响事务的嵌套和独立性。 6. **BeanFactory与FactoryBean**:BeanFactory是Spring的核心容器,管理Bean的生命周期。FactoryBean是一个特殊的Bean,它返回的是一个对象的实例,而不是它自己。 7. **IOC(Inversion of Control,控制反转)原理**:Spring通过IoC将对象的创建和依赖关系的管理交给容器,对象之间通过依赖注入(DI)进行连接,降低了耦合。 8. **Spring的依赖注入方式**:包括构造器注入、setter注入、接口注入,以及基于注解的注入。 9. **Struts工作流程**:请求到达ActionServlet,由它分发到Action,Action执行业务逻辑后返回ActionForward,由Dispatcher跳转到指定视图。 10. **创建Spring切面**:通过`@Aspect`注解定义一个切面类,使用`@Before`、`@After`、`@Around`等注解定义通知(advice)。 11. **Spring实现数据库事务**:通过@Transactional注解声明事务边界,由TransactionManager管理事务的开始、提交、回滚。 12. **Hibernate的一级和二级缓存**:一级缓存是SessionFactory级别的,每个Session操作的对象都会被缓存;二级缓存是可配置的,可跨Session共享,用于存储不常改变的数据。Lazy-Load是指延迟加载,只有在实际访问关联对象时才会加载。 13. **MyBatis批量提交**:通过设置`useBatchMode=true`,MyBatis可以在一次事务中批量执行多条SQL语句,提高性能。 这些知识点展示了Java开发中的核心框架和最佳实践,对于理解和掌握企业级应用开发至关重要。同时,标签中的"架构"和"微服务"提示,开发者还需要了解分布式系统、服务治理、负载均衡等相关技术。