自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单调栈:柱状图中最大的矩形(力扣84)

首先对于任意一根柱子i,如果它的两侧柱子都比它高则向两侧延伸形成的矩形面积绝对是变大的。所以我们只需找到左侧第一个比i小的柱子和右侧第一个比i小的柱子并记录它们的下标,那么以i柱子延伸的最大矩形面积为:(right-left-1)*heights[i]那么如何找到能作为答案的柱子i呢,很容易想到遍历。

2025-08-23 14:42:18 792

原创 TCP三次握手与四次挥手详解

在计算机网络中,是一种面向连接的、可靠的传输层协议,其连接的建立和终止过程分别对应 “三次握手” 和 “四次挥手”。这两个过程是 TCP 保证数据可靠传输的核心机制,并非 “OS 模型” 的概念(可能是对 “TCP 协议” 的表述误差)。

2025-08-21 11:12:58 813

原创 正则表达式:30秒掌握字符串匹配神器

正则表达式(Regular Expression,常简写为 regex、regexp)是一种用于描述字符串模式的特殊文本序列,主要用于字符串的匹配、查找、替换和验证等操作。它通过一些预定义的规则和特殊字符,构建出一个 "模式",然后用这个模式去匹配目标字符串中符合规则的部分。

2025-08-19 19:59:13 551

原创 GET与POST:HTTP请求方法的核心差异

场景类型推荐方法原因分析搜索、查询数据GET数据量小、无副作用,可缓存提升效率。提交表单(注册、登录)POST数据敏感、需修改服务器状态,避免 URL 泄露。上传文件、大文本POST无大小限制,支持二进制数据传输。分页、筛选数据GET参数可通过 URL 分享,方便保存 / 复用。执行删除、修改操作POST非幂等操作,需避免重复执行。GET和POST的核心区别在于数据传输方式、用途和安全性GET适合 “获取资源”,数据在 URL 中,可见、可缓存、幂等;POST。

2025-08-16 14:22:35 836

原创 全栈程序员必懂:从输入网址到页面加载的完整过程

从输入地址到页面展示,本质是 **“浏览器发起请求→服务器返回资源→浏览器渲染资源”** 的过程,涉及 DNS 解析、TCP 连接、HTTP 通信、渲染引擎等多个技术环节。每个步骤的效率都会影响最终的页面加载速度,而现代浏览器和服务器通过缓存、压缩、CDN 等技术不断优化这一流程,提升用户体验。

2025-08-15 09:39:50 1271

原创 MyBatis动态SQL实战:增删改查全解析

MyBatis 动态 SQL 标签通过简洁的 XML 语法,让我们能够轻松实现复杂的条件查询、选择性更新、批量操作等功能,极大提升了 SQL 语句的灵活性和可维护性。本文介绍的<if><where><set><foreach><choose>等标签是日常开发中最常用的工具,掌握它们的使用技巧能让我们的数据库操作代码更加优雅高效。在实际项目中,建议结合业务场景合理选择动态标签,避免过度使用导致 SQL 逻辑难以理解。同时,始终注意 SQL 注入风险和性能优化,让动态 SQL 真正成为开发效率的助力而非负担。

2025-08-14 10:47:19 1072

原创 SpringBoot+MyBatis实现MySQL表关系查询

这样就完成了在 MySQL 中三种关系的查询以及在 Spring Boot 项目中 XML 文件的配置。一对一关系中,通常在从表中添加主表的主键作为外键,并设置为唯一约束。在一对多关系中,多的一方表中添加一的一方表的主键作为外键。在 Spring Boot 项目中使用 MyBatis 时,还需要在。多对多关系需要借助中间表。查询订单及其所有订单项可以使用。查询学生及其所选课程可以使用。查询用户及其详情可以使用。两个实体类,以及对应的。是多对多关系,中间表为。

2025-08-14 10:41:48 607

原创 MySQL入门指南:从零掌握数据库核心操作

