SpringBoot (面试篇)

什么是SpringBoot

通过SpringBoot,可以轻松的创建独立的,基于生产级别的Spring的应用程序,您可以“运行”它们。大多数SpringBoot应用程序要最少的Sprig配置

为什么要用SpringBoot

快速开发

快速整合

配置简化

内嵌服务容器

SpringBoot与SpringCloud区别

SpringBoot是快速开发的Spring框架,SpringCloud是完整的微服务框架,SpringCloud依赖于SpringBoot。

SpringBoot有哪些优点?

SpringBoot主要有如下优点:

1. 容易上手,提升开发效率,为Spring开发提供一个更快、更简单的开发框架。

2. 开箱即用,原理繁琐的配置。

3. 提供了一系列大型项目通用的非业务性能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等。

4. SpringBoot总结就是使用编程变简单、配置变简单、部署变简单、监控变简单等等

SpringBoot核心注解是哪个?它主要由哪几个注解组成的?

1. 启动类上的注解使@SpringBootApplication,他也是SpringBoot的核心注解,主要组合包含以下三个注解:

        1. @SpringBootConfiguration:组合了@Configuration注解,实现配置文件的功能。

        2. @EnableAutoConfiguration:打开自动配置的功能,也可以关闭掉某个自动配置的选项,例如:Java如关闭数据源自动配置功能:@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}).

                1. @ComponentScan:Spring组件扫描

Spring Boot Starter的工作原理

1. 在SpringBoot启动时由@SpringBootApplication注解会自动去maven中读取每个starter中的spring.factories文件,该文件里配置了所有需要被创建spring容器中的bean,并且进行自动配置把bean注入SpringContext中//(SpringContext是Spring的配置文件)

2. 其实SpringBoot就是由各种Starter组合起来的,我们自己也可以开发Starter

StringBoot2.x 有扫描新特性?与1.x有扫描区别?

1. 配置变更

2. JDK版本升级

3. 第三方类库升级

4. 响应式Spring编程支持

5. HTTP/2支持

6. 配置属性绑定

7. 更多改进与加强

SpringBoot支持什么前端模板

thymeleaf,freemarker,jsp,官方不推荐JSP会有什么限制

SpringBoot事务的使用

SpringBoot的事务很简单,首先使用注解EnableTransactionManagement开启事务之后,然后再Service方法上注解Transactional便可。

Async异步调用方法

在SpringBoot中使用异步调用是很简单的,只需要在方法上使用@Async注解即可实现方法的异步调用。注意:需要在启动类加入@EnableAsync使用使用异步调用@Async注解失效

如何在SpringBoot启动的时候运行一些特定的代码?

可以实现接口ApplicationRunner或者CommandLineRunner,这两个接口实现方法一样,它们都只提供一个run方法

SpringBoot启动类注解?它是由哪些注解组成?

@SpringBootAppliation

        1. @SpringBootConfiguration:组合了@Configuration注解,实现配置文件的功能。

        2. @EnableAutoConguration:打开自动配置的功能,也可以关闭某个自动配置的选项。

        3. @SpringBootApplication (exclude = {DataSourceAutoConfiguration.class})

        4. @ComponenScan:Spring组件扫描

什么是yaml?

yaml是一个可读性高,用来表达数序列化的格式。yaml参考了其他多种语言,包括:C语言、Python、Perl。根据结构性。

SpringBoot启动方式

1. Main方法

2. 命令行java -jar的方式

3. mvn/gradle

SpringBoot需要独立的容器运行?

不需要,内置了Tomcat/jetty。

SpringBoot配置途径有什么?

1. 命令行参数

2. java:comp/env里的JNDI属性

3. JVM系统属性

4. 操作系统环境变量

5. 随机生成带random.* 前缀的属性(在设置其他属性时,可以引用它们,比如${random.long})

6. 应用程序内的application。properties或则application.yml文件

7. 打包应用在应用程序内的application》properties或则application.yml文件

8. 通过@PropertySource标注的属性源

9. 默认属性

applicaiton.prperties和application.yml文件可放位置?优先级?

1. 外置,在相对于应用目录的、cofig子目录里。

2. 外置,在应用程序运行的目录里。

3. 内置,在config包内

4. 内置,在ClassPath根目录

        这个列表按照优先级排序,优先级高的会覆盖优先级低的,当然我们也可以自己指定文件的位置来加载配置文件。

