自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot 教程 IDEA 版

SpringBoot 是基于 Spring 框架的快速开发脚手架,核心目标是简化 Spring 应用的初始搭建与开发过程,实现「零 XML 配置、一键启动、内置服务器」。微服务是一种分布式架构风格,将单体应用按业务领域拆分为多个独立、自治的小型服务,每个服务独立部署、独立运维,通过 HTTP/RPC 等协议通信协作。YAML(YAML Ain’t Markup Language)是人性化的序列化语言,相比 properties 文件,支持层级结构、注释、数据类型,更适合复杂配置。适用场景:加载自定义。

2026-04-10 17:42:53 452

原创 Vue 从入门到实战笔记

Axios 是Promise 风格的 HTTP 客户端,是 Vue 官方推荐的异步请求库,用于前端向后端 SSM 接口发起请求、获取 JSON 数据,实现前后端分离。计算属性(computed)是 Vue 中基于依赖缓存的属性,用于处理复杂的逻辑计算,避免在模板中编写大量表达式,提升性能和可维护性。插槽(slot)是 Vue 实现组件内容分发的核心机制,让组件的 HTML 结构可自定义,提升组件的复用性和灵活性。自定义事件是 Vue 实现子组件向父组件传值的核心机制:子组件通过$emit。

2026-04-09 21:38:53 359

原创 SSM 整合实战—— IDEA 版

