一、== 和 equals() 的区别
1. == 运算符
== 运算符用于比较:
- 基本数据类型 (Primitive Types):比较的是值。
- 引用类型 (Reference Types):比较的是内存地址,即是否指向同一个对象。
2025/12/2大约 3 分钟
== 和 equals() 的区别== 运算符== 运算符用于比较:
配置类就是用来创建和管理 Bean 的类。,提前配置好一些 Bean,方便在应用中使用。直接@Autowired 注入即可。
在 Spring Boot 中,相当于以前的 XML 配置文件。
@Bean 注册 Bean。git查看配置信息
git config -list
配置 git config --global user.email "内容"
git config --global user.name "内容"
vscode使用github
GitHub Pull Requests插件
按 Ctrl+Shift+P 输入 GitHub,发布到github,选择浏览器授权
连接上github
ssh连接(推荐)
Git 是一个 分布式版本控制系统,用于:
核心理念:
👉 每个人都是一个完整仓库,分布式,安全快速。
Git 有三大区域:
| 区域 | 作用 |
|---|---|
| 工作区(Working Directory) | 你能看到并编辑的文件 |
| 暂存区(Staging Area) | 计划提交的文件 |
| 本地仓库(Local Repository) | 你的本地提交历史 |
| 远程仓库(Remote Repository) | GitHub / Gitee 上的仓库 |
Map 是 键值对 key–value 的映射结构。
特点:
简单例子:
Map<String, Integer> map = new HashMap<>();
map.put(key, value) // 添加或覆盖
map.get(key) // 获取 value
map.containsKey(key) // 是否存在 key
map.remove(key) // 删除
map.size() // 大小
map.isEmpty() // 是否为空
本笔记将从 可变性、线程安全 和 性能 三个方面来阐述这三者之间的主要区别。
| 特性 | String | StringBuilder | StringBuffer |
|---|---|---|---|
| 可变性 | 不可变 | 可变 | 可变 |
| 线程安全 | 是 (因为不可变) | 否 (非线程安全) | 是 |
| 性能 | 较低 | 最高 | 中等 |
| 适用场景 | 少量字符串操作 | 单线程大量操作 | 多线程大量操作 |
传递的是X的副本。将X的副本值传给函数。
public static void change(int x) {
x = 100; // 修改的是 x 的副本
}
public static void main(String[] args) {
int a = 10;
change(a);
System.out.println(a); // 仍然是 10
}
数组是 固定长度、连续内存存储、相同数据类型 的数据结构。
特点:
随机访问 O(1)(可以通过 index 直接访问)
插入/删除代价高 O(n)(因为要移动元素)
适合读多写少的场景
//初始化
int[] arr;
int[] arr = {1,2,3};
int[] arr = new int[3];
//遍历
for(int i = 0;i<arr.length;i++){};
for(int a: arr){};
| 注解 | 作用位置 | 主要用途 | 数据来源 |
|---|---|---|---|
@PathVariable |
方法参数 | 获取 URL 路径中的参数 | URL 路径 |
@RequestParam |
方法参数 | 获取 URL 查询参数 | URL ? 后面 |
@RequestBody |
方法参数 | 获取请求体(如 JSON) | 请求体 |
@RequestHeader |
方法参数 | 获取请求头信息 | HTTP Header |
@CookieValue |
方法参数 | 获取 Cookie 值 | Cookie |
@ModelAttribute |
方法参数 | 绑定表单数据 | 请求参数/体 |
Knife4j是一款集Swagger 2及OpenAPI 3为一体的API文档增强工具,在Spring Boot 3中,由于Spring Boot 3仅支持OpenAPI 3规范,并且要求JDK版本至少为17,因此配置方式与旧版本有所不同。
| 注解用途 | Spring Boot 2.x (Swagger 2 注解) | Spring Boot 3.x (OpenAPI 3 注解) | 说明 |
|---|---|---|---|
| 描述Controller类 | @Api(tags = "用户接口") |
@Tag(name = "用户接口") |
用于对接口进行分组。注意:OpenAPI 3 的 @Tag 不能替换 Swagger 2 的 @Api,因为它们作用不同。 |
| 描述接口方法 | @ApiOperation("获取用户") |
@Operation(summary = "获取用户", description = "...") |
描述接口的具体信息。 |
| 描述响应 | @ApiResponse(code = 200, message = "成功") |
@ApiResponse(responseCode = "200", description = "成功") |
注意属性名从 code 变为了 responseCode。 |
| 描述请求参数 | @ApiParam("用户ID") |
@Parameter(description = "用户ID") |
用于描述 @RequestParam, @PathVariable 等参数。 |
| 描述模型(实体类) | @ApiModel("用户实体") |
@Schema(description = "用户实体") |
在类上使用。 |
| 描述模型属性 | @ApiModelProperty("用户名") |
@Schema(description = "用户名") |