java -jar xiaka.jar ----spring.config.location=/home/application.yml

SpringBoot自动配置原理?

@EnableAutoConfiguration (开启自动配置)该注解引入了AutoConfigurationImportSelector,该类中的方法会扫描所有存在META-INF/spring.factories的jar包

SpringBoot热部署方式?

1. spring-boot-devtools

2. Spring Loaded

3. Jrebel

4. 热模板部署

[bootstarp.yml]和[application.yml]?

bootstrap.yml优先于application.yml

SpringBoot如何修改端口号?

yml:

server :port : 8080

properties:

server.port = 8080

命令1

java -jar xiaoka.jar ----server.port = 8080

命令2

java - Dserver.port = 8080 -jar xiaokao.jar

SpringBoot如何兼容Spring项目?

在启动类加:

@ImportResource(locations = {"classpath:spring.xml"})

SpringBoot配置监控?

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

针对请求访问的几个组合注解?

1. @PatchMapping

2. @PostMapping

3. @GetMapping

4. @PutMapping

5. @DeleteMapping

SpringBoot中的starter?

可以理解成对依赖的一种合成,starter会把一个或一套功能相关依赖都包含进来,避免了自己去依赖费事,还有各种包冲突问题。大大的提升了开发效率。

并且相关配置会有一个默认值,如果我们自己去配置,就会覆盖默认值。

SpringBoot集成Mybatis?

mybatis-spring-boot-starter

不同环境的配置文件?

可以时application-{profile}.properties/yml,但默认时启动主配置文件application.properties,一般来说我们的不同环境配置如下。

1. application.properties:主配置文件

2. application-dev.properties:开发环境配置文件

3. application-test.properties: 测试环境配置文件

4. application.prop-properties: 生产环境配置文件

如何激活某个环境的配置 ?

比如我峨嵋你激活开发环境。

yml:

spring :profiles :actice :dev

properties:

spring.profiles.actice = dev

命令行

java -jar xiaokao-v1.0.jar ----spring.profile.actice = dev

编写测试用例的注解?

@SpringBootTest

方法测试

@Test

SpringBoot异常处理相关注解?

@ControllerAdvice

@ExceptionHandler

Spring Boot读取配置相关注解有

@PropertSource

@Value

@Enviromment

@ConfigurationProperties

什么是JavaConfig?

  • Spring Java Config是Spring社区的产品,Spring3.0引入了他,它提供了配置SpringIOC容器的纯Java方法。因此它有助于避免使用XML配置。使用JavaConfig的优点在于:
    • 面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分利用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。
    • 减少消除XML配置。基于依赖注入原则的外化配置的好处已被证明。但是,需要开发人员不希望XML和Java之间来回切换。JavaConfig为开发人员提供一种纯Java方法来配置与XML配置概念相识的Spring容器。从技术角度来讲,只使用JavaConfig配置类来配置容器可行的,但实际上很多人认为将JavaCofig与XML混合匹配时理想的。
    • 类型安全和重构友好。JavaConfig提供了一种类型安全的方法来配置Spring容器。由于Java5.0对泛型的支持,现在可以按照类型而不是按名称检索bean,不需要任何强制转换或基于字符串的查找。
  • 常用的Java Config:
    • @Cofiguration:在类上打上写下此注解,表示这个类是配置类
    • @ComponentScan:在配置类上添加@ComponentScan注解。该注解默认会扫描该类锁在的包下所有的配置类,相当于之前的<context:component-scan>。
    • @Bean:bean的注入:相当于以前的<bean id="objectMapper" class="org.codehaus.jackson.map.ObjectMapper"/>
      • @EnableWebMvc:相当于xml的<mvc:annotaiton-driven>
      • @ImportResource:相当于xml的<import resource="applicationContext-cache.xml">

SpringBoot的自动配置原理是什么?

1. 主要是SpringBoot的启动类上的核心注解SpringBootApplication注解主配置类,有了这个主配置类启动时就会为SpringBoot开启一个@EnableAutoConfiguration注解自动配置功能。

2. 有了这个EnableAutoConfiguration的话就会:

        1. 从配置文件META_INF/Spring。factores加载可能用到的自动配置类

        2. 去重,并将exclude和excludeName属性携带的类排除

        3. 过滤,将满足条件(@Conditional)的自动配置类返回

