SSM相关面试题01

目录

1.何为Spring Bean容器?Spring Bean容器与Spring IOC 容器有什么不同吗?

2.Spring IOC 如何理解?

3.Spring DI 如何理解?

4.Spring 中基于注解如何配置对象作用域?以及如何配置延迟加载机制?

5.Spring 工厂底层构建Bean对象借助什么机制?当对象不使用了要释放资源,目的是什么?何为内存泄漏?

6.描述Spring MVC处理流程及应用优势?

7.Spring中的事务处理方式及优缺点?

8. MyBatis应用中#与$有什么异同点?

9. MyBatis应用动态SQL解决了什么问题?

10. Shiro框架权限管理时的认证和授权流程描述

11. BeanFactory和ApplicationContext有什么区别?

12. 请解释Spring Bean的生命周期?  

13. Spring Bean的作用域之间有什么区别?

14. 在Spring AOP 中,关注点和横切关注的区别是什么?

15. 使用Spring框架的好处是什么?

16. Spring 中用到了那些设计模式?

17. Spring 如何保证 Controller 并发的安全?

18. 在 Spring中如何注入一个java集合?

19. Spring支持的事务管理类型?

20. Spring框架的事务管理有哪些优点?

21. Spring MVC的主要组件?

22. Spring MVC 怎么和 AJAX 相互调用的?

23. MyBatis 的缓存机制,一级,二级介绍一下?

24. SpringMVC 与 Struts2 的区别?

25. MyBatis 的基本工作流程?


1.何为Spring Bean容器?Spring Bean容器与Spring IOC 容器有什么不同吗?

Spring Bean 容器 是 Spring 框架的核心,负责管理应用中所有的对象(Bean)。它通过配置文件(XML)或注解扫描的方式,读取 Bean 的定义并创建、初始化、配置和管理这些 Bean 的生命周期。Bean 容器还负责依赖注入(DI)和控制反转(IOC),确保 Bean 之间的依赖关系能够自动建立。

Spring IOC 容器是 Spring 框架的核心概念之一。它是一种控制反转的设计模式,意味着对象的创建和管理不由程序员控制,而是交给 Spring 框架来处理,用于降低计算机代码之间的耦合度。

区别:

  • Spring IOC 容器 是整个容器的功能层面,涉及控制反转的实现。
  • Spring Bean 容器 具体指实现了 IOC 容器功能的 Spring 容器,负责管理 Bean 的生命周期,创建、销毁 Bean。

2.Spring IOC 如何理解?

IOC是一种设计模式,其核心思想是将控制权从程序员手中转移到容器中,即让容器负责对象的创建、初始化和依赖注入。Spring 框架通过提供一个容器,负责管理应用中对象的生命周期,并通过配置文件或注解来声明对象的依赖关系。

IOC 容器 在启动时会创建并初始化应用中的所有 Bean,自动注入它们之间的依赖关系,程序员只需要关注业务逻辑,容器负责其他的细节。

3.Spring DI 如何理解?

DI(Dependency Injection,依赖注入) 是一种实现 IOC 的方式,是 Spring 框架的核心功能之一。它通过将类的依赖关系(如对象、服务)自动注入到类的实例中,而不是由类自己创建依赖对象。DI 可以通过构造器注入、Setter 方法注入和字段注入等方式进行。

依赖注入的好处:

  • 降低了类与类之间的耦合度,提高了系统的灵活性和可测试性。
  • 使得对象的创建和管理交给 Spring 容器,简化了代码。

4.Spring 中基于注解如何配置对象作用域?以及如何配置延迟加载机制?

对象作用域(Scope):在 Spring 中,常见的作用域有单例(singleton)和原型(prototype)等。可以通过 @Scope 注解来配置对象的作用域。

  • @Scope("singleton"):表示一个 Bean 在 Spring 容器中只有一个实例(默认作用域)单例模式。
  • @Scope("prototype"):表示每次请求都会创建一个新的 Bean 实例。
  • @Scope("request"):表示每个 HTTP 请求一个 Bean 实例(适用于 web 环境)。
  • @Scope("session"):表示每个 HTTP 会话一个 Bean 实例(适用于 web 环境)。

延迟加载(Lazy Initialization):通过 @Lazy 注解可以将 Bean 的加载延迟到它首次使用时。

