JAVA面试八股文之框架相关

面试八股文

  • Spring和SpringMvc父子容器关系?
  • 实现AOP有几种方式?
  • 多节点定时任务重复执行问题?
  • mybatisplus实现批量插入?
  • springboot排除依赖?
  • 控制配置类的优先级?
  • BeanFactory 和 ApplicationContext 的区别?
  • Spring的注入方式有哪些?
  • mybatis如何实现分页?
  • Controller和Restcontroller的区别是什么?
  • SpringBoot的优点有哪些?
  • SpringBoot自动装配?
  • @Bean和@Component和@Configuration的区别?
  • 什么是RestFul风格?
  • Spring中那些模块?
  • spring中有那些设计模式
  • RequestMapping有那些参数?
  • @Autowired和@Resource的区别?
  • @service、@Controller、@Component,@Repository的区别?
  • spring单例bean是线程安全的嘛?
  • 什么是aop?
  • AOP的底层实现?
  • 项目中有没有使用?
  • spring中的事务如何实现?
  • spring事务的隔离级别?
  • 事务的传播机制?
  • 运行时异常事务会回滚
  • spring事务失效的场景有哪些?
  • spring的bean的生命周期?
  • 什么是spring的循环依赖?
  • springMVC执行的流程?
  • 过滤器和拦截器的区别?
  • springboot的自动配置原理?
  • spring常见注解?
  • springmvc常见注解?
  • springboot常见注解?
  • mybatis的执行流程?
  • mybatis的延迟加载?
  • mybatis延迟加载的底层原理?
  • mybatis的一级,2级缓存?
  • 什么时候会清理缓存?
  • mybtis #{}和${}的区别?
  • 逻辑分页和物理分页?
  • Mybatis的xml文件和接口怎么绑定的?

Spring和SpringMvc父子容器关系?

Spring是父容器, 一般控制service层和dao层, 父容器只能使用自己的对象, 不可以使用子容器中的对象

springMvc是子容器, 一般控制controller层, 在子容器中可以使用自己的对象也可以使用父容器中的对象.

实现AOP有几种方式?

  • 通过Spring API实现AOP
  • 通过自定义类来实现
  • 使用注解实现

多节点定时任务重复执行问题?

  • 使用分布式锁:在多节点环境下,可以使用分布式锁来保证只有一个节点执行定时任务。当一个节点开始执行定时任务时,先获取分布式锁,执行完任务后释放锁,其他节点在获取锁失败时就不会执行任务。
  • 使用分布式调度框架:可以使用分布式调度框架来统一管理定时任务,确保只有一个节点执行任务。这样可以避免多节点重复执行任务的问题。
  • 使用数据库标记:可以在数据库中标记任务的执行状态,每个节点在执行任务前先查询数据库,判断任务是否已经被其他节点执行,如果是则不执行任务。
  • 使用消息队列:可以将定时任务的执行逻辑放入消息队列中,每个节点监听消息队列,当有任务需要执行时,只有一个节点会消费消息并执行任务。

mybatisplus实现批量插入?

  • 自带saveBatch批量插入方法。(其实是伪批量,其底层实现仍然是一条条数据进行插入的)
  • Mybatis-plus还有一个InsertBatchSomeColumn批量插入插件;

首先我们需要实现一个自定义的 SQL 注入器,注入 InsertBatchSomeColumn 插件:

/*** SQL注入器*/
@Component
public class SpiceSqlInjector extends DefaultSqlInjector {@Overridepublic List<AbstractMethod> getMethodList(Class<?> mapperClass) {// 注意:此SQL注入器继承了DefaultSqlInjector(默认注入器),调用了DefaultSqlInjector的getMethodList方法,保留了mybatis-plus的自带方法List<AbstractMethod> methodList = super.getMethodList(mapperClass);// 注入InsertBatchSomeColumn// 在!t.isLogicDelete()表示不要逻辑删除字段,!"update_time".equals(t.getColumn())表示不要字段名为 update_time 的字段methodList.add(new InsertBatchSomeColumn(t -> !t.isLogicDelete() && !"update_time".equals(t.getColumn())));return methodList;}
}
public interface SpiceBaseMapper<T> extends BaseMapper<T> {/*** 批量插入* {@link com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn}** @param entityList 要插入的数据* @return 成功插入的数据条数*/int insertBatchSomeColumn(List<T> entityList);
}

springboot排除依赖?

