- 博客(54)
- 收藏
- 关注
原创 每日算法Day14【删除二叉搜索树中的节点、修剪二叉搜索树、将有序数组转换为二叉搜索树、把二叉搜索树转换为累加树】
每日算法练习思路记录,力扣二叉树,搜索树部分算法题。
2025-01-10 21:02:03
489
原创 每日算法Day13【二叉树的最近公共祖先、二叉搜索树的最近公共祖先、二叉搜索树中的插入操作】
每日算法练习思路记录,力扣二叉树、搜索树部分算法题。
2025-01-01 20:11:10
360
原创 每日算法Day08【删除字符串中的所有相邻重复项、逆波兰表达式求值、滑动窗口最大值、前 K 个高频元素】
每日算法练习思路记录,力扣栈与队列部分算法题。
2024-12-17 20:57:52
363
原创 【项目实战】使用 MyBatis Plus 、MybatisX 代码生成工具,自定义 SQL 查询数据的项目实战
本文以高校办事大厅数据分析大屏项目为例,介绍了使用 MyBatis Plus 自定义 SQL 查询数据库数据的方法。首先阐述了项目背景和技术选型,接着详细讲解了具体实现步骤,包括使用 MyBatisX 代码生成工具、Mapper 层定义查询方法、XML 文件中定义 SQL 语句以及 Service 层实现业务逻辑。最后总结了使用 MyBatis Plus 自定义 SQL 查询的优势,强调其在提高开发效率、保证代码可读性和可维护性方面的作用。
2024-10-14 17:52:26
831
原创 【Java】并发编程基础 —— 进程、线程、并行与并发及相关方法示例
本文主要介绍了 Java 并发编程中的进程与线程概念、并行与并发的区别以及 Java 线程的相关知识,并通过大量示例代码进行说明。包括进程和线程的定义、对比,并行与并发在不同场景下的体现,Java 线程的创建和运行方法(如直接使用 Thread 类、使用 Runnable 配合 Thread、使用 FutureTask 配合 Thread),线程的状态、常用方法(如 start、run、join、sleep、yield 等),以及共享模型之管程中共享资源带来的问题(临界区和竞态条件)等内容。
2024-10-09 17:35:53
1168
原创 【React】入门Day05 —— 知识点总结:useReducer、性能优化(涉及useMemo、React.memo、useCallback)、组件通信及zustand状态管理
本文详细介绍了 React 的多个重要知识点。首先阐述了 useReducer 的基础使用、更新流程以及分派 action 传参的方法。接着探讨了渲染性能优化,包括 useMemo 的缓存计算结果作用及使用场景、React.memo 允许组件在 props 未变时跳过重新渲染的机制以及 useCallback 缓存回调函数的功能及应用场景。
2024-10-06 10:49:52
1317
原创 【React】入门Day04 —— 项目搭建及登录与表单校验、token 管理、路由鉴权实现
本文详细介绍了一个 React 项目的搭建过程以及登录模块、Layout 模块等功能模块的实现方式,包括项目结构调整、使用的技术(如 scss 预处理器、antd 组件库、react-router-dom 等)以及各个模块中涉及的关键知识点(如表单校验、token 管理、路由鉴权等),并为每个知识点提供了示例代码。
2024-10-04 17:00:22
1504
原创 【React】入门Day03 —— Redux 与 React Router 核心概念及应用实例详解
文章介绍了 Redux 和 React Router 的相关知识。Redux 部分涵盖概念、使用原因,以及在 React 中的应用,包括环境准备、计数器实现、提交 action 传参、异步 action 处理等。React Router 部分包括前端路由概念、开发环境创建、路由模块抽象、导航方式、导航传参、嵌套路由配置和路由模式等内容,每个知识点都配有示例代码。
2024-10-02 22:50:31
2573
原创 【微信小程序前端开发】入门Day03 —— 页面导航、事件、生命周期、WXS 脚本及自定义组件
本文详细介绍了小程序开发中的多个关键知识点,包括页面导航(声明式和编程式导航及传参)、页面事件(下拉刷新和上拉触底)、生命周期(应用和页面生命周期函数)、WXS 脚本(概述、基础语法和特点)以及自定义组件(创建、引用、样式、数据、监听器、生命周期、插槽和父子通信等)
2024-10-02 16:46:14
2882
原创 【React】入门Day02 —— 表单控制、组件通信、副作用管理与自定义 Hook
本文深入探讨了 React 的多个核心知识点,包括表单控制、组件通信、副作用管理、自定义 Hook 以及 Hooks 使用规则,并结合案例进行了详细阐述。
2024-10-01 20:10:46
1664
原创 【微信小程序开发】入门Day2 —— 从视图逻辑到配置请求全方位解析
本文详细介绍了微信小程序开发中的多个关键要点,包括 WXML 模板语法、WXSS 模板样式、配置文件、网络数据请求、页面导航、页面事件、生命周期以及 WXS 脚本。
2024-10-01 16:35:50
1504
原创 【React】入门Day01 —— 从基础概念到实战应用
本文介绍了 React 的基础知识,包括其优势、开发环境创建、JSX 基础、事件绑定、组件使用、状态管理、样式处理以及一个 B 站评论案例。React 具有组件化、性能好、生态丰富等优势。通过 create-react-app 创建环境,介绍了 JSX 的概念、本质和高频场景。阐述了事件绑定的多种方式,组件的定义和使用,useState 进行状态管理的方法,样式处理的两种方式,并详细讲解了 B 站评论案例中评论列表渲染、删除、导航 Tab 操作和排序等功能的实现。
2024-09-30 22:38:46
1610
原创 【微信小程序前端开发】入门Day01 —— 小程序页面组成、组件使用及协同开发发布指南
本文介绍了小程序的相关知识,包括页面组成、组件使用以及协同开发和发布。小程序页面由.js、.json、.wxml 和.wxss 文件组成。常见组件有视图容器类、基础内容类和其他类,如 view、text、button 和 image 等,并介绍了它们的使用方法。
2024-09-30 22:23:31
1312
原创 【MySQL】查询原理 —— B+树查询数据全过程
本文主要阐述了 B + 树作为索引结构的原因及其与 B 树的区别。B + 树是一种自平衡树,在插入和删除操作时节点的分裂和合并能保持树的平衡,且冗余节点使删除时树结构变化小、效率高。它是多叉树,非叶子节点仅保存主键或索引值与页面指针,一页可容纳更多记录,内存中能存放更多索引从而减少查询磁盘 I/O 次数。
2024-09-29 23:14:25
1355
原创 【Spring】Bean 的生命周期:从实例化到销毁
本文深入探讨了 Spring Bean 的生命周期。首先,Bean 的实例化是通过反射依据 @Component、@Bean 或者 XML 中的元素配置来创建。接着在属性赋值阶段,实例化完成后的依赖注入可通过多种方式进行,如构造函数、setter 方法或直接字段注入。
2024-09-29 23:10:16
521
原创 【Java】内存分析 —— 栈内存、堆内存与垃圾对象的形成
本文主要进行 Java 的内存分析,重点阐述栈内存和堆内存的使用情况以及垃圾对象的形成。
2024-09-28 23:21:45
574
原创 【 Java 】工具类 —— Collections 与 Arrays 的实用操作全解析
本文主要介绍了 Java 中的 Collections 和 Arrays 工具类的相关操作。
2024-09-28 23:17:49
796
原创 【Java】常量类型 —— 整型、浮点型、字符型、字符串型、布尔型与 null 常量全解析
本博客详细介绍了 Java 中的常量类型。首先阐述整型常量,包括二进制(以 0b 或 0B 开头)、八进制(以 0 开头)、十进制(由 0 - 9 组成,第一位非 0,0 除外)、十六进制(以 0x 或 0X 开头)这四种表示形式。接着讲述浮点数常量,分为单精度(以 F 或 f 结尾)和双精度(以 D 或 d 结尾,也可无后缀默认为双精度),还可通过指数形式表示。然后说明字符常量是用单引号引起来的单个字符,可以是字母、数字、标点或转义序列表示的特殊字符。
2024-09-27 22:52:18
797
原创 【Java】类型转换 —— 自动转换、强制转换与表达式类型自动提升
本博客主要讲解 Java 中的类型转换相关知识。首先将自动类型转换类比为小瓶水倒入大瓶的过程,即取值范围小的数据类型变量值赋给取值范围大的数据类型变量时不会出现问题。
2024-09-27 22:48:08
622
原创 【Java】字符串处理 —— String、StringBuffer 与 StringBuilder
深入探讨了 Java 中的字符串处理。首先介绍了 String 类,由于其是 final 类型,创建后的内容和长度不可改变,若需修改只能创建新字符串。详细阐述了 String 类的常用构造方法和常见操作,包括基本操作、转换操作、替换和去除空格操作、判断操作以及截取和分割操作,并强调了 “==” 和 equals () 方法对字符串比较的区别。
2024-09-26 22:48:54
1267
原创 【Java】异常处理 —— Throwable 及其应用
详细介绍了 Error 类表示的系统内部错误,以及 Exception 类及其子类所代表的异常情况,包括编译时异常和运行时异常的区分。阐述了处理编译时异常的两种方式,即 try…catch 语句捕获处理和使用 throws 关键字声明抛出异常。重点讲解了 try…catch 和 finally 代码块的作用及注意事项,还对比了 throw 和 throws 关键字的不同用法。最后通过示例展示了自定义异常的方法,为读者全面呈现 Java 异常处理机制。
2024-09-26 22:42:22
1351
原创 【Java 集合】List接口 —— ArrayList 与 LinkedList 详解
本文全面介绍了 Java 中的 List 接口。List 接口继承自 Collection 接口,允许元素重复且有序,可通过索引访问元素。列举了 List 集合常用方法,如 add、remove、get 等。其中 JDK 8 新增的 sort 方法可根据比较器规则对集合元素排序。接着介绍了 List 接口的两个主要实现类 ArrayList 和 LinkedList。ArrayList 内部数据存储结构为数组,不适合大量增删操作但遍历和查找高效。
2024-09-25 23:15:48
1053
原创 【Java集合】Set 接口 —— HashSet 与 TreeSet 详解
本文详细介绍了 Java 中 Set 接口及其两个主要实现类 HashSet 和 TreeSet。Set 接口继承自 Collection 接口,与 Collection 接口方法基本一致但更严格,保证元素不重复且 HashSet 中元素无序,TreeSet 以二叉树方式存储元素可实现排序。HashSet 根据对象哈希值确定存储位置,通过 hashCode () 和 equals () 方法确保元素不重复。TreeSet 内部采用平衡二叉树存储元素,有多个特有方法如 first ()、last () 等。
2024-09-25 23:12:11
1116
原创 【Java特性】 继承详解——单继承、多层继承、重写与 Object 类
本文详细介绍了 Java 中的继承特性。首先指出 Java 只支持单继承,不允许多重继承,但多个类可继承同一父类且支持多层继承,明确了子类和父类的相对概念。接着阐述了子类重写父类方法的注意事项,包括不能使用更严格的访问权限。介绍了 super 关键字在调用父类成员变量、成员方法和构造方法时的用法及注意点,强调在定义类时若有有参构造方法最好再显式定义无参构造方法以避免被继承时出错。
2024-09-24 21:12:03
4437
原创 【Java特性】多态详解——对象类型转换与 instanceof 关键字的运用
本文深入探讨了 Java 中的多态特性。首先解释了多态是不同类的对象调用同一方法呈现出多种行为,通过将子类对象赋值给父类引用变量实现 “向上转型”,但此时不能用父类变量调用子类特有方法。以示例代码展示了因父类对象调用子类特有方法而编译报错的情况,提出解决方法是将父类类型对象强转为子类类型。同时介绍了 Java 的 instanceof 关键字,可判断一个对象是否为某个类或接口的实例或子类实例,并通过示例代码展示了其用法及运行结果。
2024-09-24 21:07:57
629
原创 【Redis】深入理解缓存——从概念到实战,解决缓存穿透、雪崩与击穿问题
本文全面介绍了缓存的概念、作用及使用方法。首先解释了缓存即数据交换的缓冲区,通过示例展示了不同类型的缓存实现,如 Java 中的本地缓存。阐述了使用缓存的原因在于其速度快能降低服务器读写压力,但也会增加代码复杂度和运营成本。接着详细介绍了多级缓存的构成,包括浏览器缓存、应用层缓存、数据库缓存和 CPU 缓存等。
2024-09-23 22:36:29
1095
原创 【Redis】异步秒杀下单——从 List、PubSub 到 Stream 的全面解析及应用
本文深入探讨了 Redis 实现消息队列的多种方式。首先介绍了消息队列的基本概念及使用队列的好处,以生活中的快递收发为例阐述了解耦的重要性。接着详细分析了 Redis 基于 List、PubSub 和 Stream 三种结构实现消息队列的方法,包括各自的优缺点。对于基于 Stream 的消息队列,还介绍了消费者组的特点及相关操作命令。最后,以异步秒杀下单需求为例,展示了基于 Redis 的 Stream 结构作为消息队列的实际应用,包括修改秒杀下单 Lua 脚本、项目启动时开启线程任务处理订单等操作。通过本
2024-09-23 22:33:07
1031
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人