5.Spring 工厂底层构建Bean对象借助什么机制?当对象不使用了要释放资源,目的是什么?何为内存泄漏?

Spring 工厂底层构建 Bean 对象时,借助了 反射机制工厂设计模式。Spring 会通过反射创建 Bean 的实例,并根据 Bean 的定义(如构造器、Setter 方法等)来注入依赖。

当对象不使用时,Spring 会通过容器的 垃圾回收机制 来销毁 Bean,释放资源,目的是为了避免内存泄漏

内存泄漏 是指程序不再使用某个对象,但由于某种原因,该对象仍然保留在内存中,导致无法被垃圾回收,从而消耗内存资源。

6.描述Spring MVC处理流程及应用优势?

Spring MVC 是基于请求驱动的 Web 框架,它采用了前端控制器模式,主要包括以下步骤:

  1. 请求:用户发送 HTTP 请求到前端控制器(DispatcherServlet)。
  2. 请求映射:DispatcherServlet 将请求映射到对应的处理器 Controller(根据请求 URL 和映射规则)。
  3. 处理业务逻辑:Controller 处理业务逻辑并返回一个 ModelAndView 对象,包含了模型数据和视图信息。
  4. 视图解析:DispatcherServlet 通过视图解析器(ViewResolver)来解析视图。
  5. 响应:最终渲染视图并将响应返回给用户。

优势:

  • 解耦:前端控制器、业务逻辑和视图渲染的解耦,方便维护和扩展。
  • 灵活性:支持多种视图技术(JSP、FreeMarker、Thymeleaf 等)。
  • 可测试性:业务逻辑和控制层分离,便于单元测试。

7.Spring中的事务处理方式及优缺点?

Spring 提供了声明式和编程式事务管理方式:

声明式事务管理

        使用 AOP(面向切面编程)在方法上添加事务属性,通过注解(如 @Transactional)或 XML 配置来定义事务边界。

  • 优点:简单易用,灵活,分离了业务逻辑和事务控制。
  • 缺点:不支持复杂的事务操作,无法在运行时动态控制事务。

编程式事务管理

        通过 TransactionTemplate 或 PlatformTransactionManager 显式管理事务,手动编写事务的开始、提交和回滚。

  • 优点:可以灵活控制事务的具体行为。
  • 缺点:代码耦合度高,不够简洁。

8. MyBatis应用中#与$有什么异同点?

#{}:

  • 用于预处理语句(prepared statements),可以防止SQL注入攻击。
  • MyBatis会将传入的参数与SQL语句中的占位符替换时进行转义处理。

${}:

  • 直接将传入的参数拼接到SQL中,容易受到SQL注入攻击。
  • 通常用于那些无法使用预处理语句的场景,如动态表名、列名、排序字段等。

异同点:

  • 相同点:都是用来替换SQL语句中的参数。
  • 不同点:#{}是安全的参数替换方式,而${}则不安全;${}可以用于动态SQL,而#{}不行。

9. MyBatis应用动态SQL解决了什么问题?

  • 动态SQL解决了在不同情况下需要执行不同SQL语句的问题,它允许在运行时根据条件构建SQL语句。
  • 它使得SQL语句更加灵活,可以根据业务逻辑的变化快速调整SQL,而不需要修改数据库结构或重新编写大量的SQL代码。
  • 动态SQL通过 <if>、<choose>、<when>、<otherwise> 等标签实现了条件判断和分支选择,使得SQL语句可以根据复杂的业务逻辑动态生成。

10. Shiro框架权限管理时的认证和授权流程描述

认证(Authentication):

  1. 用户向 Shiro 提交身份信息(如用户名和密码)。
  2. Shiro 使用 Authenticator 检查用户身份,验证信息的正确性。
  3. 如果身份验证成功,Shiro 会将用户信息存储在 Subject 中。

授权(Authorization):

  1. 用户访问需要权限控制的资源时,Shiro 会通过 Authorizer 检查该用户是否有访问该资源的权限。
  2. Shiro 会检查用户是否属于某个角色或拥有特定的权限。
  3. 如果授权通过,用户可以访问资源;否则,Shiro 会拒绝访问或重定向到登录页面。

总结:

  • 认证 是确保用户身份的合法性。
  • 授权 是确保用户具有访问某个资源的权限

11. BeanFactory和ApplicationContext有什么区别?

  • BeanFactory

