Spring Boot 基础知识点1 (含面试题1)

Spring Boot 是一款基于 Spring 框架的开源应用程序开发工具,它旨在简化 Spring 应用程序的配置和开发过程。Spring Boot 提供了一种简单的方式来创建可独立运行的、生产级别的应用程序,并在需要时进行部署。Spring Boot 在微服务架构和云计算环境下得到了广泛应用。

本次主要是相关的基础知识点与代码讲解,主要也是为了唤醒和快速记录的地步。面试题也挑了相对重要但是比较基础偏上的题目,最后的项目驱动,以一个简单的设计模式来讲解Spring Boot 的实例应用。

目录

  • Spring Boot 知识点
  • 面试题
  • 项目驱动学习

Spring Boot 知识点

由于IDEA 2023版本创建Spring 项目的时候抛弃了JDK 8 只有17 和21版本,所以需要修改项目源:
在这里插入图片描述
在这里插入图片描述
注解@Spring BootApplication :
此注解是加在项目启动类上的,实际上是一个组合注解

*@SpringBootConfiguration
//@Configuration
// public @interface SpringBootConfiguration
*@EnableAutoConfiguration
*@ComponentScan

可以在resources目录下建一个banner,txt

Spring Boot项目中,内置了Tomcat,Jetty,Netty等容器。当开发者添加了spring-boot-starter-web依赖后,默认使用Tomcat作为Web容器,如果对Tomcat做进一步配置,可以在application.properties配置(resoures):

server.port = 8081 # 配置了端口号
server.error.path =/error # 配置了当项目出错时候跳转页面
server.servlet.context-path=/chpter02 # 表示项目名称,不配置时默认为/,如果配置了需要加上路径

下面提供视图层的实例代码
Spring Boot对视图层提供了很好的支持,官方推荐使用的模板引擎是Thymeleaf 记得刷新

     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

视图 Controller 层:样例代码:

@Controller
public class BookController {
// 这个是http://localhost:8080/testbook
// 最后返回的数据mv 或者String 类型是templates下的文件前缀
    @GetMapping("/testbook")
    public ModelAndView books() {
        List<Book> books = new ArrayList<>();
        Book b1 = new Book();
        b1.setId(1);b1.setName("B1");b1.setAuthor("JA");
        Book b2 = new Book();
        b2.setId(2);b2.setName("B2");b2.setAuthor("MA");

        books.add(b1);
        books.add(b2);

// 生成视图
        ModelAndView mv = new ModelAndView();
        mv.addObject("books",books);
        mv.setViewName("books");
        return mv;
    }

	或者Public String M(){
	return "";// 返回的字符串就是templates的前缀
		}
}

book.html:

<html lang="en"  xmlns:th ="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <table border="1" >
      <tr>
          <td>ID</td>
          <td>NAME</td>
          <td>AUTHOR</td>
      </tr>
      <tr th:each = "book:${books}">
          <td th:text="${book.id}"></td>
          <td th:text="${book.name}"></td>
          <td th:text="${book.author}"></td>
      </tr>
  </table>
</body>
</html>

配置properties:

server.port=8080
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.application.name=spring-boot-thymleaf

整合持久层
持久层是Java EE中访问数据库的核心操作,Spring Boot对常见的持久层框架提供了自动化配置,例如JdbcTemplate,JPA等,MyBatis的自动化配置是MyBatis官方提供的。

使用JDBC进行配置:
创建Dao 访问层:

# 配置信息(每改一次要更新Maven一次):
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql:///chapter05
spring.datasource.username = root
spring.datasource.password = 
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver // 下面版本号为8.0.30


#Dao(一般就是写数据库层)
@Repository
public class BookDao {
    @Autowired(
            required = false
    )
    dbcTemplate jdbcTemplate;
    public int addBook(Book book) {
        return jdbcTemplate.update("insert into book(name ,author) values (?,?)",book.getName(),book.getAuthor());
    }
    }