交给 Spring 容器管理,管理 Service 层 Bean,配置声明式事务,实现。,实现数据库底层交互,为 Spring 整合做准备。搭建 MyBatis 基础环境,编写。,是整个 Web 项目的入口控制层。将 MyBatis 的核心组件(SpringMVC 负责。

2026-04-09 21:27:07 234

原创 SpringMVC 入门核心笔记

MVC 是一种软件架构设计模式,将应用程序分为 3 个核心层级,实现「关注点分离」,降低耦合度,提升可维护性。Servlet 是 Java EE 规范的核心组件,是运行在 Web 服务器(如 Tomcat)上的 Java 程序,用于处理 Web 请求、生成动态响应,是 SpringMVC 的底层基础。SpringMVC 是 Spring 生态的Web 层框架,是 Spring 对 Servlet 的封装,实现了 MVC 架构,用于处理 Web 请求、响应,是 Java 后端 Web 开发的主流框架。

2026-04-09 21:15:37 345

原创 Spring 入门核心笔记

Spring 是由 Rod Johnson 创建的开源 Java 企业级开发框架,核心目标是简化 Java 开发,解决传统 EJB 开发的笨重、耦合度高的问题,是 Java 后端生态的基石。IOC(Inversion of Control,控制反转)是 Spring 的核心思想,将对象的创建权、依赖管理权从代码中反转给 Spring 容器,由容器负责对象的实例化、初始化、依赖注入和生命周期管理。DI(Dependency Injection,依赖注入)是 IOC 的具体实现,

2026-04-09 18:50:10 439

原创 MyBatis 从入门到精通

⚠️核心结论线程安全,可全局共享SqlSession非线程安全,每次请求都要新建Mapper线程安全,无状态(仅封装方法)定义ResultMap标签,手动指定字段与属性的映射关系,支持高级映射(如关联对象、集合)。xml--id:唯一标识type:映射的实体类全类名-->-- 主键字段:id 与数据库主键一致 -->-- 普通字段:property 为实体类属性,column 为数据库字段 -->-- 使用 ResultMap:resultMap 属性引用 id -->

2026-04-09 15:36:07 327

原创 JavaWeb入门

JavaWeb 是指用 Java 技术来解决相关 web 互联网领域的技术栈,核心是基于 Java 语言开发 Web 应用程序,实现前后端交互、服务端逻辑处理等功能。Web 应用本质:运行在服务器端,为浏览器(客户端)提供服务的程序,用户通过浏览器访问,实现数据交互、业务处理等功能。核心组成:JavaWeb = JavaSE(基础语法、面向对象等) + Web 相关技术(Servlet、JSP、Tomcat、HTTP 等)应用场景。

2026-04-09 15:09:13 496

原创 MySQL 从入门到精通全章节学习笔记

数据库(Database,DB)是长期存储在计算机内、有组织、可共享的大量数据的集合,用于管理和维护数据。MySQL 是开源的关系型数据库管理系统(RDBMS)开源免费,社区活跃;跨平台,支持 Windows、Linux;轻量,性能稳定;广泛应用于 Web 开发(如 LAMP/LNMP 架构)。SqlYog 是MySQL 可视化管理工具,图形界面替代命令行,简化数据库操作,是开发必备。子查询(嵌套查询)是指在一个SELECT语句中嵌套另一个SELECT。

2026-04-08 11:33:05 363

原创 JavaScript 入门全章节学习笔记

(二者等价,推荐统一风格)hello ${变量}`;`,支持换行、变量插值let name = '张三';let info = \`姓名:${name}\`;// 姓名:张三表示长度为 3 的空数组)字面量方式(推荐):name: '张三', // 属性:键值对age: 18,sayHello: function() { // 方法构造函数方式:obj.name = '张三';jQuery 是一个快速、简洁的 JavaScript 库。

2026-04-08 11:07:12 287

原创 CSS 入门到精通全章节学习笔记(含 CSS3 核心特性)

CSS(Cascading Style Sheets,层叠样式表)是用来美化网页、控制网页布局的样式语言,HTML 负责网页结构,CSS 负责网页的 “外观与展示”,二者结合才能实现美观、交互友好的前端页面。核心定义:层叠样式表,通过样式规则定义 HTML 元素的显示效果(如颜色、尺寸、位置、字体等)。发展历程CSS1.0(1996):推出基础样式规范,涵盖字体、颜色、文本等基础属性;CSS2.0(1998):新增盒模型、定位、浮动等核心布局属性,成为网页布局的基础;

2026-04-08 10:47:53 387

原创 HTML5 入门到精通全章节学习笔记

HTML 是网页的结构骨架,核心是标签,通过标签定义页面内容→<html>→<head>(元信息)+<body>(可见内容)常用标签分类:<div><span>、语义化标签文本标签:标题、段落、格式化标签<img>、``、<video><a><ul><ol><dl><table><form><input><select><textarea>核心概念:块级元素 / 行内元素、路径、表单提交、语义化。

2026-04-08 10:34:15 397

原创 JVM 全体系深度解析笔记

JVM(Java Virtual Machine)是运行在操作系统之上的软件模拟计算机,负责加载、执行 Java 字节码,实现跨平台(一次编写,到处运行)。它屏蔽了底层系统差异,提供自动内存管理(GC)和安全沙箱机制。OOM 是内存溢出错误,指 JVM 在申请内存时,没有足够的空闲内存可用,且垃圾回收无法释放更多内存,导致程序崩溃。核心特征:JVM 堆内存耗尽、方法区耗尽、直接内存耗尽等。栈溢出是线程请求的栈深度超过了虚拟机允许的最大深度,通常由无限递归或方法调用链过长导致。核心区别:OOM 是。

2026-04-08 10:24:00 399

原创 Spring 核心容器从入门到精通

Spring 是 Java 生态中最主流的开源轻量级应用框架,由 Rod Johnson 于 2003 年推出,核心目标是简化 Java 企业级开发,解决传统 EJB 开发的笨重、复杂问题。IoC 是 Spring 的核心思想,指将对象的创建、依赖管理的控制权,从代码中反转给 Spring 容器。传统开发中,对象由开发者手动new创建,依赖手动管理;IoC 中,对象由 Spring 容器创建、管理,开发者仅需从容器获取对象。DI 是 IoC 的具体实现方式,指。

2026-04-07 17:23:34 366

原创 Java 注解与反射从入门到精通

注解(Annotation)是 Java 5 引入的元数据,是一种用于给代码添加「说明、标记、配置」的特殊注释,不会影响程序运行逻辑,但可以在编译、运行时被读取,用于实现配置、校验、生成代码等功能。Java 官方提供的、无需额外导入即可使用的注解,位于java.lang包下,是最基础的注解。元注解是用于「注解注解」的注解,作用是定义自定义注解的属性(如作用范围、生命周期),位于包下。使用@interface关键字定义自定义注解,本质是自动继承Annotation接口。使用@interface定义注解。

2026-04-07 15:49:04 322

原创 Java 多线程从入门到精通

多线程是指在一个程序中同时运行多个线程,每个线程执行不同的任务。线程是进程内的执行单元,一个进程可以包含多个线程,共享进程的内存资源(如堆内存、文件句柄等)。多线程同时操作共享资源时,因线程执行的随机性(CPU 时间片切换),导致数据结果不符合预期,即并发安全问题。静态代理是代理模式的基础实现,指在编译期就确定代理关系,由代理类完全代理真实对象的行为,在不修改真实对象代码的前提下,对方法进行增强。Lambda 表达式是 Java 8 引入的函数式编程特性,用于简化只有一个抽象方法的接口(函数式接口)

2026-04-07 11:36:34 356

原创 Java 网络编程实战

IP 地址是网络中主机的唯一逻辑标识,用于区分不同设备,让数据能精准送达目标主机。端口是设备与网络软件交互的逻辑接口,是 TCP/IP 协议中用于区分进程的标识,范围 0-65535。通信协议是设备间数据传输的规则集合,规定了数据的格式、传输方式、错误处理等,是网络通信的 “语言标准”。Tomcat 是 Apache 基金会开发的开源轻量级 Web 服务器,支持运行 Java Servlet、JSP 等 Java Web 应用,是 Java Web 开发的核心工具。

2026-04-07 11:09:47 261

原创 JavaSE 核心总结

本文梳理了 JavaSE 七大核心模块的关键知识点,常用类是开发基础,集合框架是数据处理核心,IO 流是数据读写关键,多线程是并发编程核心,网络编程是网络通信基础,GUI适用于桌面开发,注解与反射是高级特性与框架底层支撑。

2026-03-31 17:31:03 310

原创 面向对象和异常

核心思想:以 “对象” 为核心,将数据和操作数据的方法封装在一起,模拟现实世界的事物。面向过程 vs 面向对象面向过程:以 “步骤” 为核心,关注 “怎么做”,适合简单逻辑。面向对象:以 “对象” 为核心,关注 “谁来做”,适合复杂、可扩展的系统。三大特征:封装、继承、多态(后续详细讲解)。类与对象类:抽象的模板,定义对象的属性和行为(如 “人类”)。对象:类的具体实例,是类的具象化(如 “张三”)。回顾方法定义修饰符 返回值类型 方法名(参数列表) {// 方法体。

2026-03-31 17:22:01 301

原创 java数组

定义:相同类型数据的有序集合,在内存中开辟连续空间存储数据。特点长度固定:数组一旦创建,长度不可改变。类型统一:所有元素类型必须相同。有序性:元素通过索引(下标)访问,索引从 0 开始。用途:存储批量数据,便于遍历和操作。

2026-03-31 17:19:19 324

原创 java方法

定义:一段可复用的代码块,用于完成特定功能,封装逻辑,提高代码复用性和可读性。本质:Java 中方法是类的成员,属于对象 / 类,是程序的基本执行单元。优点:避免代码冗余,便于维护和修改,实现模块化开发。方法定义语法修饰符 返回值类型 方法名(参数类型 参数名, ...) {// 方法体return 返回值;// 无返回值时返回值类型为void,省略return修饰符:如publicprivatestatic等,控制方法的访问权限和生命周期。返回值类型。

2026-03-31 17:16:08 372

原创 Java流程控制

【代码】Java流程控制。

2026-03-31 17:12:57 312

原创 java基础

定义:使用package关键字声明包,必须放在 Java 文件的第一行(注释除外);命名规范:遵循小写字母 + 公司域名倒序原则,避免使用关键字,如;示例// 声明当前类所属包。

2026-03-30 21:19:58 325

原创 Java入门

想写 Java 代码 → 装 JDK​想跑别人写好的 Java 程序 → 装 JREJVM 是让 Java 程序能跨平台跑起来的“翻译官”.java 源码 →( javac 编译)→ .class 字节码 →(类加载器加载+校验器检查)→ JVM 内存 →(解释器/JIT 翻译)→ 操作系统运行 → 输出结果在 Java 中,标识符是给类、接口、方法、变量、常量、包等起的名字。简单说:只要是你自己命名的东西,都叫标识符。标识符:自己起的名字,遵守规则 + 规范​。

2026-03-30 15:58:26 302

原创 2025ICPC新疆维吾尔自治区

给定两个整数 a 和 b,你可以执行以下操作,给定成本:将 a 增加 1 的成本为 X。将 b 增加 1 的成本为 Y。你有一个总预算 P。确定在总成本不超过 P 的情况下,可以得到多少个不同的 a×b 的值。

2026-03-30 10:43:55 183

原创 常见报错点

2.定义整型变量类型错误:有时题目给出的数据(比如1e6)可能可以用int来定义,但是在运行过程中会涉及这些数据的加减乘除运算,1.数组开的过大:有时候题目没有明确指出范围或者给的范围比较模糊,这时候可以先输入变量,假设是n,再去定义数组a[n]3.使用max函数时,注意参数类型必须相同,要是int都是int,要是long long都是long long。

2026-03-30 10:43:27 20

原创 刷题时的学习笔记

⑴顺序执行: if 和 else if 语句是顺序执行的。⑸else 的位置: else 语句是可选的,并且必须放在所有 if 和 else if 语句之后。一旦某个条件为真,其后的代码块将被执行,而其他的 else if 或 else 代码块将被跳过。每个 if 语句都是独立的,它们之间没有直接的逻辑联系,程序会按照代码的顺序依次检查每个 if 语句的条件。⑷没有 else if 也能工作:你可以只使用 if 而不使用 else if ,或者使用多个 else if 而不使用 else。

2026-03-30 10:43:11 219

原创 暑假训练七

给定正整数a, b, l,求有多少种满足,其中 x, y ≥ 0。

2025-07-19 22:09:06 474

原创 暑期训练8

判断是否存在一个长度为n的数组a,使得p[i]是a[0..i]的前缀 GCDs[i]是a[i..n-1]的后缀 GCD。

2025-07-19 21:09:11 1052

原创 C++ 比较器(Comparator)超详细笔记

定义:一个二元函数(或函数对象),接收两个元素a, b,返回bool。作用:告诉排序算法“谁应该排在前面”。调用场景std::sortstd::set等。

2025-07-19 16:21:28 602

原创 暑期训练六

代码通过计算数字的基础位数和末尾 0 的数量,模拟 Anna 和 Sasha 对 “末尾 0 位数” 的最优取舍,最终通过总位数是否达标判断胜负。核心是用大根堆实现对。

2025-07-17 11:47:09 564

原创 模拟螺旋矩阵的遍历过程——黑客帝国

Neo 被困在了 Matrix(一个 n×n 的矩阵)中央,他知道如果想从矩阵中出来的话,必须沿着一定的规律走出矩阵,而这个规律就是旋螺线!Neo 的初始方向为 '→',当他发现右手边的方格没有走过时,他会选择顺时针旋转 90°,然后走向那个没有走过的方格。现在需要你输出每个方格被遍历到的顺序,从 0 开始计数。

2025-07-17 10:42:03 247

原创 基于栈的级联合并模拟

核心逻辑: 当新元素与栈顶相等时,触发合并 每次合并后的值可能引发新的合并(如样例中的 → → ) 时间复杂度:单次合并操作平均为 O (1),最坏情况下为 O (m)(m 为轨道长度) 3. 容量控制与游戏终止条件:《2048》是一款比较流行的数字游戏,原始的游戏规则是在网格上移动平铺并将相同的数字合并为一个。每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢、

2025-07-11 10:36:59 534

原创 哈希表(unordered_map)例题

然后是 q 次查询,每次查询给出一个用户名,一个 IPv4 地址以及此次登录使用的私钥,要求你判断该 IPv4 地址对应的主机上的用户,是否拥有这个私钥对应的公钥。每个用户有仅属于自己的一些公钥。然后是 k 行,每行包含一个字符串 user ,一个整数 t (1 ≤ t ≤ 10) 和 t 个字符串,表示一个用户的用户名,公钥数量,以及公钥。对于每次查询,输出一行,如果该用户名对应的用户在该 IPv4 地址对应的主机上,并且拥有这个私钥对应的公钥,输出 Yes,否则输出 No。

2025-07-10 10:24:11 475

原创 codeforces round 920

那么我们想到可以满足的条件,首先每个数组中要有至少k/2个不同的1~k间的元素,其次这些元素放在一起要正好能组合出一个1~k的排列。这是一道通过字符串追踪数组还原原始字符串的问题,字符c在i处的踪迹,实际上就是在i之前出现的次数。那么对于当前两个数组也可以用类似的方法做,在此题中,就是距离a[i]差值最大的元素有b[n-i+1]和b[m-i+1],注意此时数组下标从1 开始。例如,字符串 "abracadabra" 的追踪数组是:[0,0,0,1,0,2,0,3,1,1,4]。如果有多个解,输出任意一个。

2025-07-09 11:58:23 955

原创 萌新赛第(一)场

本题要找的是隐藏房间的格子的数量,题目说明一个墙壁格子在满足以下所有情况时可能会是隐藏房间,因此只要判断矩阵中的墙壁即字符‘0’是否满足题目条件即可,而且观察本题示例的输入,明显一行中的数与数之间没有空格,因此我们必须要把矩阵map数组定义为字符型,才能直接输入map[i][j],不能定义为整型,进行直接输入。本题我是输入m,n之后定义的数组map[n][m],这样就需要检查数组是否越界,但如果是直接定义的map[1005][1005],就无需检查边界,仅依赖于数组的额外空间即可。如果不存在,输出NO。

2025-07-08 20:06:10 428

原创 2025暑期训练三

注意用a[n]定义数组,且从1开始索引的时候,要定义为a[n+1],因为数组默认从0开始索引,a[n]中的n代表数组元素个数。

2025-07-05 11:08:49 368

原创 萌新赛练习

题目是在两种操作里任选一种执行最多一次,并且操作可以针对数组里的任意元素,即选一种操作,可执行,也可以不执行,若执行,也最多只能执行一次,显而易见的是肯定是在最大元素乘以n和最大元素加n,里面挑选一个最大值进行数组的累加,但最后评测的时候有一个样例没有通过,说明我们考虑的不全面,所以在这里我们需要遍历所有可能的情况,选出最终的最大值。

2025-07-04 20:49:48 602

原创 贪心专题练习

小,一般情况下分割成两部分双向移动最左端和最右端距离会更近,但有时同向移动比双向移动更近,通向移动后左右两端的距离不变,因此,在这里用初始时两端的距离来初始化res,如果采用分割的方式,会出现比res更小的值,则更新,否则就说明此时,同向更优,无需更新。我们需要计算这种分组下,移动后牛群的最左位置和最右位置。个单位(向左或向右),目标是使移动后最左和最右牛的距离最小。输入的都是合法的括号,即左括号=右括号,可利用这一点去解题。牛群有两种移动方向(这里只分析最优策略)

2025-07-03 20:13:54 361

原创 2025—暑期训练一

使用变量(n,m)定义数组的大小。使用。

2025-07-03 16:05:55 632

原创 codeforces round 1034(div. 3)

只有当a[i]是某个前缀的最小值或者某个后缀的最大值时才可以通过一系列操作将数组转换为 a[i​],对应的输出1,否则输出0。

2025-07-03 10:48:07 759

空空如也

空空如也

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

TA关注的人

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