是 Spring 中最基本的容器,负责加载 Bean 和管理 Bean 的生命周期。它通过延迟加载(Lazy Initialization)加载 Bean,只有在 Bean 被请求时才创建实例。

  • ApplicationContext

是 BeanFactory 的子接口,继承了 BeanFactory 的功能,并扩展了更多功能,比如事件传播、AOP 支持、国际化消息处理等。相比于 BeanFactory,ApplicationContext 是更常用的容器,通常会立即加载所有的 Bean(除非显式指定延迟加载)。

区别:

  • 功能:ApplicationContext 提供了更多的功能,如事件处理、国际化支持、自动装配等,适用于更多的应用场景。
  • 加载方式:BeanFactory 采用懒加载,而 ApplicationContext 一般采用提前加载所有 Bean(即在容器初始化时)。

12. 请解释Spring Bean的生命周期?  

  1. 实例化:Spring 容器通过反射创建 Bean 实例。
  2. 设置属性:Spring 会通过依赖注入(DI)将所需的依赖注入到 Bean 中。
  3. Bean 名称回调:如果实现了 BeanNameAware 接口,Spring 会调用 setBeanName() 方法,将 Bean 名称传递给 Bean。
  4. BeanFactory 回调:如果实现了 BeanFactoryAware 接口,Spring 会调用 setBeanFactory() 方法,将 BeanFactory 传递给 Bean。
  5. 应用上下文回调:如果实现了 ApplicationContextAware 接口,Spring 会调用 setApplicationContext() 方法,将 ApplicationContext 传递给 Bean。
  6. 初始化:如果 Bean 定义了初始化方法(如 @PostConstruct 或 XML 配置中的 init-method),Spring 会调用该方法。
  7. Bean 使用:此时 Bean 可以被 Spring 容器管理并被应用程序使用。
  8. 销毁:如果 Bean 定义了销毁方法(如 @PreDestroy 或 XML 配置中的 destroy-method),当容器销毁时,Spring 会调用该方法。

13. Spring Bean的作用域之间有什么区别?

  1. singleton(单例):在整个 Spring 容器中,只有一个 Bean 实例。默认作用域。
  2. prototype(原型):每次请求都会创建一个新的 Bean 实例。
  3. request(请求):每个 HTTP 请求一个 Bean 实例,仅适用于 Web 环境。
  4. session(会话):每个 HTTP 会话一个 Bean 实例,仅适用于 Web 环境。
  5. application(应用):每个 Web 应用一个 Bean 实例,仅适用于 Web 环境。
  6. websocket(WebSocket):每个 WebSocket 会话一个 Bean 实例,仅适用于 Web 环境。

区别:

  • singleton 和 prototype 是最常见的,前者是单例的,后者是每次请求都会创建一个新的实例。
  • Web 相关作用域(request, session, application, websocket)主要用于 Web 应用中,它们与 HTTP 请求和会话生命周期关联。

14. 在Spring AOP 中,关注点和横切关注的区别是什么?

  • 关注点(Concern):是指应用程序中的特定功能或行为。例如,业务逻辑是一个关注点,日志记录、安全性检查等也是关注点。
  • 横切关注(Cross-cutting Concern):指跨越多个模块或业务逻辑的关注点。比如日志记录、事务管理、安全控制等。这些关注点横跨应用的多个层次,不局限于某一个特定功能模块。

在 AOP 中,横切关注被抽象为切面(Aspect),它可以在不修改业务逻辑的情况下,统一处理这些跨模块的需求。

15. 使用Spring框架的好处是什么?

  1. 简化开发:Spring 提供了许多开箱即用的功能,如依赖注入(DI)、面向切面编程(AOP)、事务管理等,简化了开发工作。
  2. 松耦合:通过 IOC 和 DI,Spring 使得不同模块之间的耦合度大大降低,方便维护和测试。
  3. 更好的可测试性:Spring 容器管理 Bean,使得可以轻松替换和注入依赖,促进单元测试的实施。
  4. 跨平台支持:Spring 提供了与不同数据源、消息队列、事务管理器等集成的支持,减少了对底层技术的依赖。
  5. 灵活性和可扩展性:Spring 提供了丰富的模块,用户可以根据实际需要选择和组合模块。