  • 启动类注解设置需要排除的自动装配类
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
  • 在配置文件中指定需要排除的类
spring.autoconfigure.exclude = org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
# 或者这样
spring.autoconfigure.exclude[0] = org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
  • 单独使用@EnableAutoConfiguration注解
@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)

控制配置类的优先级?

  • 使用@order注解;
  • 使用Ordered 接口;

BeanFactory 和 ApplicationContext 的区别?

  • BeanFactory 是最基础的接口,是 Spring IoC 容器的底层实现。它提供了最基本的 IoC 功能,即管理和获取 Bean 对象。BeanFactory 使用延迟加载策略,只有在获取 Bean 的时候才会实例化对象。

  • ApplicationContext 是 BeanFactory 的一个高级实现,它提供了更多的功能和扩展性。ApplicationContext 在 BeanFactory 的基础上添加了更多的企业级特性,例如国际化支持、事件发布机制、AOP(面向切面编程)等。ApplicationContext 在容器初始化时就会实例化所有的单例 Bean,提供更快的访问速度。

Spring的注入方式有哪些?

1,构造器注入;
2,Setter方法注入;
3,字段注入;
4,接口注入;

mybatis如何实现分页?

底层通过拦截器实现,拦截底层通过责任链+动态代理+反射机制实现
当MyBatis执行查询操作时,拦截器会拦截该操作,并根据传入的参数计算出分页相关的信息,然后修改SQL语句,添加分页相关的限制条件,最后执行修改后的SQL语句,返回分页结果。

Controller和Restcontroller的区别是什么?

主要的区别在于返回值的处理方式,@Controller返回的是视图,而@RestController返回的是对象,并将其转化为JSON格式。

SpringBoot的优点有哪些?

1,简化配置;
2,快速开发;
3,微服务支持;
4,自动化配置;
5,强大的社区服务;
6,生态系统;

SpringBoot自动装配?

Springboot自动装配的原理是通过条件注解@Conditional和SpringBootStarter来实现。在项目启动时Springboot会根据条件注解判断是否需要自动装配某些组件,并将这些组件自动注册到spring容器中,从而实现自动装配。

@Bean和@Component和@Configuration的区别?

  • @Bean注解用于在配置类中声明Bean对象;
  • @Component用于标记一个类为Spring管理;
  • @Configuration用于标记一个类为配置类;

什么是RestFul风格?

Restful是一种新软件架构风格,通过资源路径可以判断访问的资源,请求方式可以判断进行的操作,GET表示查询,POST表示添加,PUT表示修改,DELETE表示删除。

Spring中那些模块?

核心容器:核心容器提供spring框架的基本功能;
spring上下文:是一个配置文件,向spring框架提供上下文信息;
springAOP:可以很容易地使 Spring 框架管理的任何对象支持 AOP;
springDAO:jdbc DAO异常方面;
springORM:提供orm对象关系工具;
SpringWeb:为基于web应用提供上下文;
SpringMVC:构建web应用的实现;

spring中有那些设计模式

1,单例模式,spring容器中的bean都是单例的;
2,工厂模式:spring中的BeanFactory和ApplicationContext都是使用工厂模式来创建;
3,依赖注入:灵活的管理Bean之间的关系;
4,观察者模式:spring的事件机制基于观察者模式;
5,代理模式:SpringAOP;
6,模板方法模式、适配器模式,策略模式,迭代器模式,组合模式,装饰器模式,责任链模式;