# Service 层 (做方法类):
@Service
public class BookService {
//自动装箱 
    @Autowired(
            required = false
    )
    BookDao bookDao;
    public int addBook(Book book) {
        System.out.println(book.getId());
        System.out.println(book.getAuthor());
        System.out.println(book.getName()+"1233");

        return bookDao.addBook(book);
    }

整合MyBatis
MyBatis是一款优秀的持久层框架,支持定制化SQL,存储过程以及高级映射。MyBatis几乎避免所有的JDBC代码手动设置参数以及获取结果集。在传统的SSM框架整合中,使用它需要大量的配置,而在Spring Boot提供了自动化配置方案,可以做到开箱即用。
依旧是添加依赖:

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>

区别JDBC 中的Service层,这里主要是使用Mapper层(一般项目会放在Dao文件包中)

@Mapper注解,表示这是MyBatis中的接口,这种方式在每个Mapper添加注解
BookMapper接口中的每一个方法都在BookMapper.xml实现了
xml 文件

// 指明实现接口对象
<mapper namespace ="com.example.demo.testMybatis.mapper.BookMapper">
 <insert id ="addBook" parameterType="com.example.demo.testMybatis.model.Book">
        insert into book (name,author) values (#{name},#{author})
        #{}用来替代接口中的参数,实体类中的属性可以直接通过#{实体类属性名}获取
    </insert>

可以把xml放在resources包中,并把文件夹名改为mapper,然后在application.properties配置

# 配置mybatis
mybatis.mapper-locations=classpath:/mapper/*.xml

Spring Boot是由Pivotal团队提供的一套开源框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。

目录说明:

springboot-hello    //项目名称
  -.idea  //idea自动生成的缓存文件
  -.mvn   //maven相关
  - src
    - main //存放代码源文件、配置文件
      -java  //存放代码源文件
       - com.gyd.springboothello
         -SpringbootHelloApplication  
      -resource //存放配置文件如xml、properties格式的
       -application.properties
    - test  //编写单元测试用例和执行
    - .gitignore  //配置,指定提交git时要忽略哪些格式文件
    - HELP.md //springboot官方文档链接
    - mvnw  //maven相关
    - mvnw.cmd  //maven相关
    - pom.xml  // 项目基本信息定义、依赖组件引入

@SpringBootApplication 主要组合了@Inherited、@SpringBootConfiguration、@ComponentScan、@EnableAutoConfiguration这几个注解。

@Inherited阐述了某个被标注的类型是被继承的。

在springboot的应用的根目录下运行mvn spring-boot:run

在这里插入图片描述

面试题

1.Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
@ComponentScan:Spring组件扫描。

2.YAML 配置的优势在哪里 ? 和传统的 properties 配置相比到底有哪些优势呢?

配置有序,在一些特殊的场景下,配置有序很关键
支持数组,数组中的元素可以是基本数据类型也可以是对象
简洁
相比 properties 配置文件,YAML 还有一个缺点,就是不支持 @PropertySource 注解导入自定义的 YAML 配置。

3.spring boot 核心的两个配置文件

spring boot 核心的两个配置文件:

bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加载的,比 applicaton 优先加载,配置在应用程序上下文的引导阶段生效。一般来说我们在 Spring Cloud Config 或者 Nacos 中会用到它。且 boostrap 里面的属性不能被覆盖;
application (. yml 或者 . properties): 由ApplicatonContext 加载,用于 spring boot 项目的自动化配置

4.如何在自定义端口上运行 Spring Boot 应用程序?

为了在自定义端口上运行 Spring Boot 应用程序,您可以在application.properties 中指定端口。server.port = 8090

5.如何实现 Spring Boot 应用程序的安全性?

为了实现 Spring Boot 的安全性,我们使用 spring-boot-starter-security 依赖项,并且必须添加安全配置。它只需要很少的代码。配置类将必须扩展WebSecurityConfigurerAdapter 并覆盖其方法。

6.Spring Boot 中如何解决跨域问题 ?

可以通过 CORS 来解决跨域问题,只不过之前我们是在 XML 文件中配置 CORS ,现在可以通过实现WebMvcConfigurer接口然后重写addCorsMappings方法解决跨域问题。

@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .maxAge(3600);
    }

}

7.Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?

Spring Boot 项目最终打包成的 jar 是可执行 jar ,这种 jar 可以直接通过 java -jar xxx.jar 命令来运行,这种 jar 不可以作为普通的 jar 被其他项目依赖,即使依赖了也无法使用其中的类。

Spring Boot 的 jar 无法被其他项目依赖,主要还是他和普通 jar 的结构不同。普通的 jar 包,解压后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在 \BOOT-INF\classes 目录下才是我们的代码,因此无法被直接引用。如果非要引用,可以在 pom.xml 文件中增加配置,将 Spring Boot 项目打包成两个 jar ,一个可执行,一个可引用。

8.运行 Spring Boot 有哪几种方式?

1)打包用命令或者放到容器中运行
2)用 Maven/ Gradle 插件运行
3)直接执行 main 方法运行

9.如何使用 Spring Boot 实现分页和排序?

使用 Spring Boot 实现分页非常简单。使用 Spring Data-JPA 可以实现将可分页的传递给存储库方法。

10.Spring、SpringBoot、SpringMVC的区别?

1、 Spring框架就像一个家族,有众多衍生产品,例如boot、mvc、jpa等等。但他们的基础都是Spring的ioc、aop。ioc提供了依赖注入的容器,aop解决了面向横切面编程,然后在此两者的基础上实现了其它延伸产品的高级功能;
2、 springMVC是基于Servlet的一个MVC框架主要解决WEB开发的问题;
3、 为了简化开发的使用,从而创造性地推出了SpringBoot框架,默认优于配置

11.如何在 SpringBoot 中添加通用的 JS 代码?

在源文件夹下,创建一个名为 static 的文件夹。然后,你可以把你的静态的内容放在这里面。
例如,myapp.js 的路径是 resources\static\js\myapp.js

12.什么是 JavaConfig?

1、 面向对象的配置。由于配置被定义为 JavaConfig 中的类,因此用户可以充分利用 Java 中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean 方法等。

2、 **减少或消除 XML 配置。**基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在 XML 和 Java 之间来回切换。JavaConfig 为开发人员提供了一种纯 Java 方法来配置与 XML 配置概念相似的 Spring 容器。从技术角度来讲,只使用 JavaConfig 配置类来配置容器是可行的,但实际上很多人认为将JavaConfig 与 XML 混合匹配是理想的。

3、 类型安全和重构友好。JavaConfig 提供了一种类型安全的方法来配置 Spring容器。由于 Java 5.0 对泛型的支持,现在可以按类型而不是按名称检索 bean,不需要任何强制转换或基于字符串的查找。

13.解释 @Controller 作用?

通常用于修饰controller层的组件,由控制器负责将用户发来的URL请求转发到对应的服务接口,通常还需要配合注解**@RequestMapping**使用。
@RequestMapping 提供路由信息,负责URL到Controller中具体函数的映射,当用于方法上时,可以指定请求协议,比如GET、POST、PUT、DELETE等等。

/**
 * 登录服务
 */
@Controller
@RequestMapping("api")
public class LoginController {
 
    /**
     * 登录请求,post请求协议,请求参数数据格式为json
     * @param request
     */
    @RequestMapping(value = "login", method = RequestMethod.POST)
    @ResponseBody
    //表示该方法的返回结果直接写入HTTP response body中,返回数据的格式为application/json//比如,请求参数为json格式,返回参数也为json格式
    public ResponseEntity login(@RequestBody UserLoginDTO request){
     //...业务处理
        return new ResponseEntity(HttpStatus.OK);
    }
}

14.关于bean有哪些重要的注解?

@Service
通常用于修饰service层的组件,声明一个对象,会将类对象实例化并注入到bean容器里面
@Component
泛指组件,当组件不好归类的时候,可以使用这个注解进行标注,功能类似于于@Service

@Repository
通常用于修饰dao层的组件,
@Repository注解属于Spring里面最先引入的一批注解,它用于将数据访问层 (DAO层 ) 的类标识为Spring Bean,具体只需将该注解标注在 DAO类上即可

@Bean
相当于 xml 中配置 Bean,意思是产生一个 bean 对象,并交给spring管理,示例代码如下:

@Configuration
public class AppConfig {
 
   //相当于 xml 中配置 Bean
    @Bean
    public Uploader initFileUploader() {
        return new FileUploader();
    }

}

@Autowired
自动导入依赖的bean对象,默认时按照byType方式导入对象,而且导入的对象必须存在,当需要导入的对象并不存在时,我们可以通过配置required = false来关闭强制验证。
@Autowired
private DeptService deptService;

项目驱动学习

这是一个项目文件,在java包下面分为了这常见的5个层处理,在resources包就是一些资源文件。
在这里插入图片描述
最简单 的就entity 层,里面都是用户的set get 属性等相应信息 ,在本项目中会有一个JSON 字符串生成:
在这里插入图片描述
接着来看Dao层文件,里面和实体类的相对应,命名方式也是XXXDAO
dao层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。由于这里使用了MyBatis ,在mapper层下面。
例如这项目中的DAO:
从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件
注意DAO 层都是接口 ,并且用Repository 进行表示
@Repository 注解在持久层中,具有将数据库操作抛出的原生异常翻译转化为spring的持久层异常的功能
一般增删改都是int 返回,而查询一般是List 数据结构,并且利用集合的思想是List E 结构模式。

在这里插入图片描述
接着看与之对应的xml 数据库配置:
namespace 就是映射的命名空间,就是Dao层 ,然后这里命名了
resultMap标签是为了映射select查询出来结果的集合,其主要作用是将实体类中的字段与数据库表中的字段进行关联映射。一句换,要解决属性名和字段名不一致的问题。

在这里插入图片描述

下面列举一些增删改查配置方式:
parameterType:参数类型。执行SQL语句的时候,其中有一些数据往往是不确定的,比如条件,要插入的数据等。这些可以理解为就是参数。注意这里的参数和Dao 的抽象方法参数对应:
例如insertAdmin
在这里插入图片描述
而配置MyBatis:
这里定义了配置文件的位置

mybatis.config-location = classpath:mybatis.xml

最重要的就是这个映射关系
在这里插入图片描述

#{ } 表示参数配置
其配置如下:

<!-- 管理员表 插入SQL语句  AdminDAO通过ID(insertAdmin)调用此配置 -->
	<insert id="insertAdmin" parameterType="admin">  
	# 这就是数据库SQL 格式方式,
		insert into admin(adminid  , username  , password  , realname  , contact  , addtime ) values(#{adminid}  , #{username}   , #{password}   , #{realname}   , #{contact}   , #{addtime} )
	</insert>

	<!-- 管理员表 更新SQL语句  AdminDAO通过ID(updateAdmin)调用此配置 -->
	<update id="updateAdmin" parameterType="admin">
		update admin set  username=#{username}  , password=#{password}  , realname=#{realname}  , contact=#{contact}  , addtime=#{addtime}  where adminid=#{adminid}
	</update>

	<!-- 管理员表 按主键删除SQL语句  AdminDAO通过ID(deleteAdmin)调用此配置 -->
	<delete id="deleteAdmin" parameterType="String">
		delete from admin where adminid = #{adminid}
	</delete>
	<!-- 管理员表 查询全部管理员信息SQL语句  AdminDAO通过ID(getAllAdmin)调用此配置  -->
	<select id="getAllAdmin" resultMap="adminMap">
		select a.*  from admin a  where 1=1  order by adminid desc
	</select>

下面来看service 层:
Service层业务层,service层的作用为完成功能设计。 存放业务逻辑处理,不直接对数据库进行操作,有接口和接口实现类,提供controller层调用的方法。
@Service注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要再在applicationContext.xml文件定义bean了。
这个层依旧是接口:
基本上和Dao层类似
在这里插入图片描述
在service包中下面有个impl,这里就是实现接口方法的Impl 类:
一般这里的写法就是return 了,值得注意的是,这里要写@service
这里就建立和Dao的关系了,Impl 和Dao的关系,所以要自动装箱一个对象,这里有红色 的原因是安全原因,解决方法见上,加个false。
在这里插入图片描述
下面进入到Controller 层:
常见的@Controller,然后该页面有个/admin 二级目录。

在这里插入图片描述
在上面的层中是extends ,回到BaseController中:这里就是一些基本信息。
在这里插入图片描述
在AdminController中,使用的String 返回html 视图:
在这里插入图片描述
在这里就可以看到如果登陆失败就重定向,否则就进入main 页面 :

在这里插入图片描述
这里就展示一个查询表格的关键代码:
注意有这个引入

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

在这里插入图片描述
这个引入方法和我们平时的templates 不一样;
由上面可知 他的地址配置如下

spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp

在这里也用的分页技术。

以上就是全部关于Spring Boot的基础内容了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

thinkphp6实现简单定时任务

thinkphp6实现定时任务 创建定时任务文件定义指令编写Test.php代码运行测试 创建定时任务文件 Test类名根据自己的需要修改 php think make:command Test testcommand文件夹在app目录下没有需要自己创建 运行上面的命令后会在command下 多一个Test.php文件 定义指令 在conf…

PHP代码审计之实战审代码篇2

4. 仔细观察如下代码&#xff0c;思考代码有什么缺陷&#xff0c;可能由此引发什么样的问题&#xff1f; <?php require_once("/home/rconfig/classes/usersession.class.php"); require_once("/home/rconfig/classes/ADLog.class.php"); require_onc…

金和OA C6 SAP_B1Config.aspx 未授权漏洞

产品介绍 金和网络是专业信息化服务商,为城市监管部门提供了互联网监管解决方案,为企事业单位提供组织协同OA系统开发平台,电子政务一体化平台,智慧电商平台等服务。 漏洞描述 金和OA C6 SAP_B1Config.aspx接口 未授权&#xff0c;攻击者可通过此漏洞获取数据库账户密码等敏…

2024最新前端源码分享(附效果图及在线演示)

分享10款非常有趣的前端特效源码 其中包含css动画特效、js原生特效、svg特效以及小游戏等 下面我会给出特效样式图或演示效果图 但你也可以点击在线预览查看源码的最终展示效果及下载源码资源 粒子文字动画特效 基于canvas实现的粒子文字动画特效 会来回切换设定的文字特效 图…

postman使用方法指南,最全面的教程

Postman使用教程 一、Postman介绍 ​ Postman是一个英语单词&#xff0c;名词&#xff0c;作名词时意为“邮递员&#xff1b;邮差”。 ​ Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,…

【两阶段鲁棒】计及需求响应的多能互补微网两阶段鲁棒优化matlab

目录 1 主要内容 算例模型 目标函数 第一阶段 第二阶段 求解流程图 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《多能互补微网两阶段鲁棒优化调度研究》&#xff0c;在考虑风光不确定集的基础上提出采用计及DR响应的多能互补微网两阶段鲁棒备用调度模…

ShardingSphere-JDBC学习笔记

引言 开源产品的小故事 Sharding-JDBC是2015年开源的&#xff0c;早期的定位就是一个分布式数据库的中间件&#xff0c;而在它之前有一个MyCat的产品。MyCat也是从阿里开源出来的&#xff0c;作为分库分表的代名词火了很长一段时间&#xff0c;而MyCat早年的目标就是想进入ap…

Python的基础练习题之学生管理系统

需求 使用Python基础写一个基于控制台的学生管理平台&#xff0c;里面功能分别是&#xff1a;1.录入学生信息2.查找学生信息3.删除学生信息4.修改学生信息5.排序6.统计学生总人数7.显示所有学生信息&#xff0c;要求数据存储在文件里。 代码 代码资源地址可以直接下载 效果图…

消除字母Scratch-第14届蓝桥杯Scratch省赛真题第6题

6. 消除字母&#xff08;100分&#xff09; 编程实现&#xff1a;消除字母。 具体要求&#xff1a; 1). 点击绿旗&#xff0c;角色、背景如图所示&#xff08;创建1个字母表&#xff0c;并存入26个字母&#xff09;&#xff1b; 2). 等待1秒&#xff0c;阿拉蕾说&#xff1…

华为VRP系统基础华为ICT网络赛道

目录 1.华为VRP系统概述 3.2.命令视图与使用 3.3.基本配置命令 1.华为VRP系统概述 通用路由平台VRP(Versatile Routing Platform)是华为公司数据通信产品的通用操作系统平台。它以IP业务为核心&#xff0c;采用组件化的体系结构&#xff0c;在实现丰富功能特性的同时&#x…

AIGC学习笔记(1)——AI大模型提示词工程师

文章目录 AI大模型提示词工程师1 Prompt工程之原理1.1 AIGC的发展和产业前景前言AIGC时代的到来发展趋势和应用展望 1.2 大模型的类型和特点大模型的对比上手特点 1.3 大模型技术原理和发展成语接龙和暴力穷举ChatGPT如何理解人类语言如何存储数据图像存储电脑存数字如何让电脑…

【Docker基础二】Docker安装Mysql8

下载镜像 安装mysql&#xff08;版本&#xff1a;8.0.35&#xff09; # 拉取镜像 docker pull mysql:8.0.35 # 查看镜像是否已经下载 docker images 创建挂载目录 # 宿主机上创建挂载目录 (可以不创建&#xff0c;docker run -v配置了挂载目录&#xff0c;docker会自动…

ARMv8-AArch64 的异常处理模型详解之异常等级、执行状态以及安全状态

ARMv8-AArch64 的异常处理模型详解 一&#xff0c;特权和异常等级1.1 异常等级 Exception levels 二&#xff0c;特权的类型2.1 内存特权2.2 访问寄存器的特权 三&#xff0c;执行状态和安全状态3.1 执行状态 Execution states3.2 执行状态切换 3.3 安全状态 Security states3.…

商品期货交易中的强行平仓:交易所的规定和风险控制

在商品期货交易中&#xff0c;保证金充足的情况下&#xff0c;一般不会被强行平仓。然而&#xff0c;有几种情况可能会导致强行平仓的发生&#xff1a; 1 持仓超过交易所限仓规定&#xff1a;交易所会设定限仓规定&#xff0c;限制每位投资者的持仓数量。如果超过限仓规定&…

CAD安装教程

CAD安装教程 目录 一&#xff0e; 下载CAD二&#xff0e; 安装CAD 一&#xff0e; 下载CAD 如果需要CAD安装包请私信。 二&#xff0e; 安装CAD 解压压缩包AutoCAD2022中文版&#xff0c;以管理员身份运行AutoCAD_2022_Simplified_Chinese_Win_64bit_dlm.sfx。 选择解压路径。…

【强化学习的数学原理-赵世钰】课程笔记(六)随机近似与随机梯度下降

目录 一.内容概述 二.激励性实例&#xff08;Motivating examples&#xff09; 三.Robbins-Monro 算法&#xff08;RM 算法&#xff09;&#xff1a; 1.算法描述 2.说明性实例&#xff08;llustrative examples&#xff09; 3.收敛性分析&#xff08;Convergence analysi…

阿里通义最新黑科技!“通义舞王”:让静态照片翩翩起舞,探索艺术与科技的无限可能

引子&#xff1a;穿越二维与三维的艺术边界 在科技日新月异的时代&#xff0c;艺术创作的疆界正以前所未有的速度拓展,&#xff0c;从AI作曲和音乐生成技术带来的跨风格音乐作品&#xff0c;到基于人工智能的诗歌与文学创作&#xff0c;艺术不再仅仅是人类个体情感与才华的体…

项目管理工具Maven

Maven Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Maven基础内容 2. Maven的依赖管…

PHP文件代码加密系统,可批量全开源

代码文件加密系统 在程序运行时&#xff0c;实质上是在执行机器码&#xff0c;而虚拟机语言的基本概念是将程序加密到一定程度&#xff0c;也就是说&#xff0c;经过加密的PHP程序在执行时会被解密成opcode继续执行。 PHP在执行时会生成opcode&#xff0c;然后由Zend虚拟机继…

克服幻觉:提升语言模型在自然语言处理中的准确性与可靠性

随着语言模型&#xff08;LLM&#xff09;在自然语言处理&#xff08;NLP&#xff09;中的应用日益普及&#xff0c;它们在文本生成、机器翻译、情感分析等许多任务中展现出惊人的能力。然而&#xff0c;这些模型也常常显示出一个被称作“幻觉”&#xff08;hallucination&…