16. Spring 中用到了那些设计模式?

  1. 工厂模式:Spring 的 BeanFactory 和 ApplicationContext 实现了工厂模式,用于创建和管理 Bean 实例。
  2. 单例模式:Spring 默认使用单例模式管理 Bean,每个 Bean 只有一个实例。
  3. 代理模式:AOP 使用代理模式来创建代理对象,管理方法的拦截和增强。
  4. 模板方法模式:Spring 提供了多种模板类,如 JdbcTemplate、JmsTemplate,简化了资源管理。
  5. 观察者模式:Spring 的事件机制基于观察者模式,允许监听和响应事件。
  6. 策略模式:Spring 中的多种策略接口,如事务管理、视图解析器等,允许通过不同的策略实现不同的功能。

17. Spring 如何保证 Controller 并发的安全?

  • 无状态: 确保Controller是无状态的,这样多个请求可以在不同的线程中并发处理同一个Controller实例。
  • 线程安全: 使用线程安全的类和方法,或者避免在Controller中使用全局状态。
  • 局部变量: 使用局部变量来存储每个请求的状态。
  • 同步: 对于需要同步访问的资源,使用同步代码块或锁。
  • 并发注解: 使用@Synchronized注解(非Spring官方提供)来同步方法。

18. 在 Spring中如何注入一个java集合?

  • 可以通过XML配置或注解来注入集合类型的Bean。例如,使用@Autowired注解和List、Set等集合类型。
  • 在XML配置中,可以使用<list>、<set>或<map>标签来定义集合,并注入到Bean的属性中。
  • 也可以使用@PropertySource注解指定属性文件,并使用@Property注解将属性文件中的值注入到集合中。

19. Spring支持的事务管理类型?

  1. 声明式事务管理:通过 AOP(面向切面编程)和 @Transactional 注解或 XML 配置来声明事务的边界,简化了事务管理。
  2. 编程式事务管理:使用 TransactionTemplate 或 PlatformTransactionManager 通过编程的方式显式管理事务。

20. Spring框架的事务管理有哪些优点?

  • 简化事务管理:通过声明式事务管理,开发人员无需编写复杂的事务管理代码,避免了事务处理的繁琐。
  • 跨数据库支持:Spring 提供对多种数据库事务的支持,可以通过不同的事务管理器来处理各种数据库事务。
  • 灵活性:可以支持本地事务、分布式事务和异步事务等。
  • 隔离性和一致性:Spring 支持配置事务的隔离级别和传播行为,保证了事务的 ACID 特性。

21. Spring MVC的主要组件?

  1. DispatcherServlet:前端控制器,负责接收和分发请求。

  2. Controller:处理用户请求的核心组件。

  3. HandlerMapping:根据请求 URL 查找相应的 Controller。

  4. ViewResolver:根据模型和视图名称解析视图。

  5. ModelAndView:封装了模型数据和视图信息的对象。

22. Spring MVC 怎么和 AJAX 相互调用的?

  • 在Spring MVC中,可以通过在Controller中添加方法来处理AJAX请求。这些方法通常返回@ResponseBody注解的数据,这些数据可以直接被AJAX调用处理。

  • 在前端,使用JavaScript(或jQuery等库)发起AJAX请求,并将请求发送到Spring MVC的Controller。

  • Controller处理请求后,返回JSON或XML格式的响应数据,AJAX调用接收这些数据并进行相应的处理,如更新页面元素。

23. MyBatis 的缓存机制,一级,二级介绍一下?

  • 一级缓存(Local Cache): 也称为SqlSession级别的缓存,每个SqlSession都有自己的一级缓存,当查询相同的Namespace和SQL时,会直接从一级缓存中获取数据,而不是再次查询数据库。
  • 二级缓存(Global Cache): 可以跨SqlSession共享,需要手动开启。二级缓存可以减少对数据库的访问次数,提高性能。但是,它也增加了复杂性,并且需要处理缓存的一致性问题。

24. SpringMVC 与 Struts2 的区别?

  • 架构设计

    • SpringMVC:基于 DispatcherServlet 作为前端控制器,采用轻量级的控制器与视图分离。
    • Struts2:基于 Action 类进行控制,整体架构相对较重,且有很多内置功能。
  • 灵活性

    • SpringMVC:通过配置和注解提供了更灵活的映射机制。
    • Struts2:配置复杂,基于 XML 和注解,但扩展性相对较低。
  • 功能

    • SpringMVC:专注于 Web 层,并与 Spring 框架的其他组件(如事务、AOP)无缝集成。
    • Struts2:具有更多内建功能,如拦截器、表单标签等。
  • 依赖

    • SpringMVC:作为 Spring 的一部分,依赖 Spring 容器。
    • Struts2:独立框架,虽然可以集成 Spring,但不依赖于 Spring。