RequestMapping有那些参数?

1,value:用来指定映射路径;
2,method:用来指定请求的http方法;
3,params:用来指定请求的参数条件;
4,headers:指定请求头的条件;
5,consums:用来指定请求的content-type的条件;
6,produces:用来指定响应的content-type的条件;

@Autowired和@Resource的区别?

  • @Autowired是Spring框架提供的注解,按照类型自动装配通,常结合@qualifier注解一起使用解决歧义性问题;
  • @Resource是javaEE标准的注解,按照名称自动装配;

@service、@Controller、@Component,@Repository的区别?

  • @Component是通用的组件注解,表示该类是一个Spring的Bean,交由Spring容器管理;
  • @service和@Component作用一样,主要用来标识服务层;
  • @Controller和@Component作用一样,主要用来标识控制层;
  • Repository和@Component作用一样,主要用来标识数据访问层;

spring单例bean是线程安全的嘛?

spring中的单例bean是线程不安全的,当有很多请求访问同一个服务时,容器会为每一个请求分配一个线程,这时多线程并发执行请求对应的业务逻辑时,需要考虑线程安全问题。(比如对成员变量的修改)

但是,我们在项目中依赖注入用到的service类或者mapper类是不可改变的,是线程安全。

要想变成线程安全可以使用@Scope修改singletonprototype

什么是aop?

aop是将与业务无关的那些系统服务分离开来,系统服务做一个增强,业务逻辑只关注业务,降低耦合

AOP的底层实现?

常见的AOP底层实现原理包括基于JDK动态代理和基于CGLIB的动态代理。
JDK动态代理是通过反射机制实现的,它可以在运行时动态创建接口的代理对象。
CGLIB动态代理则是通过继承目标类来实现代理,它可以代理非接口类型的类。

项目中有没有使用?

在项目中事务管理,记录操作日志(aop+自定义注解),缓存,安全性控制,都用到。

spring中的事务如何实现?

在spring中有两种事务,一种是编程式事务,通过用代码进行事务控制,对业务有侵入性

一种式声明式事务,通过加@Transactional注解进行事务控制,其本质就是通过aop的环绕通知,对方法前后进行拦截,在方法前开启事务,在执行完目标方法之后,根据情况进行提交事务或者回滚事务。

spring事务的隔离级别?

四种:
1.读未提交
2.读已提交
3.重复读(默认)
4.序列化

事务的传播机制?

有7种:
1.如果当前存在事务,则加入该事务,如果当前没有事务,则创建一个新的事务;(默认)
2.如果当前存在事务,则加入该事务,没有则以非事务方式执行;
3.如果当前存在事务,则加入该事务,没有则抛出异常;
4.创建一个新的事务,暂停当前事务;
5.以非事务方式执行,暂停当前事务;
6.以非事务方式执行,如果当前存在事务抛出异常;
7.如果当前存在事务,则在当前事务嵌套事务中执行;

运行时异常事务会回滚

spring事务失效的场景有哪些?

1.异常捕获处理,自己处理了异常没有抛出,解决方法,手动抛出。

2.检查异常,解决方法,@Transactional上配置rollbackFor属性为Exception。

  • 检查型异常(Checked Exception)

所谓检查(Checked)是指编译器要检查这类异常,检查的目的一方面是因为该类异常的发生难以避免,另一方面就是让开发者去解决掉这类异常,所以称为必须处理(try …catch)的异常。如果不处理这类异常,集成开发环境中的编译器一般会给出错误提示。

常见的检查性异常:输入输出异常(IOException)、文件不存在异常(FileNotFoundException)、SQL语句异常(SQLException)等

例如:一个读取文件的方法代码逻辑没有错误,但程序运行时可能会因为文件找不到而抛出FileNotFoundException,如果不处理这些异常,程序将来肯定会出错。所以编译器会提示你要去捕获并处理这种可能发生的异常,不处理就不能通过编译。

  • 非检查型异常(Unchecked Exception)

