自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 Bootstrap是什么?作用是什么?使用场景是什么?如何使用?

Bootstrap = 快速 + 响应式 + 组件化 + 移动优先它是前端开发的“瑞士军刀”,特别适合需要快速产出美观、兼容多端页面的场景。虽然现代前端框架(React/Vue)生态中有更灵活的 UI 库,但 Bootstrap 依然是全栈开发者、后端工程师和初学者构建 Web 界面的首选工具之一。📌一句话记住它“用 Bootstrap,一行 class 就能做出专业级按钮和布局。

2025-11-30 11:03:33 1088

原创 SpringBoot是什么?作用是什么?如何使用?使用场景?

Spring Boot 是现代 Java 开发的基石工具之一,它让开发者从繁琐的配置中解放出来,专注于业务逻辑实现。无论是构建单体应用还是微服务系统,Spring Boot 都提供了高效、简洁、可靠的解决方案。📌一句话概括:Spring Boot = Spring + 自动配置 + 内嵌服务器 + 生产就绪功能 + 快速开发体验。如果你正在使用 Java 开发后端服务,Spring Boot 几乎是当前的最佳选择。

2025-11-30 10:43:28 567

原创 什么是用例?

用例 = 谁 + 做什么 + 如何做 + 异常处理它不是代码,也不是界面设计,而是对系统行为的抽象描述,帮助团队从用户角度理解系统应该如何工作。无论是敏捷开发还是传统开发模式,用例都是需求分析阶段的重要产出物。如果你使用禅道这类项目管理工具,可以在“测试”模块中创建“测试用例”,其灵感就来源于这里的“用例”概念,只是更侧重于验证功能是否正确。

2025-08-25 13:44:21 635

原创 在mysql中,modify ,change ,rename to的作用是什么

- 将 user_age 列的数据类型从 INT 改为 TINYINT,并设置为 NOT NULL-- 修改 email 列,增加唯一约束-- 修改 status 列,使用 ENUM 类型并保留默认值MODIFY不能修改列名。-- ❌ 错误!-- 修改列名:将 user_name 改为 username,同时保持数据类型-- 修改列名并改变数据类型-- 只修改数据类型,不改列名(需要重复列名)🔁CHANGE相当于“先删后增”列,因此即使只改类型,也要写两次列名。命令作用。

2025-08-24 16:45:51 646

原创 双精度浮点型和单精度浮点型的区别