25. MyBatis 的基本工作流程?

  1. 配置文件:加载 MyBatis 配置文件 (SqlMapConfig.xml),包括数据库连接、事务管理等信息。

  2. SqlSessionFactory:通过 SqlSessionFactoryBuilder 创建 SqlSessionFactory,然后获取 SqlSession

  3. SqlSession:执行命令,查询数据库或插入、更新数据。

  4. 通过Executor执行SQL语句。

  5. 将结果集映射到Java对象。

  6. 提交事务或回滚。

  7. 关闭SqlSession。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/61327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【c++篇】:解读Set和Map的封装原理--编程中的数据结构优化秘籍

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;c篇–CSDN博客 文章目录 前言一.set和map的初步封装1.树的节点封装修改2.Find()查找函数3.红…

机器学习实战:泰坦尼克号乘客生存率预测(数据处理+特征工程+建模预测)

项目描述 任务&#xff1a;根据训练集数据中的数据预测泰坦尼克号上哪些乘客能生存下来 数据源&#xff1a;csv文件&#xff08;train.csv&#xff09; 目标变量&#xff1a;Survived&#xff08;0-1变量&#xff09; 数据集预览&#xff1a; 1、英文描述&#xff1a; 2、…

Linux自动化部署方法(Linux Automated Deployment Method)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

C++软件设计模式之组合模式与其他模式的协作举例

组合模式&#xff08;Composite Pattern&#xff09;、装饰器模式&#xff08;Decorator Pattern&#xff09;、享元模式&#xff08;Flyweight Pattern&#xff09;、迭代器模式&#xff08;Iterator Pattern&#xff09;和访问者模式&#xff08;Visitor Pattern&#xff09;…

2686694 - 操作方法:MSEG - DBSQL_REDIRECT_INCONSISTENCY

2686694 - 操作方法&#xff1a;MSEG - DBSQL_REDIRECT_INCONSISTENCY SAP Note, Version: 4, 审批日期: 24.04.2023 显示更改 组件MM-IM-GF对象状态 优先级建议/附加信息对象状态 类别咨询对象状态 审批状态已发布至客户对象状态 更正0对象状态 手动活动0对象状态已成…

嵌入式 FPGA开发

目录 一、引言 二、当前嵌入式 FPGA 开发的现状 三、嵌入式 FPGA 开发的优势 四、嵌入式 FPGA 的应用领域 1. 通信系统 2. 数字信号处理 3. 视频图像处理 4. 高速接口设计 5. 人工智能 6. IC 设计与 PCB 设计类比 五、嵌入式 FPGA 未来发展趋势 六、结论 一、引言 …

工业AI质检 AI质检智能系统 尤劲恩(上海)信息科技有限公司

来的现代化工厂&#xff0c;将逐步被无人化车间取代&#xff0c;无人工厂除了产线自动化&#xff0c;其无人质检将是绕不开的话题。尤劲恩致力于帮助工业制造领域上下游工厂减员增效、提高品质效率&#xff0c;真正实现无人质检IQC/IPQC/OQC的在线质检系统。分析生产环节真实品…

Angular v19 (三):增量水合特性详解 - 什么是水合过程?有哪些应用场景?与 Qwik 相比谁更胜一筹?- 哪个技术好我就学哪个,这就是吸心大法吧

Angular在其最新版本 v19 中引入了增量水合&#xff08;Incremental Hydration&#xff09;这一特性。这一更新引发了开发者们广泛的讨论&#xff0c;特别是在优化首屏加载速度和改善用户体验方面。本文将详解水合过程的概念、增量水合的应用场景&#xff0c;以及它与类似框架如…

[STM32]从零开始的STM32 FreeRTOS移植教程

一、前言 如果能看到这个教程的话&#xff0c;说明大家已经学习嵌入式有一段时间了。还记得嵌入式在大多数时候指的是什么吗&#xff1f;是的&#xff0c;我们所说的学习嵌入式大部分时候都是在学习嵌入式操作系统。从简单的一些任务状态机再到复杂一些的RTOS&#xff0c;再到最…