如何理解SpringBoot配置加载顺序?

1. 在Spring Boot里面,可以使用以下几种方式来加载配置。

        1. properties文件

        2. Yaml文件

        3. 系统环境变量

        4. 命令行参数

        5. 等等...

SpringBoot和兴配置文件是什么?

  • SpringBoot核心的两个配置文件:
    • bootstrap(.yml或则.properties):bootstrap由弗雷ApplicationContext加载的,比application优先加载,配置在应用程序上下文的引导阶段生效。一般来说我们在spring cloud配置就会使用这个文件。且bootstarp里面的属性不能被覆盖;
    • application(.yml或则.properties):由ApplicationContext加载,用于springboot项目的自动化配置。

Bootstrap.properties和application.properties有何区别?

单纯做SpringBoot开发,可能不太容易遇到bootstarp.properties配置文件,但在结合SpringCloud时,这个配置就会经常遇到了,特别是在需要加载一些配置文件的时候。

什么是Spring profiles

  • 在项目的开发中,有些配置文件在开发、测试或者生产等不同环境中可能是不同的,例如数据库连接、redis的配置等等。那我们如何在不同环境中自动实现配置的切换呢?Spring给我们提供了profiles机制给我们提供的就是来回切换配置文件的功能
  • Spring Profiles 允许用户根据配置文件(dev,test,prod 等)来注册 bean。因此,当应用程序在开发中运行时,只有某些 bean 可以加载,而在 PRODUCTION中,某些其他 bean 可以加载。假设我们的要求是 Swagger 文档仅适用于 QA 环境,并且禁用所有其他文档。这可以使用配置文件来完成。Spring Boot 使得使用配置文件非常简单。

如何实现SpringBoot应用程序的安全性?

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

比较以下Spring Secutity和Shiro各自优缺点?

  • 由于 Spring Boot 官方提供了大量的非常方便的开箱即用的 Starter ,包括 Spring Security 的

Starter ,使得在 Spring Boot 中使用 Spring Security 变得更加容易,甚至只需要添加一个依赖就可以保护所有的接口,所以,如果是 Spring Boot 项目,一般选择 Spring Security 。当然这只是一个建议的组合,单纯从技术上来说,无论怎么组合,都是没有问题的。Shiro 和 SpringSecurity

相比,主要有如下一些特点:

  1. Spring Security 是一个重量级的安全管理框架;Shiro 则是一个轻量级的安全管理框架
  2. Spring Security 概念复杂,配置繁琐;Shiro 概念简单、配置简单
  3. Spring Security 功能强大;Shiro 功能简单

优化SpringBoot程序启动速度

  1. 懒加载:在配置文件中添加(节约1~2秒)
spring:main:lazy-initialization: true

  1. 创建扫描索引
    spring5之后提供了spring-context-indexer功能,可以通过在编译时创建一个静态候选列表来提高大型应用程序的启动性能。
    先看官方的解释:

    在项目中使用了@Indexed之后,编译打包的时候会在项目中自动生成META-INT/spring.components文件。当Spring应用上下文执行ComponentScan扫描时,META-INT/spring.components将会被CandidateComponentsIndexLoader读取并加载,转换为CandidateComponentsIndex对象,这样的话 步骤:
    1. 引入依赖
    2. 启动类添加@Indexed

      大约节约时间时1到2秒
  1. 最优方法升级jdk17和springboot3
    1. jdk17优秀的垃圾回收
    2. springboot3,提供了本地化

读取配置的六种方法

  1. @Value()
    1. @Value(“${spring.name:默认值}”)
    2. 条件:
      1. 首先你所在这个类必须时一个Bean
      2. 读取的这个配置,配置文件中必须要有,否则启动的时候就会报错
  1. @ConfigurationProperties(prefix = “xushu”)
    1. 如下添加
    2. 自动将xushu.name配置到上方name中
    3. 适用于皮两个绑定Environment
    4. 如下使用:
      1. 也可以通过实现EnvironmentAware接口,重写setEnvironment来实现Envireonment,如下:
  1. @propertysource注解
  2. 获取外部配置
  3. 可以通过@PropertySources去获取xushu.properties文件里的配置,如下但是这样只能获取properties文件,想要获取一个yaml文件就需要添加
  4. java原生