所谓非检查(Unchecked)是指编译器不会检查这类异常,不检查的则开发者在代码的编辑编译阶段就不是必须处理,这类异常一般可以避免,因此无需处理(try …catch)。如果不处理这类异常,集成开发环境中的编译器也不会给出错误提示。

常见的运行时异常:空指针异常(NullPointerException)、除零异常(ArithmeticException)、数组越界异常(ArrayIndexOutOfBoundsException)等;

例如:你的程序逻辑本身有问题,比如数组越界、访问null对象,这种错误你自己是可以避免的。编译器不会强制你检查这种异常。

3.非public修饰的方法导致,解决方法,加上public。

spring的bean的生命周期?

在这里插入图片描述

一简:

1.实例化,在这个阶段通过调用构造函数或者工厂方法来实例化对象。

2.属性注入,将配置文件或者注解设置的值注入到bean对象中。

3.初始化,Spring会调用Bean的初始化方法(如果有定义的话)。可以使用@PostConstruct注解或实现InitializingBean接口来定义初始化方法。

4。销毁,当应用程序或者容器关闭时,spring会调用销毁方法。

二详:

首先会通过一个非常重要的类,叫做BeanDefinition获取bean的定义信息,这里面就封装了bean的所有信息,比如,类的全路径,是否是延迟加载,是否是单例等等这些信息。

在创建bean的时候,第一步是调用构造函数实例化bean。

第二步是bean的依赖注入,比如一些set方法注入,像平时开发用的@Autowire都是这一步完成。

第三步是处理Aware接口,如果某一个bean实现了Aware接口就会重写方法执行。

第四步是bean的后置处理器BeanPostProcessor,这个是前置处理器。

第五步是初始化方法,比如实现了接口InitializingBean或者自定义了方法init-method标签或@PostContruct。

第六步是执行了bean的后置处理器BeanPostProcessor,主要是对bean进行增强,有可能在这里产生代理对象。

最后一步是销毁bean。

什么是spring的循环依赖?

循环依赖是指两个或者两个以上的bean相互持有对方,最终形成闭环。

spring框架根据3级缓存已经解决大部分的循环依赖。
在这里插入图片描述
在这里插入图片描述

二级缓存可以解决一般对象的循环依赖,如果是代理对象的话就需要3级缓存。

在这里插入图片描述

3级缓存的对象工厂会生成一个代理对象或者普通对象来注入。
在这里插入图片描述

如果是构造方法注入则需要手动解决,spring的3级缓存只能解决初始化阶段的循环依赖,
在这里插入图片描述

springMVC执行的流程?

在这里插入图片描述
在这里插入图片描述

1.用户发送出的请求先到前端控制器DispatcherServlet它是一个调度中心

2.DispatcherServlet收到请求再调用HandlerMappering处理器映射器

3.handlerMappering找到具体的处理器,生成处理器对象及拦截器对象,并一起返回给·DispatcherServlet

4.DispatcherServlet再调用HandlerAdapter处理器适配器

5.HandlerAdapter再调用具体处理器(controller的方法)

6.方法上加有@responseBody,转换为json并响应。

过滤器和拦截器的区别?

  • 过滤器在web.xml中配置,由servlet容器触发,对所有请求生效。
  • 拦截器由Spring框架内部维护,在SpringMVC中配置,只对SpringMVC的请求生效。
  • 过滤器在请求进入Servlet容器前和响应离开容器时触发。
  • 拦截器在在controller之前,之后和视图渲染之后触发。
  • 过滤器不能修改内容,拦截器可以修改响应内容。

springboot的自动配置原理?

在springboot项目中有一个@springbootapplication注解他包含3个注解,

SpringBootApplication=

  • @SpringBootConfiguration
  • @EnableAutoConfiguration
  • @ComponentScan