Vivado程序固化到Flash

在上板调试FPGA时&#xff0c;通常使用JTAG接口下载程序到FPGA芯片中&#xff0c;FPGA本身是基于RAM工艺的器件&#xff0c;因此掉电后会丢失芯片内的程序&#xff0c;需要重新烧写程序。但是当程序需要投入使用时不能每一次都使用JTAG接口下载程序&#xff0c;一般FPGA的外围会…

医疗废物检测

3809总图像数 数据集分割 训练组80&#xff05; 3030图片 有效集20&#xff05; 779图片 测试集&#xff05; 0图片 标签 预处理 自动定向&#xff1a; 已应用 调整大小&#xff1a; 拉伸至 640x640 增强 未应用任何增强。 注射器 手术刀 输液管 医用手套 医用口罩 血渍 数据集…

如何进行JOIN优化

如何进行JOIN优化 简单来说&#xff0c;JOIN是MySQL用来进行联表操作的&#xff0c;用来匹配两个表的数据&#xff0c;筛选并合并符合我们要求的结果集&#xff0c;但使用了Join我们一般会对它多一点关注&#xff0c;在java开发手册中&#xff0c;禁止三个表以上关联使用Join&…

uniapp使用扩展组件uni-data-select出现的问题汇总

前言 不知道大家有没有学习过我的这门课程那&#xff0c;《uniCloud云开发Vue3版本官方推荐用法》&#xff0c;这么课程已经得到了官方推荐&#xff0c;想要快速上手unicloud的小伙伴们&#xff0c;可以学习一下这么课程哦&#xff0c;不要忘了给一键三连呀。 在录制这门课程…

Spring 自调用事务失效分析及解决办法

前言 博主在写公司需求的时候&#xff0c;有一个操作涉及到多次对数据库数据的修改。当时就想着要加 Transactional注解来声名事务。并且由于一个方法中有太多行了&#xff0c;于是就想着修改数据库的操作单独提取出来抽象成一个方法。但这个时候&#xff0c;IDEA 提示我自调用…

黑马2024AI+JavaWeb开发入门Day03-Maven-单元测试飞书作业

视频地址&#xff1a;哔哩哔哩 讲义作业飞书地址&#xff1a;飞书 作业比较简单&#xff0c;随便写了写 package org.example;import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.ju…

常见的数据结构---数组、链表、栈的深入剖析

目录 一、数组&#xff08;Array&#xff09; 二、链表&#xff08;Linked List&#xff09; 三、栈&#xff08;Stack&#xff09; 四、总结 数据结构是算法的基石&#xff0c;是程序设计的核心基础。不同的数据结构适用于不同的场景和需求&#xff0c;选择合适的数据结构能…

KAN-Transfomer——基于新型神经网络KAN的时间序列预测

1.数据集介绍 ETT(电变压器温度)&#xff1a;由两个小时级数据集&#xff08;ETTh&#xff09;和两个 15 分钟级数据集&#xff08;ETTm&#xff09;组成。它们中的每一个都包含 2016 年 7 月至 2018 年 7 月的七种石油和电力变压器的负载特征。 traffic(交通) &#xff1a;描…

【C++算法】20.二分查找算法_x 的平方根

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;图解 题目链接&#xff1a; 69. x 的平方根 题目描述&#xff1a; 解法 暴力解法&#xff1a; 如果x17 从1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5......这些数里面找他们的平方…

阿里云人工智能平台(PAI)免费使用教程

文章目录 注册新建实例交互式建模(DSW)注册 注册阿里云账号进行支付宝验证 新建实例 选择资源信息和环境信息,填写实例名称 资源类型需要选择公共资源,才能使用资源包进行抵扣。目前每月送250计算时。1 * NVIDIA A10 8 vCPU 30 GiB 1 * 24 GiB1 * NVIDIA V100 8 vCPU 32 Gi…

Three.js 相机视角的平滑过渡与点击模型切换视角

在 Three.js 中&#xff0c;实现相机视角的平滑过渡和点击模型切换到查看模型视角是一个常见且有用的功能。这种效果不仅能提升用户体验&#xff0c;还能为场景互动添加更多的动态元素。 1. 基本设置 首先&#xff0c;我们需要创建一个基本的 Three.js 场景&#xff0c;包括相…