- 博客(27)
- 收藏
- 关注
原创 关于Controller层收到请求参数全为null的问题
今天在对接测试的时候,使用ApiFox调用接口传参,控制层使用的是RequestBody注解,但是接收到的参数全为null。原因,json反序列化未成功,在Dto属性上方添加JsonProperty注解即可解决问题。
2025-04-22 11:19:26
124
原创 垃圾收集算法
HotSpot虚拟机默认Eden和Survivor的大小比例是8:1,这也就意味着有10%的内存被浪费,Appel式回收还有一个罕见情况的“逃生门”设计,当每次MinorGC中Survivor内存不足以容纳存活的对象时,就需要依赖其他内存区域(实际上是老年代)进行分配担保。因此可以进行分代垃圾收集,但是这时候又出现了新的问题,新生代中的对象有可能是被老年引用的,为了找出这部分对象,除了在GCRoots之外,还需要对老年代的对象进行扫描,需要遍历整个老年代,这无疑带来了巨大的内存负担。
2025-01-10 21:29:27
1031
原创 对象已死?(对象存活与否判断方法)
思路:通过一系列称为“GC Roots”的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为“引用链”,如果某个对象到GC Roots间没有任何引用链相连,也就是从GCRoots到这个对象不可达,就证明此对象是不可能再被使用的。比如对象A引用对象B,对象B也引用对象A,除此之外,这两个对象没有任何引用,实际上这两个对象已经不可能再被访问,但是他们都相互引用着对方,它们的引用计数都不为零,引用计数算法也就无法回收它们。
2025-01-10 21:28:33
338
原创 Java虚拟机运行时数据区域(内存模型)
程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。程序控制流的指示器, 分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。线程为了切换后能够恢复正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间计数器互不影响,独立存储,因此“线程私有”的内存。无异常情况。
2025-01-10 21:26:44
942
原创 力扣11-盛最多水的容器
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。
2024-10-09 21:05:29
720
原创 力扣167-两数之和II-输入有序数组
你所设计的解决方案必须只使用常量级的额外空间。,请你从数组中找出满足相加之和等于目标数。如果设这两个数分别是。的形式返回这两个整数的下标。以长度为 2 的整数数组。重复使用相同的元素。
2024-10-09 20:41:44
421
原创 力扣392-判断子序列
给定字符串和,判断是否为的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。truefalse。
2024-10-09 20:25:47
496
原创 力扣134-加油站
在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组gas和cost,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。如果存在解,则它是的。
2024-09-30 12:21:17
304
原创 力扣238-除自身以外数组的乘积
给你一个整数数组nums,返回 数组answer,其中answer[i]等于nums中除nums[i]之外其余各元素的乘积。题目数据数组nums之中任意元素的全部前缀元素和后缀的乘积都在整数范围内。请且在O(n)时间复杂度内完成此题。
2024-09-30 11:31:51
321
原创 力扣274-H指数
给你一个整数数组citations,其中表示研究者的第i篇论文被引用的次数。计算并返回该研究者的 h。根据维基百科上h代表“高引用次数” ,一名科研人员的h是指他(她)至少发表了h篇论文,并且有h篇论文被引用次数大于等于h。如果h有多种可能的值,h是其中最大的那个。3给定数组表示研究者总共有5篇论文,每篇论文相应的被引用了 3, 0, 6, 1, 5次。由于研究者有 3 篇论文每篇被引用了 3次,其余两篇论文每篇被引用3次,所以她的h指数是31。
2024-09-29 10:42:27
222
原创 力扣45-跳跃游戏II
给定一个长度为n的整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意i + j < n返回到达的最小跳跃次数。生成的测试用例可以到达。2跳到最后一个位置的最小跳跃数是2从下标为 0 跳到下标为 1 的位置,跳 1步,然后跳3步到达数组的最后一个位置。2。
2024-09-29 10:13:45
419
原创 QUdpsocket的成员与方法~
QUdpSocket是 Qt 网络模块中的一个类,用于提供 UDP(用户数据报协议)功能。它允许你创建一个 UDP 客户端或服务器,发送和接收数据报。以下是QUdpSocket。
2024-09-26 11:23:24
397
原创 QTcpsocket入门~
QTcpSocket是 Qt 网络模块中的一个类,用于提供 TCP 客户端功能。它用于与 TCP 服务器建立连接、发送和接收数据。以下是QTcpSocket。
2024-09-26 09:17:24
374
原创 力扣189-轮转数组
给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。向右轮转 1 步:向右轮转 2 步:向右轮转 3 步:向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]
2024-09-26 09:02:56
192
原创 力扣169-多数元素
给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
2024-09-22 08:20:04
283
原创 力扣26题-删除有序数组中的重复项
时间复杂度: O(n) — 遍历整个数组的时间。空间复杂度: O(1) — 只使用了常数级别的额外空间。//记录不重复元素的个数i++){if(nums[i]!k++;return k;
2024-09-21 22:33:51
489
原创 力扣27题-移除元素(时间击败100%玩家)
给你一个数组nums和一个值val,你需要移除所有数值等于val的元素。元素的顺序可能发生改变。然后返回nums中与val不同的元素的数量。假设nums中不等于val的元素数量为knumsnumskvalnumsnumsk你的函数函数应该返回 k = 2, 并且 nums中的前两个元素均为 2。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。注意这五个元素可以任意顺序返回。
2024-09-21 22:15:28
1042
原创 力扣88题-合并两个有序数组
时间复杂度: O(m + n)空间复杂度: O(1)这种方法高效且节省空间,适合在需要合并两个已排序的数组的场景中使用。public:k--;i--;else{k--;j--;k--;j--;
2024-09-21 21:40:14
309
原创 QIcon 还能这样????!!!!
QIcon是一个非常灵活的类,用于在 Qt 应用程序中处理和显示图标。它支持多种图标格式、状态和大小,可以方便地与其他 Qt 组件集成。通过使用QIcon,可以创建更具视觉吸引力和用户友好的界面。
2024-09-15 13:07:08
346
原创 QAction简单介绍
QAction是一个用于管理用户界面动作的类,可以设置文本、图标、快捷键等属性。信号用于响应用户交互,允许开发者轻松地处理菜单项和按钮的行为。通过合理使用QAction,可以提高代码的可重用性和可维护性。
2024-09-15 11:55:04
480
原创 事件处理 VS 信号和槽
事件处理:主要用于响应用户的直接操作,通过重写事件处理函数来实现。信号/槽机制:用于对象间的通信,允许不同的对象以解耦的方式进行交互。事件处理更高的性能,特别是在响应用户输入时。直接调用,开销较小。信号/槽机制适合对象之间的通信,灵活性高。性能开销较大,尤其是在有多个槽连接时。
2024-09-14 22:37:35
1311
原创 初窥return app.exec();
在大多数情况下,Qt 应用程序的主函数应该使用。当调用app.exec()时,Qt 启动事件循环。此时,程序会等待并处理事件,而不是立即结束。事件循环通常在主函数中启动,确保应用程序可以持续响应用户的操作。接收事件:事件可以来自用户(如点击按钮),也可以是系统生成的事件(如定时器超时)。事件排队:所有接收到的事件都会被放入事件队列。处理事件:事件循环从事件队列中取出事件,并调用相应的信号和槽进行处理。返回等待:当事件队列为空时,事件循环会进入等待状态,直到新的事件到达。异步处理。
2024-09-14 18:29:13
1216
原创 C语言中的标准输入操作举例
更简洁地编写程序通过这两周的学习,自己大概对编程有了一定的认识,下一个阶段就是系统地学习数据结构和算法,并对常用代码进行归类,对使用频率多的结构进行总结。 常见的输入操作:1, 输入的测试数据有多组,每组以0结尾,对于每组第一个是-1时结束。主要代码如下: int main(){ int n,i,j,count; int a[20...
2018-11-27 22:27:54
818
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人