特性单精度 (float双精度 (double存储大小32 位 (4 字节)64 位 (8 字节)精度~7 位十进制有效数字~15-17 位十进制有效数字数值范围较小 (±10³⁸)极大 (±10³⁰⁸)内存使用低高计算速度通常较快(尤其在GPU)通常稍慢,但现代CPU差异小推荐用途图形、嵌入式、大数据量科学计算、金融、高精度需求✅一般建议:在没有特殊性能或内存限制的情况下,优先使用double,因为它能提供更高的精度和更广的范围,避免潜在的精度损失问题。

2025-08-21 20:59:36 1273

原创 有符号和无符号的区别

特性有符号 (Signed)无符号 (Unsigned)能否为负是否符号位最高位是符号位所有位都表示数值范围特点包含负数,正数范围较小仅非负数,正数范围更大典型用途通用计算、可能为负的值索引、计数、大小、位操作等选择使用哪种类型应基于数据的实际含义和范围需求。正确选择有助于避免溢出错误、逻辑错误,并提高代码的清晰度和效率。

2025-08-21 20:56:28 996

原创 @Valid 的作用

问题回答@Valid的作用是什么?标记参数对象需要进行数据校验(如非空、格式、范围等)它在哪一层起作用?通常在Controller 层由 Spring 自动处理Service 层加@Valid有用吗?主要是语义提示,若要生效需配合@Validated和目的是什么?防止非法数据进入业务逻辑,保障系统稳定性。

2025-08-06 10:15:05 692

原创 @Builder的作用

方式优点缺点构造函数简单参数多时难读、易错setter灵活代码啰嗦@Builder清晰、灵活、优雅、易读需要 Lombok 支持当一个类的字段比较多时,用@Builder就像从“盲填表格”升级到了“可视化配置”,既安全又舒服!

2025-08-06 09:51:14 458

原创 在java后端项目中,controller、dal、service的作用是什么?

总结来说,在一个典型的Java后端项目中,controller层处理外部请求和服务分发,service层实现业务逻辑,DAL层提供数据访问能力,VO和DO分别用于展示层的数据封装和数据持久化的对象表示,而Mapper则提供了数据库操作的具体实现。Mapper接口中的方法通常对应SQL语句,用于执行数据库的CRUD操作。在Java后端项目中,controller、dal(Data Access Layer)、service层以及带有特定后缀如VO、DO、Mapper的代码各自扮演着重要的角色。

2025-07-18 15:05:14 523

原创 @Data是什么?

Data是 Lombok 项目中的一个注解,Lombok 是一种 Java 库,它通过注解来简化代码的编写过程。使用 Lombok 可以帮助开发者减少样板代码(boilerplate code),比如 getter、setter 方法、构造函数、toString 方法等。

2025-07-10 11:55:16 573

原创 @Schema是什么?

Schema是一个用于描述数据结构的注解,通常出现在使用 OpenAPI 或者 Swagger 进行API文档生成的上下文中。它属于这些框架的一部分,用于帮助开发者定义API响应和请求体的数据模型,从而自动生成详细的API文档。

2025-07-10 11:24:44 627

原创 在Java写的管理系统中,controller、dal、service三个文件夹存放的代码的作用

controller层:负责接收外部请求,处理用户输入,调用合适的业务逻辑,并返回结果给客户端。它关注的是请求的路由和响应的组装。service层:实现了具体的业务逻辑,处理来自控制器的请求,并可能调用数据访问层来完成数据的操作。这一层是应用程序的核心,确保业务逻辑的独立性和可测试性。dal层:提供了对数据库的访问接口,隐藏了具体的数据库操作细节,使得上层可以以一种抽象的方式访问数据。这种分层设计有助于提高代码的可维护性、灵活性和可扩展性,同时也方便团队协作开发,因为每一层都有明确的责任划分。

2025-07-10 11:12:09 414

原创 @Service是什么?

Service是 Spring 框架中的一个注解,主要用于标记服务层组件(通常用于业务逻辑层),使其成为Spring容器管理的Bean。它属于Spring的 stereotype 注解之一,其他类似的注解包括@Component, 和等。

2025-07-10 10:44:21 462

原创 java中的List 和 ArrayList

List: 是一个接口,定义了一组用于操作有序集合的方法。ArrayList: 是List接口的一个实现类,基于动态数组实现,提供高效的随机访问能力。理解这两者的区别有助于更好地利用 Java 集合框架来管理和操作数据。

2025-07-10 08:33:17 425

原创 http get和http post的区别

特性GETPOST数据位置URL 参数请求体数据大小限制受限(URL长度限制)理论上没有限制(实际受服务器限制)缓存可以缓存不缓存幂等性幂等非幂等安全性较低,数据公开相对较高,数据不公开历史记录记录在浏览器历史中不记录根据具体的应用场景选择合适的 HTTP 方法非常重要。如果你只是检索数据而不打算修改服务器上的资源,那么 GET 是合适的选择;而当你需要向服务器发送数据来创建或更新资源时,则应使用 POST。

2025-07-09 17:48:54 545

原创 Java中的Bean

在 Spring 框架中,Bean 是被 Spring 容器管理的对象。一个类的实例(对象)这个对象由 Spring 来创建、配置和管理我们不需要手动 new 它,而是交给 Spring 去处理。

2025-07-09 08:33:58 685

原创 动态规划算法详解(C++)

特性动态规划(DP)贪心算法(Greedy)问题类型重叠子问题,最优子结构贪心选择性质算法策略全局优化(考虑所有子问题的解)局部优化(只关注当前最优选择)解的质量保证全局最优解不一定是全局最优解时间复杂度一般较高,通常是多项式O(n^2)或更高通常较低,O(n log n)或O(n)空间复杂度较高,通常需要存储子问题的解较低,通常只需要常数空间适用场景背包问题、最长公共子序列、最短路径等活动选择问题、最小生成树、霍夫曼编码等动态规划适用于具有重叠子问题和最优子结构。

2025-04-25 16:44:42 2717

原创 #include<bits/stdc++.h>

✅ ​​适合场景​​:算法竞赛、快速原型开发。⚠️ ​​注意事项​​:避免在正式项目中使用,注意编译器兼容性。

2025-04-15 09:53:30 1151

原创 for循环,while循环,do while循环三者的区别是什么

​**for循环**:结构紧凑,适合固定次数的迭代。​**while循环**:灵活,适合条件驱动的循环。​**do...while循环**:保证至少执行一次,但需谨慎使用。

2025-03-09 22:01:33 771

原创 顶层const和底层const

在C++中,const关键字可以用于定义常量,它主要有两种使用形式,分别是顶层const和底层const。理解这两种const的作用是掌握C++类型系统的关键。

2024-12-29 16:22:39 630

原创 函数返回数组指针

C++倾向于避免这种隐式拷贝,因为它会导致不可控的性能开销。

2024-12-27 10:08:27 1168

原创 异常处理:try-catch(详解)

中的异常处理主要依靠三个关键词:try、catch。

2024-12-22 10:54:32 1553

原创 size_t(详解)

是 C 和 C++ 中一个无符号整数类型,主要用于表示对象的大小或数组的索引。它在标准库中定义,并且其实际类型通常是。是一个专门用于表示内存大小和对象大小的类型,是C/C++中处理相关操作时的标准选择。,具体取决于平台的位数(32位或64位系统)。例如,C++ 标准库中的许多函数(如。类型,以确保返回的大小总是正值。或 unsigned long。

2024-12-17 14:43:01 405

原创 C++ 引用

引用是C++中的一种高效特性,提供了一种操作变量的便捷方式,同时避免了指针的复杂性和潜在风险。通过左值引用、常量引用和右值引用,C++实现了灵活高效的变量访问和操作方式,在参数传递、返回值优化和对象管理中发挥了重要作用。

2024-12-16 21:24:55 989

原创 形参和实参的区别

实参(实际参数)**是与函数调用相关的两个重要概念。形参与实参的交互方式,决定了它们之间是否会相互影响。形参是实参值的拷贝,修改形参不会影响实参。在编程语言中,**形参(形式参数)函数需要两个整数作为输入。

2024-12-16 14:34:11 1739

原创 列表(list)

💻示例代码💻cout <<"初始化list为:";cout <<"Reverse后的list为:";return 0;初始化list为:1 2 0 3 4 5Reverse后的list为:5 4 3 0 2 1⑧ assign()——将值赋给容器assign()方法用于将链表中的元素替换为新的元素序列。它可以接受不同形式的参数,提供了两种重载形式。第一种形式接受迭代器范围作为参数,用于将另一个容器或数组中的元素复制到链表中。它会将链表清空,并将指定范围内的元素复制到链表中。

2024-11-13 20:50:54 1456

原创 预处理、编译、汇编和链接

把一些#define的宏定义完成文本替换,然后将#include的文件里的内容复制到.cpp文件里,如果.h文件里还有.h文件,就递归展开。在预处理这一步,代码注释直接被忽略。过程将上一步的汇编代码(main.s)转换成机器码(machine code),这一步产生的文件叫做目标文件(main.o),是二进制格式。只是把我们写的代码转为汇编代码,它的工作是检查词法和语法规则,所以,如果程序没有词法或则语法错误,那么不管逻辑是怎样错误的,都不会报错。每个步骤都会生成对应的文件。才能变成可执行文件。

2024-11-09 20:55:14 382

原创 单字节字符串、宽字节字符串

在C和C++中,字符串可以根据字符编码方式划分为单字节字符串和宽字节字符串,主要用于支持不同的字符集和多语言需求。

2024-11-06 11:06:58 340

原创 C++虚函数(详解)

在基类中使用virtual关键字修饰的成员函数称为虚函数。虚函数是 C++ 中实现多态性的重要机制,它允许在派生类中重写基类中的函数。虚函数的核心特性在于,它使得通过基类指针或引用调用函数时,可以根据实际对象的类型选择相应的函数实现。

2024-10-31 15:27:37 5469

原创 #include <typeinfo>

头文件的作用是支持在 C++ 中使用运行时类型信息。它通过typeid操作符和type_info类提供了对象类型的识别、比较和相关信息获取功能,尤其在处理多态和动态类型时非常有用。

2024-10-31 10:27:34 357

原创 C++extern关键字(详解)

extern "C"是在 C++ 中与 C 语言代码进行链接时的关键工具,它确保函数的名称不会被 C++ 编译器进行修改,保证了 C 和 C++ 代码之间的兼容性。通常在需要混合 C 和 C++ 代码的场景中使用,特别是调用 C 标准库或其他用 C 编写的库时。

2024-10-30 17:09:42 1629 1

原创 C++模板(详解)

C++ 模板是一个强大的编程工具,它允许我们编写通用的代码,适用于多种数据类型,从而提高代码的复用性和灵活性。模板包括函数模板和类模板,能够根据不同的类型进行实例化,编译时自动生成相应的代码。模板不仅提高了编程效率,还提供了更好的类型安全性。

2024-10-23 22:02:49 1161

原创 代码解释(10.20)

保留了默认构造函数(但受保护,外部无法直接调用),允许类内部的控制方式来创建实例。:删除了拷贝构造函数,防止通过拷贝创建新实例。:删除了拷贝赋值运算符,防止通过赋值来复制对象。这三部分共同作用,确保Singleton类的实例是唯一的,符合单例模式的设计要求。

2024-10-20 21:32:37 555

原创 template <typename T>详解

提高代码的通用性和可复用性:模板使得函数和类可以接受不同类型作为参数,避免了大量的代码重复。编译期类型检查:模板代码在编译时实例化为具体的类型,确保类型安全性。简化代码维护:通过减少代码重复,维护工作只需集中在模板定义处。在泛型编程中,是一种强大的工具,它使代码更灵活、更具扩展性。

2024-10-20 21:26:01 638

原创 override

override用于确保虚函数的正确重写,避免签名不匹配问题。它能提高代码的可读性和可维护性,便于他人理解代码中的继承关系。下面通过一个具体的代码实例展示了override的使用,以及它在派生类中防止函数签名不匹配和提高代码可读性等方面的作用。

2024-09-30 09:53:07 773

原创 C++指针(超详解)

指针的定义使用符号,表示指针类型。你可以通过运算符获取变量的地址。int a = 10;//定义一个整型变量//定义一个整型指针,指向变量a的地址其中int*的作用是声明一个指向整型(int)的指针,p是指针变量,&是取地址符,所以,上述代码的意思是将整型变量a的地址用取出赋值给指针变量p。int a = 10;//打印p指向的地址空间return 0;指针数组:是一个数组,每个元素都是一个指针。示例中ptrArr是一个包含3个指针的数组。数组指针:是一个指针,它指向一个数组。示例中。

2024-09-26 17:20:11 4317

原创 C++中const(最全详细说明和使用)

C++ 中的const提供了一种强有力的机制来提高代码的安全性和可读性。它能有效防止程序中的意外修改,确保某些数据的不可变性。通过在适当的地方使用const,可以使代码更加健壮并减少错误的发生。

2024-09-24 16:06:29 596

原创 伪终端(pseudo-terminal)是什么?

伪终端在Linux/Unix系统中提供了一种灵活的机制,用于模拟终端设备,使用户、程序或远程连接工具可以通过虚拟终端与系统交互,特别是在远程会话和终端模拟器中非常重要。

2024-09-23 10:29:55 1666

原创 c++ static(详解)

在中,关键字用于定义具有的变量或方法。它在不同上下文中有不同的含义,通常与变量的存储方式和作用域相关。的主要作用是控制变量或函数的可见性和生命周期。可以通过一个生活中的场景来形象化。

2024-09-19 22:04:58 1087

原创 STL基本容器

C++标准模板库(STL)提供了多种容器,用于管理和存储数据。STL的基本容器可以分为三大类:序列式容器、关联式容器和无序关联容器。

2024-09-18 16:40:56 425

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除