- 博客(21)
- 收藏
- 关注
原创 @Mock
Mock是 Mockito 框架的核心注解,用于创建模拟对象,实现对依赖的隔离,让单元测试不依赖真实的外部服务(数据库、网络等)。在 Spring Boot 项目中,可结合实现模拟对象的自动注入,或用@MockBean将模拟对象注入 Spring 上下文,满足不同测试场景的需求。
2025-12-01 11:13:30
261
原创 assertArrayEquals
是 JUnit 框架中专门用于的核心断言方法,主要解决了普通在数组比较上的局限性(普通比较数组时默认判断内存地址,而非数组内容)。该方法会逐元素对比两个数组的和,只有当数组长度相同且所有对应位置的元素都相等时,断言才通过;否则断言失败,测试标记为失败并抛出。
2025-12-01 11:05:06
380
原创 Spring Data JPA 是什么
是 Spring 生态中项目的核心子模块之一,它是对的封装与简化,目的是,让开发者以更简洁的方式实现数据访问逻辑(增删改查、分页、排序、复杂查询等),无需手动编写 JDBC、MyBatis 的 SQL 映射或 Hibernate 的 JPA 原生繁琐代码。简单来说:JPA 是一套,而 Hibernate 是 JPA 的主流实现;Spring Data JPA 则在 Hibernate 等 JPA 实现之上,做了更上层的封装,让持久层开发变得 “零实现类” 即可完成核心操作。
2025-11-28 11:52:34
344
原创 RPC 是什么
是的缩写,即,是一种。,无需手动处理网络通信、数据序列化 / 反序列化、传输协议等底层细节,大幅简化分布式系统中服务间的通信开发。举个通俗的例子:你在本地写了一个add(1,2)方法,调用后能得到 3;而 RPC 让你可以调用的add(1,2)方法,同样能拿到结果,整个过程中你感知不到网络传输的存在,就像调用本地方法一样。
2025-11-28 11:27:53
353
原创 保姆级安装nodejs的教程
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,让你可以在电脑上运行 JavaScript(不只是浏览器),常用于开发后端服务、工具脚本、前端工程化等。node:运行 JS 文件npm:Node 的包管理器(类似“应用商店”,用来安装第三方库)
2025-11-25 10:05:27
655
原创 leetcode 56 合并区间
java编辑“先排序,再贪心合并”按起始位置排序 → 保证只需看前一个区间贪心策略:能合并就扩展,不能合并就新开时间效率高,逻辑清晰这是解决所有区间合并类问题的基础模板,务必掌握!
2025-11-25 10:01:35
681
原创 JDK8 保姆级安装教程(Windows 版)
至此,JDK8 已成功安装并配置完成,你可以开始使用记事本、IDEA、Eclipse 等工具进行 Java 程序开发。JDK8 的 Lambda 表达式、Stream 流等特性仍是 Java 开发的核心知识点,搭配合适的开发工具,就能快速上手 Java 项目开发啦。
2025-11-20 10:15:09
667
原创 MySQL 5.7.44 详细安装教程(附环境配置与验证)
展开【MySQL Servers】目录,找到【MySQL Server 5.7.44 - X64】(确保选择与系统位数匹配的版本,此处以 64 位系统为例),点击组件右侧的右箭头 “>”,将其添加到右侧的 “Products/Features To Be Installed”(待安装产品 / 功能)列表中,确认组件选择无误后,点击【Next】。,其优势在于安装过程不依赖网络状况,组件完整且安装成功率更高。弹出组件安装对话框后,勾选 “我同意许可条款和条件”,点击【安装】,等待组件安装完成后点击【关闭】。
2025-11-20 10:12:48
1230
原创 560 和为k的子数组
/ Step 2: 暴力枚举所有 i < j,检查 s[j] - s[i] == k。把内层循环“查找有多少个 s[i] == s[j]-k” 从 O(n) 降到 O(1)// j 从 1 到 n(对应 s[1] ~ s[n])确保不会将自己的前缀和当成满足条件的前缀和。这里相当于对于这个暴力枚举的哈希表的优化。(所以不会重复计数)每次就是通过查看。子数组是数组中元素的连续非空序列。记录的是历史前缀和的出现次数。// i 从 0 到 j-1。有没有能够满足的前缀和的数据。所以要先查询再加入当前的。
2025-11-18 11:08:02
221
原创 redis 黑马点评day5p2
简单数值运算、无 null 需求 → 用int(高效、安全);需要集合 / 泛型、需要表示 null、需要对象方法 → 用Integer(满足对象特性)。装箱 / 拆箱是 “桥梁”,让二者可以无缝配合,但需注意Integer的 null 风险。以这个为例 为了防止自动拆箱所导致的 null出现空指针异常 使用这个方式。
2025-09-09 15:51:01
1579
原创 redis 黑马点评day5p1
这段代码中的核心目的是:在保证 “同一用户只能下一单” 的前提下,最大化并发性能—— 通过 “用户粒度的锁”,让同一用户串行执行,不同用户并发执行,兼顾了线程安全和性能。
2025-09-08 11:36:35
1201
原创 redis 黑马点评day4
不是 “一定要用”,而是 **“为了让测试结果准确,必须用”**。解决了 “线程池异步执行导致的耗时统计不准确、任务执行不完整” 的问题,是高并发场景下验证组件可靠性的 “标配工具”。要理解任务定义()和任务执行()的关系,以及Runnable的使用方式,我们可以把它拆解成 “做什么(定义任务)” 和 “谁来做、什么时候做(执行任务)Runnable是 Java 中表示 **“可执行任务”的接口,它只有一个抽象方法run(),作用是“定义任务的具体逻辑”**(即 “要做什么”)。
2025-09-07 19:51:08
1016
原创 reids黑马点评day3
穿透:查 “不存在的东西”,少量请求也能烦到数据库;雪崩:“大量缓存同时失效”,所有请求一起涌去数据库;击穿:“某个热门缓存失效”,所有请求都盯着这一个数据查数据库。@Service// 注入Redis模板(若已有则无需重复注入)@Resource// 定义缓存Key(规范命名:业务+数据类型,避免与其他缓存冲突)@Override// 1. 先查Redis缓存// 2. 缓存命中:将JSON字符串转为List<ShopType>,直接返回。
2025-09-07 14:16:04
312
原创 redis 黑马点评day2
你登录后,网站直接生成一个 “加密身份卡”(Token,含你的用户信息但加密),发给你(可以存在浏览器、APP 缓存里,不依赖 Cookie);你后续访问(比如 APP 调用接口),直接带上这张 “卡”,后台解密后就知道你是谁了。→ 不需要后台存 “档案”(Session),Token 本身就是完整的 “身份证明”,更灵活(支持 APP、多端登录)。将用户信息保存在中,核心目的是在当前请求处理的整个线程中,方便、安全地共享用户信息,避免频繁传递参数。
2025-09-04 20:08:49
338
原创 redis黑马点评day1
就是把转换成一种可以(最常见的是字节数组byte[]则是相反的过程,把存储的格式(byte[]。因为 Redis 是一个,无论 key 还是 value,它最终能存储和处理的byte[]。它不认识什么User对象、Product对象。首先要记住基本的操作指令 如基本的hash set sortedset的基本操作指令其次在redis的config中的序列化器 是为了将传入的key值和value值的字符串按照原本的格式存储 而不是由于jdk而将原本的字符切分成为了难以读懂的形式。
2025-09-03 21:02:46
352
原创 黑马学习javawebday12中 从cookie 令牌 fliter有感
fliter 也就是过滤器的作用 就是在前端发送请求的时候 传送给后端时 使用过滤器获取前端请求token里面的编码信息 并且通过解码判断是不是已登录的用户信息 来判断是不是要放行 使得后端可以调用controller层的代码来完成相应的各种操作。令牌就可以当做一个 身份证一样的id 是独一无二的 是通过你给的签名秘钥来通过一个指定的算法来编码 相应的 可以通过这个算法来解码 并将编码后的码存储在前端的请求体中的token携带着 每次请求传递给后端 让后端判断用户的身份。
2025-05-19 21:59:21
187
原创 学习mybatis的第一天
表示这是一个 MyBatis 的映射接口。我可以简单的将他理解为 这个注解就是表示将这个注解下面的接口注册 变成一个bean类 这样 我们在test包里面做测试的时候 就可以直接。标注了,因此会被 Spring Boot 注册为 Bean。自动注入 Spring 容器中的 Bean。然后就可以直接像创建一个对象一样创建。关于@mapper这个注解。}直接使用这个就可以了。
2025-05-09 20:56:28
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