SpringBoot中监视器是什么?

Spring boot actuator 是 spring 启动框架中的重要功能之一。Spring boot 监视器可帮助您访问生产环境中正在运行的应用程序的当前状态。有几个指标必须在生产环境中进行检查和监控。使一些外部应用程序可能正在使用这些服务来向相关人员触发警报消息。监视器模块公开了一组直接作为 HTTP URL 访问的REST 端点来检查状态。

如何监视所有SpringBoot微服务?

Spring Boot 提供监视器端点以监控各个微服务的度量。这些端点对于获取有关应用程序的信息(如它们是否已启动)以及它们的组件(如数据库等)是否正常运行很有帮助。但是,使用监的一个主要缺点或困难是,我们必须单独打开应用程序的知识点以了解其状态或健康状况。想象一下涉及 50 个应用程序的微服务,管理员将不得不击中所有 50 个应用程序的执行终端。为了帮助我们处理这种情况,我们将使用位于的开源项目。 它建立在 Spring Boot Actuator 之上,它提供了一个 Web UI,使我们能够可视化多个应用程序的度量。

SpringBoot解决跨域问题

JSONP跨域

前端:
后端:
  1. jsonp的优点就是因为他够老,能兼容各种浏览器,无兼容问题。
  1. jsonp缺点:只支持get,而且存在安全问题
  1. 技术发展至今,jsonp这种前后端耦合的方式基本已被取代

@CrossOrigin注解

主要针对接口

实现WebMvcMvcConfigurer接口

设置一批接口实现跨域

后端
前端
  1. CORS从具体的代码实现上来说比较方便,前端几乎不需要任何代码就可以支持。住哟啊是靠服务端进行配置。
  1. CORS需要浏览器和服务端同时支持。目前所有浏览器都支持该功能,ie浏览器不能低于ie10.
  1. 浏览器一旦发现ajax请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。

使用nginx

跨域请求nginx

SpringBoot的核心注解

1. @SpringBootApplication注解:这个注解标识了一个SpringBoot工程,它实际上是另外三个注解的组合,这三个注解是:

        1. @SpringBootConfiguration:这个注解实际上就是一个@Configuration,标识启动类也是一个配置类

        2. Auto Configuration:向Spring容器中导入了一个Selector,用来加载ClassPath下SpringFactories中所有定义的自动配置类,将这些自动加载为Bean

        3. @Conditional也很关键,如果没有它无法在自定义应用中进行定制开发

                1. @ConditionalOnBean

                2. @ConditionalOnClass

SpringBoot读取配置文件的原理是什么?加载顺序是怎样的?

通过时间监听的方式读取的配置文件:ConfigFileApplicationListener

优先级从高到低,高优先级的配置覆盖低优先级的配置,所有配置会形成互补配置。

1. file: ../config

2. file: ./config

3. file: ../

4. classpath: config/

5. classpath: 

springboot微服务中如何实现session共享?

在微服务中,一个完整的项目被拆分成多个不相同的独立的服务,各个服务独立部署在不同的服务器上,各自的session被从物理空间上隔离开了,但是经常,我们需要在不同微服务之间共享session ,常见的方案就是 Spring Session + Redis 来实现 session 共享。将所有微服务的session 统一保存在 Redis 上,当各个微服务对 session 有相关的读写操作时,都去操作 Redis上的 session 。这样就实现了 session 共享,Spring Session 基于 Spring 中的代理过滤器实现使得 session 的同步操作对开发人员而言是透明的,非常简便。

使用哪些starter maven依赖项

是一个你了下面的一些依赖项:

1. spring-boot-starter-web 嵌入tomcat和web开发需要servlet与jsp

2. spring-boot-starter-data-jpa 数据库支持

3. spring-boot-starter-data-redis redis数据库支持

4. spring-boot-starter-data-solr solr支持

5. mybatis-spring-boot-starter 第三方的mybatis集成starter

在SpringBoot中如何实现定时任务?

1. 在Spring Boot 中使用定时任务主要有两种不同的方式,一个就是使用Spring中@Scheduled注解,另一则是使用第三方框架Quartz。

2. 使用Spring中的@Scheduled的方式主要通过 @Scheduled注解实现。

SpringBoot如何实现打包

