常用方法 Add 添加单个元素Remove 删除单个元素RemoveAt 根据下标删除元素RemoveRange 根据下标去移除一定范围的元素Clear 清所有元素Sort 升序排列Reverse 反转 示例代码 using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
2024-11-21一. 深度剖析 准备: 先给VS安装一个插件ILSpy,这样更容易反编译代码进行查看,另外要注意反编译async和await的时候,要把C#代码版本改为4.0哦。 1.什么是状态机 (1).含义:通常我们所说的状态机(State Machine)指的是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型,可以理解成一个状态转换图。(状态机是计算机科学的重要基础概念之一,也可以说是一种总结归纳问题的思想,应用范围非常广泛) (2).例子:自动门有两个状态,open 和 close
2024-11-21引言 在Spring框架中,@RequestBody注解通常用于接收HTTP请求体中的JSON或XML数据,并将其转换为Java对象。然而,有时候我们可能需要在一个请求中传递多个不同类型的对象。本文将介绍如何利用Spring的@RequestBody实现这一需求的技巧。 @RequestBody 主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。 示
2024-11-21先上DO代码: @Data @TableName("dict") public class DictDo { @TableId(type=IdType.AUTO) private String id; @TableField("`key`") private String key; private String value; private String memo; } 此处使用了lombok,自动生成对象方法(此处是否与我们的思想有异曲同工之妙呢)! 使用原生的查询条件拼装: p
2024-11-21什么是代理? 顾名思义,代替某个对象去处理一些问题,谓之代理,那么何为动态?即让JVM虚拟机去完成而非程序员去完成(与静态对比),连起来就是让虚拟机去动态的创建一个对象去代替另一个对象完成某些业务需求; 呢么其中就涉及到了两个对象,代理类和目标类;代理类又被前辈归纳成代理模式,下面看代理模式; 代理模式 代理模式是GoF23种设计模式之一。属于结构型设计模式。 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个
2024-11-21前言 HashMap 是我们平时工作中经常会用到的一个类,网上也有很多关于此类源码的文章,想要吃透一个源码,理解其中的含义并不容易,本文主要是对 HashMap 中的方法进行一个源码解读,从我们最常用的方法入手,由浅入深逐步窥探到整个核心。 HashMap 介绍 在看源码之前首先要介绍一下 HashMap,HashMap 是一个用于存放键值对的数据结构,在 jdk1.8 时候,它的底层实现的数据结构是数组 + 链表 + 红黑树,当链表长度大于 8 时,链表会转换成红黑树。转换成红黑树的原因是当链
2024-11-21spring框架(容器) spring简介 1、Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 2、Spring是一个轻量级的``控制反转(IoC)和面向切面(AOP)的容器框架```。 3、轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对
2024-11-21二维数组是一个数组的数组,它在程序中通常被用于表示矩阵或表格数据。每个元素在一个二维数组中由两个索引值确定,一个表示行,另一个表示列。以下是关于二维数组的一些基本概念和示例: 声明和初始化二维数组: 您可以使用以下方式声明和初始化一个二维数组: // 声明一个3x3的整数二维数组 int[][] matrix = new int[3][3]; // 初始化二维数组的值 matrix[0][0] = 1; matrix[0][1] = 2; matrix[0][2] = 3; // ... 以此
2024-11-21开发环境 Windows 10 Rust 1.60.0 VS Code 1.67.2 项目工程 这里继续沿用上次工程-demo 基础概念 当你编写大型程序时,组织你的代码将是重要的,因为在你的头脑中保持整个程序的轨迹将变得不可能。通过对相关的功能进行分组,并将代码与不同的功能分开,您将清楚在哪里可以找到实现特定功能的代码,以及在哪里可以更改功能的工作方式。 到目前为止,我们编写的程序都在一个文件的一个模块中。随着项目的增长,您可以通过将代码分成多个模块和多个文件来组织代
2024-11-21release profile: 是预定义的 可自定义:可使用不同的配置,对代码编译拥有更多的控制 每个profile的配置都独立于其他的profile cargo主要的两个profile: —dev profile:适用于开发 cargo build —release profile:适用于发布 cargo build --release #通常情况下进行如下设置 [profile.dev] opt-level = 0 [profile.release] opt-level = 3 发布cr
2024-11-21