其中@EnableAutoConfiguration是实现自动配置的核心注解,该注解会通过@import注解导入对应的配置选择器,内部是读取项目和该项目引用的Jar包的的classpath路径下META-INF/spring.factories文件中的所配置的类的全类名。通过springboot的条件注解判断是否需要加载到bean容器中。

通过条件注解和Springboot Start 机制实现的,在Springboot主启动类上有一个SpringbootApplication注解,他由3个注解组成,其中EnableAutoConfiguration,他是实现自动装配的核心注解,他通过@import注解导入对应的配置选择器,他内部就是读取项目和该项目引入的依赖的classpath路径下META-INF/spring.facotries文件中配置的类的全类名,然后通过条件注解判断是否需要加载到容器中。

spring常见注解?

在这里插入图片描述

springmvc常见注解?

在这里插入图片描述

springboot常见注解?

在这里插入图片描述

  • @Conditional:
    作用:条件注解,根据给定的条件判断是否需要配置某些Bean或组件。
    使用方式:可以结合@ConditionalOnProperty、@ConditionalOnClass等条件注解一起使用,根据配置属性或类是否存在来决定是否创建某个Bean。
  • @Indexed:
    作用:标记一个类为可被Spring Boot自动配置的候选类。
    使用方式:通常与@Configuration一起使用,表示该类可能包含自动配置相关的Bean定义,Spring Boot会根据类路径中的条件进行自动配置。
  • @Import:
    作用:用于导入其他配置类或组件。
    使用方式:在Spring Boot中,可以使用@Import注解来导入其他配置类,进一步组合多个配置类来实现复杂的配置。

mybatis的执行流程?

在这里插入图片描述

1.加载mybatis的核心配置文件(包含运行环境和映射文件)

2.构建sqlsessionfactory会话工厂,一个项目只需要一个,单例的,一般spring容器管理。

3.创建会话sqlsession,包含sql执行语句的所有方法。

4.操作数据库的接口,Executor执行器,也负责查询缓存的维护。

5.输入参数映射,输出结果映射。

mybatis的延迟加载?

mybatis的延迟加载是需要数据时才加载,不需要的时候不加载,

支持一对一关联对象和一对多关联集合对象的延迟加载,

可以配置是否启用延迟加载lazyLoadingEnabled=true|false,默认是关闭的。

mybatis延迟加载的底层原理?

在这里插入图片描述

通过cglib动态代理实现,当调用目标方法时,先判断其是否为空,为空则去执行sql查询。

mybatis的一级,2级缓存?

在这里插入图片描述

一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其作用域是session级别,当session继续flush和clear时session中的所有cache被清空。默认开启一级缓存。

二级缓存:基于 PerpetualCache 的 HashMap 本地缓存,基于namespace和mapper的作用域起作用的,不依赖sqlsession,开启只需要在配置文件中配置即可。

什么时候会清理缓存?

当某一个作用域(一级缓存 Session/二级缓存Namespaces)的进行了新增、修改、删除操作后,默认该作用域下所有 select 中的缓存将被 clear。

mybtis #{}和${}的区别?

  • #{ }是在Mapper.xml中获取参数,替换占位符,不会出现sql注入问题,一般是属性赋值;
  • ${ }是直接拼接到sql语句中,有sql注入危险,一般用于动态表或者动态字段排序;

逻辑分页和物理分页?

逻辑分页:一次性从数据库查询全部的数据,然后在内存中进行分页;
物理分页:查询数据库的时候已经限制查询的条数,一般都用limit

Mybatis的xml文件和接口怎么绑定的?

通过namespace+id来绑定;

后记
👉👉💕💕美好的一天,到此结束,下次继续努力!欲知后续,请看下回分解,写作不易,感谢大家的支持!! 🌹🌹🌹

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

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

相关文章