本文介绍了MySQL关系型数据库的核心概念和基本操作指南。主要内容包括:MySQL基础术语(数据库、表、列、行等);环境搭建步骤(Windows/Linux安装配置);常用SQL命令(数据库/表操作、CRUD增删改查);实用工具(MySQL Workbench等可视化客户端)和学习技巧(索引、备份、事务等)。文章提供了详细的SQL语法示例和注意事项,适合数据库初学者快速掌握MySQL的基本使用。

2025-08-13 09:10:28 1834

原创 SQL注入:黑客如何攻破你的数据库?

SQL注入是一种常见的网络攻击手段,攻击者通过向应用程序输入恶意SQL代码来操纵数据库查询,可能导致数据泄露、篡改或服务器被控制。其原理是应用程序未对用户输入进行过滤,导致恶意SQL被拼接执行。常见攻击包括绕过登录验证、窃取数据、破坏数据或提升权限。防范措施包括使用参数化查询、输入验证、最小权限原则、ORM框架、安全审计等,避免直接拼接SQL语句和暴露数据库错误信息。

2025-08-11 15:17:11 857

原创 HashMap扩容机制详解

HashMap 是 Java 中常用的哈希表实现,其扩容机制是保证哈希表性能的关键。当 HashMap 中的元素数量达到一定阈值时,会触发扩容操作,以减少哈希冲突,提高操作效率。

2025-08-08 09:13:46 779

原创 MySQL常用函数全解析

摘要:MySQL提供多种函数用于数据处理,主要包括:1)字符串函数(CONCAT拼接、LENGTH长度计算等);2)数值函数(ABS绝对值、ROUND四舍五入等);3)日期函数(NOW当前时间、DATEDIFF日期差等);4)聚合函数(COUNT计数、SUM求和等);5)条件函数(IF条件判断、CASE多条件分支);6)其他实用函数(NULLIF、COALESCE等)。这些函数可执行字符串操作、数学计算、日期处理、数据聚合和条件判断等任务,是SQL查询中的重要工具。

2025-08-05 11:04:19 159

原创 四种数据库操作类型

MySQL数据库操作分为四大类:DDL(数据定义语言)用于创建和修改数据库结构(CREATE/ALTER/DROP/TRUNCATE);DML(数据操纵语言)负责数据增删改(INSERT/UPDATE/DELETE);DQL(数据查询语言)专用于数据查询(SELECT);DCL(数据控制语言)管理访问权限(GRANT)。DDL自动提交不可回滚,DML需手动提交可回滚,DQL仅读取数据,DCL确保数据安全。

2025-08-01 21:44:40 318

原创 Java中==与equal的区别

Java中==和equals()的区别:==用于比较基本数据类型的值或引用类型的内存地址;equals()默认比较地址,但可被重写为比较对象内容(如String类)。基本类型用==,对象比较内容用equals()(需注意重写和空指针问题),推荐使用Objects.equals()避免空指针。

2025-08-01 14:57:24 376

原创 什么是哈希冲突

在哈希表(Hash Table)中,哈希函数的作用是将输入的键(Key)映射到哈希表中的一个索引位置,以便快速访问数据。(Hash Collision)指的是:两个不同的键经过哈希函数计算后,得到了相同的哈希值(即映射到了哈希表中的同一个索引位置)。

2025-08-01 09:16:20 382

原创 ArrayList集合自动扩容机制与原理

ArrayList的自动扩容机制详解:通过Object数组存储元素,默认初始容量10。当数组满时触发扩容,采用1.5倍增长策略(如10→15→22)。扩容时创建新数组并复制元素,涉及时间O(n)和空间成本。优化建议:预估数据量指定初始容量,减少扩容次数。该机制平衡了存储灵活性和性能开销,是ArrayList动态扩展的核心原理。

2025-07-30 17:04:15 629 1

空空如也

空空如也

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

TA关注的人

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