1. 进入项目目录在控制台输入mvn clean package ,clean是清空已存在的项目包,package进行打包

2. 或者点击左边选项栏中的Mavne,先点击clean在点击package

SpringBoot打成jar和普通的jar由上面区别?

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

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

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

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

相关文章

Verilog刷题笔记59

题目: Exams/m2014 q6c 解题&#xff1a; module top_module (input [6:1] y,input w,output Y2,output Y4);assign Y2y[1]&w0;assign Y4(y[2]&w1)|(y[3]&w1)|(y[5]&w1)|(y[6]&w1);endmodule结果正确: 注意点: 起初&#xff0c;我的代码有错误,代码如下…

9 正则表达式:Java爬虫和正则表达式、String中的正则表达式方法(基本语法7)

文章目录 前言一、正则表达式1 [ ] 语法(1)[ABC] 和 [^ABC](2)[A-Z]和[a-zA-Z]小总结2 特殊字符语法(\w 这些)3 数量符4 \ 、()、 |5 锚点 ^ 和 $,\b,\B6 (?i) : 忽略其后面的大小写 ---- 这个Java是可以的,其他语言我不知道(正则表达式虽然大多通用,但也有部分是…

视频检索技术为电子商务直播领域带来了前所未有的革新

视频检测在这个场景中指的是通过视频流实时识别和检索直播中销售人员展示的商品。这涉及到从连续的视频帧中分析和识别商品的视觉内容&#xff0c;通常与语音和文本数据结合&#xff0c;以提高识别准确性。 技术原理 文本引导的注意机制&#xff1a;这一机制通过直播中销售人员…

Prometheus学习

监控架构介绍&#xff1a; 基本架构&#xff1a; Prometheus 和 Zabbix 的对比&#xff1a; 安装和使用&#xff1a; Prometheus 采集、存储数据Grafana 用于图表展示alertmanager 用于接收 Prometheus 发送的警告信息node-exporter 用于收集操作系统和硬件信息的 metrics …

猫头虎 分享:Python库 Matplotlib 的简介、安装、用法详解入门教程

&#x1f42f; 猫头虎 分享&#xff1a;Python库 Matplotlib 的简介、安装、用法详解入门教程 今天猫头虎 带大家一起探索一个非常重要的 Python 库——Matplotlib。这是一个强大的工具&#xff0c;广泛应用于数据科学、人工智能和机器学习等领域&#xff0c;用于创建静态、动…

Node.js中的pipe方法:深入解析与应用指南

在Node.js中&#xff0c;pipe方法是处理流&#xff08;Stream&#xff09;数据的一种非常高效的方式。它允许你将一个可读流&#xff08;Readable Stream&#xff09;的数据直接传输到一个可写流&#xff08;Writable Stream&#xff09;中&#xff0c;而无需手动编写读取和写入…

3、springboot时代背景

一、微服务 二、分布式 三、云原生 原生应用如何上云。 Cloud Native 上云的困难 服务自愈弹性伸缩服务隔离自动化部署灰度发布流量治理...... 上云的解决

怎样更改电脑的MAC地址?

怎样更改电脑的MAC地址&#xff1f; 电脑的机器码是可以修改的。 操作步骤&#xff1a; 1、通过按WINR键&#xff0c;调来电脑的接运行窗口&#xff0c;打开CMD命令来查看机器码。 2、命令提示符窗口里输入ipconfig /all&#xff0c;回车&#xff0c;即可显示出当前电脑的网…

wpf UniformGrid 动态加载数据

在WPF中&#xff0c;如果你想要在UniformGrid内部为每个Model对象放置一个Panel&#xff08;比如StackPanel或Grid&#xff09;&#xff0c;并且这些Panel是通过数据绑定动态生成的&#xff0c;你需要结合使用ItemsControl、DataTemplate以及UniformGrid。但是&#xff0c;由于…

调试理解 NodeJS 模块机制

前言 通过断点调试理解 NodeJS & CommonJS 的模块机制&#xff0c;先说结论&#xff1a; NodeJS 中每个文件视作一个模块&#xff0c;每个模块默认可以访问 module、exports、require、__filename、__dirname 变量NodeJS 中通过将模块源码包裹在 Wrapper 函数中&#xff…

【每日一题】【素数筛板子题】又是一年毕业季 牛客小白月赛99 D题 C++

牛客小白月赛99 D题 又是一年毕业季 题目背景 牛客小白月赛99 题目描述 样例 #1 样例输入 #1 3 4 2 4 6 5 5 6 2 5 3 2333333 8 11 4 5 14 19 19 8 10样例输出 #1 3 7 2做题思路 首先观察到 即需要保证拍照的时刻 大于等于 2 那么就从2开始往上走&#xff0c;如果有人…

[CLIP-VIT-L + Qwen] 多模态大模型源码阅读 - 语言模型篇(2)

多模态学习笔记-语言模型篇&#xff08;2&#xff09; 参考repo:WatchTower-Liu/VLM-learning; url:vlm-learning 吐槽 今天的源码看的欲仙欲死&#xff0c;NTK(neural tangent kernel), rotary_position_embedding这些在之前的学习中完全闻所未闻&#xff0c;导致看的时候一…

红黑树、B+Tree、B—Tree

红黑树 B-Tree 这三个通常都是把内存全部加载到内存里&#xff0c;然后再内存中进行处理的&#xff0c;数据量通常不会很大。 内存一般容量都在GB级别&#xff0c;比如说现在常见的4G、8G或者16G。 如果要处理的数据规模非常大&#xff0c;大到内存根本存不下的时候。这个时候…

如何简单判断某个port是否被防火墙block

在存储系统中经常遇到要上传一些code到存储中做升级&#xff0c;但是通过客户网络死活搞不定的情况&#xff0c;其实很多时候是由于客户内部有防火墙的设置&#xff0c;某些端口是被block屏蔽的。本文就介绍几个命令用来快速判断是否这些port被客户做了block。如果确认是被bloc…

Spring Boot 集成 swagger 3.0 指南

Spring Boot 集成 swagger 3.0 指南 一、Swagger介绍1.springfox-swagger 22.SpringFox 3.0.0 发布 二、Spring Boot 集成 swagger 3.01. 添加Maven依赖2. 创建配置类配置Swagger2.1 创建SwaggerConfig 配置类2.1 创建TestInfoConfig信息配置类 3. 在你的Controller上添加swagg…

【思源笔记】思源笔记配置S3同步

本文首发于 ❄️慕雪的寒舍 文章目录 1. 写在前面2. 什么是思源笔记的S3/WEBDAV同步&#xff1f;2.1. 说明2.2. 思源的同步配置和工作空间2.3. 什么是S3协议&#xff1f; 3. 配置思源S3同步3.1. 初始化数据仓库密钥3.2. 思源S3同步界面3.3. 配置七牛云KODO3.4. 如何将同步配置导…

以GD32F103C8T6为例的核心板原理图PCB绘制学习笔记简单总结

目录 GD32F103C8T6核心板 设计流程 基础知识 部分原理图解析 排针连接 (H1 - PZ254V-12-8P): 晶振 封装 基础知识 C0603封装 C0805 F1210封装 保险丝 L0603 贴片电感 LED-0603 R0603 HDR-TH_8P-P2.54-V-M-R2-C4-S2.54 排针 按键&#xff08;SW-SMD-T6X…

Python(PyTorch)物理变化可微分神经算法

&#x1f3af;要点 &#x1f3af;使用受控物理变换序列实现可训练分层物理计算 | &#x1f3af;多模机械振荡、非线性电子振荡器和光学二次谐波生成神经算法验证 | &#x1f3af;训练输入数据&#xff0c;物理系统变换产生输出和可微分数字模型估计损失的梯度 | &#x1f3af;…

Code Practice Journal | Day52_Graph03

KamaCoder 101. 孤岛的总面积 题目&#xff1a;101. 孤岛的总面积 (kamacoder.com) 题解&#xff1a;代码随想录 (programmercarl.com) solution namespace ACMModeExample {class Program{static void Main(string[] args){// 读取矩阵的行数和列数string[] dimensions Cons…

[Matsim]Matsim学习笔记-population.xml的创建

学习需求 在利用matsim实现交通模拟时&#xff0c;需要把模拟的乘客出行数据替换成自己的&#xff0c;如何进行替换呢&#xff1f; 带着这个问题&#xff0c;调研学习matsim&#xff0c;实现population.xml的生成 调研笔记 幸运的发现matsim中实现了很多的writer工具类&#xf…