【论文阅读笔记】SAM-Adapter: Adapting Segment Anything in Underperformed Scenes

1.论文介绍 SAM-Adapter: Adapting Segment Anything in Underperformed Scenes SAM适配器&#xff1a;在表现不佳的场景中适配任何片段 2023年 ICCV Paper Code SAM Fails to Segment Anything? – SAM-Adapter: Adapting SAM in Underperformed Scenes: Camouflage, Shado…

吴恩达:AI 智能体工作流

热门文章推荐&#xff1a; &#xff08;1&#xff09;《为什么很多人工作 3 年 却只有 1 年经验&#xff1f;》&#xff08;2&#xff09;《一文掌握大模型提示词技巧&#xff1a;从战略到战术巧》&#xff08;3&#xff09;《AI 时代&#xff0c;程序员的出路在何方&#xff1…

Vue2(完结):replace属性、编程式路由导航、缓存路由组件、两个新钩子、路由守卫、history与hash

一、router-link的replace属性 1、作用&#xff1a;控制路由跳转时操作浏览器历史记录的模式 2、浏览器的历史记录有两种写入方式&#xff1a;分别为push和replace&#xff0c;push是追加历史记录&#xff0c;replace是替换当前记录。路由跳转时候默认为push 3、如何开启repla…

EXCEL地理数据处理工具(地图任务)

版本号 作者 修订内容 发布日期 1.0 小O 更新至0705版 2022-4-28 1.1 小O 更新至0772版 2024年4月3日 一、概述 小O地图EXCEL插件版提供基于EXCEL表格进行地理数据处理、地图可视化、地图绘图等功能&#xff0c;地理工具是用户使用频率很高的功能模块。地理工具能…

C语言交换两个变量值的方法,详细讲解

不管在学习哪门语言&#xff0c;都会遇到交换两个变量的这种问题&#xff0c;而且在面试测试题中也经常提到。既然出现的频率这么高&#xff0c;那我们今天就来讲讲交换两个变量常用的几种方法。 今天主要是基于C语言写的代码&#xff0c;不管哪种语言写的&#xff0c;应该核心…

Linux下Qt生成程序崩溃文件

文章目录 1.背景2.Qt编译生成程序2.1.profile模式的本质 3.执行程序&#xff0c;得到core文件4.代码定位4.1.直接使用gdb4.2.使用QtCreator 5.总结6.题外话6.1.profile模式和debug模式的区别 1.背景 在使用Qt时&#xff0c;假如在windows&#xff0c;当软件崩溃时&#xff0c;…

石油化工控制台定制厂家具备的专业条件一览

石油化工行业&#xff0c;作为国家的支柱产业之一&#xff0c;对设备与控制台的要求尤为严格。石油化工控制台是石油化工行业必不可少的办公设备之一。因此&#xff0c;选择一家专业的石油化工控制台定制厂家&#xff0c;对于提升企业的生产效率与安全水平具有不可估量的价值&a…

CTF之矛盾

这一题就是php的弱比较“” 这里要求输入的不是数字&#xff0c;并且输入要为1才打印flag 那我们就输入一个1后面接随便什么字符&#xff0c;因为php的弱比较将字符与数字进行比较的时候&#xff0c;会把字符转换成数字再比较&#xff0c;当转换到字符时后面便都为空了 flag{…

ChatGLM-6B实战微调(P-tuning-v2、LORA)

硬件准备 GPU: NVIDIA Tesla A30 24GB python 3.10 pytorch 1.11 transformers 4.27.1 实验环境 Change your pip source pip config set global.extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple # Writing to /opt/conda/pip.conf pip config set global.inde…

C/C++预处理过程

目录 前言&#xff1a; 1. 预定义符号 2. #define定义常量 3. #define定义宏 4. 带有副作用的宏参数 5. 宏替换的规则 6. 宏和函数的对比 7. #和## 8. 命名约定 9. #undef 10. 命令行定义 11. 条件编译 12. 头文件的包含 13. 其他预处理指令 总结&#x…

