今天在聊天时,一个群友对JVM进行GC后如果整理内存那么会对对象产生怎样的影响产生了疑问,我觉得挺有意思的,就查阅了一下资料在此做一个记录。首先我们来看下经典《Thinging in Java》提供了怎样的思路:我们都知道在常用算法中会对内存进行整理的是复制算法(Copying GC)和标记-整理算法(Mark-Compact GC)。首先让我们来康康复制算法。复制算法(来自《垃圾回收的算法...
给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3
输出: 1->2->2->4->3->5
这个可以看成两部分,前一部分都是值小于x的节点,后一部分就是大于等于x...
给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->1->...