【御控物联】JavaScript JSON结构转换(15):对象To数组——转换映射方式

文章目录 一、JSON结构转换是什么&#xff1f;二、术语解释三、案例之《JSON对象 To JSON数组》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么&#xff1f; JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

2024年03月CCF-GESP编程能力等级认证Scratch图形化编程二级真题解析

本文收录于专栏《Scratch等级认证CCF-GESP真题解析》,专栏总目录・点这里. 一、单选题(共 10 题,每题 3 分,共 30 分) 第1题 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( )。 A、小程序 B、计时器 C、操作系统 D、神话人物 答案:…

【vite】-【vite介绍】-【vite的基础应用】-【vite的高级应用】-【

目录 vite介绍vite的基础应用vite创建项目vite创建vue3项目vite创建vue2项目vite创建react项目 vite中使用css的各种功能vite中使用tsvite中处理静态资源的方法vite集成eslint和prettiervite中的env环境变量 vite的高级应用 vite介绍 一、特点&#xff1a; 开发时效率极高开箱…

Excel常用技巧

个人笔记&#xff08;整理不易&#xff0c;有帮助点个赞&#xff09; 笔记目录&#xff1a;学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 个人随笔&#xff1a;工作总结随笔_8、以前工作中都接触过哪些类型的测试文档-CSDN博客 目录 一&#xff1a…

UE4几个常用节点链接

UE4几个常用节点链接 2017-12-02 12:54 1. 流光材质(及uv平铺次数) 2. 跑九宫格 3.闪光3。1 粒子闪烁效果 4.图案重复5.平移扭曲 6.溶解 刀光的uv滚动图片源或采样节点属性里改成clamp无后期发光光晕anistropic 各向异性高光法线图 法线图叠加 blendangle orrectedNo…

ThingsBoard通过MQTT发送属性数据

MQTT基础 客户端 MQTT连接 属性上传API 案例 MQTT基础 MQTT是一种轻量级的发布-订阅消息传递协议&#xff0c;它可能最适合各种物联网设备。 你可以在此处找到有关MQTT的更多信息&#xff0c;ThingsBoard服务器支持QoS级别0&#xff08;最多一次&#xff09;和QoS级别1&…

Python爬取公众号封面图(零基础也能看懂)

&#x1f4da;博客主页&#xff1a;knighthood2001 ✨公众号&#xff1a;认知up吧 &#xff08;目前正在带领大家一起提升认知&#xff0c;感兴趣可以来围观一下&#xff09; &#x1f383;知识星球&#xff1a;【认知up吧|成长|副业】介绍 ❤️感谢大家点赞&#x1f44d;&…

【Web应用技术基础】JavaScript(4)——案例:全选/取消全选按钮

视频已发。截图如下&#xff1a; 1.点击全选按钮&#xff0c;则选中所有选项 2.只要某个选项取消&#xff0c;则自动取消全选按钮的勾选状态 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"vie…

Pytorch数据结构:GPU加速

文章目录 一、GPU加速1. 检查GPU可用性&#xff1a;2. GPU不可用需要具体查看问题3. 指定设备4.将张量和模型转移到GPU5.执行计算&#xff1a;6.将结果转移回CPU 二、转移原理1. 数据和模型的存储2. 数据传输3. 计算执行4. 设备管理5.小结 三、to方法的参数类型 一、GPU加速 .…

华为CCE部署RabbitMQ中间件操作文档

1、创建有状态&#xff08;StatefulSet&#xff09;部署 中间件一般为有状态部署&#xff0c;有状态部署与无状态部署区别参考文档&#xff1a;K8S有无状态部署-CSDN博客 1.1、基本信息 注意&#xff1a; 应用名称命名规则&#xff1a;&#xff08;命名规则最好统一&#xff…