自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣 接雨水(多解法优化思路)

今天写力扣的时候,碰到了接雨水这个题,看到一篇优质的题解一共有五个解法,其中四个都写的通俗易懂,唯独第四个双指针法让人有点摸不着头脑,翻看评论区有不少的人和我是同样的想法,今天就结合逛评论区以及我自己的一点理解,帮助大家学会这道经典的“接雨水”。

2023-09-14 18:13:29 63 1

原创 Redis的持久化机制

将写命令添加到 AOF 文件(Append Only File)的末尾。使用 AOF 持久化需要设置同步选项,从而确保写命令同步到磁盘文件上的时机。这是因为对文件进行写入并不会马上将内容同步到磁盘上,而是先存储到缓冲区,然后由操作系统决定什么时候同步到磁盘。选项同步频率always每个写命令都同步everysec每秒同步一次no让操作系统来决定何时同步always 选项会严重减低服务器的性能;

2023-08-08 22:15:16 58

原创 Redis的数据结构总结

类似java的HashTable,底层是数组加链表来解决哈希冲突Dict包含两个哈希表,ht[0]平常用,ht[1]用来rehash压缩列表适合存储数据量不大的情况Redis会确保Intset中的元素唯一、有序具备类型升级机制,可以节省内存空间底层采用二分查找方式来查询List——listpack+链表Hash表——Dict(键值对查询的基础)Set——整数列表(intset)Zset——跳表(skiplist)

2023-08-08 10:18:13 60

原创 可达性分析算法与三色标记法

至此我们明白了可达性分析算法实现的具体细节与三色标记法为什么可以减少标记停顿时间。回顾一下可达性分析算法是通过对GC Roots 的引用链进行搜寻,将不在引用链中的判定为“死亡”。在安全点安全区(保证引用关系不变)停下后,通过OopMap快速找到引用位置,然后通过记忆集和卡表(写屏障来维护)缩减跨代引用的搜寻范围,加速对象的判断与内存的回收。然后通过增量更新和原始快照两个技术,解决了可达性分析算法对分析过程必须在保障一致性的快照中的需求,减少了时间停顿(不是完全不停顿,只是停顿时间很短)。

2023-06-26 10:27:29 640 1

原创 二分法及边间分析

最近写了一个算法题,发现二分已经忘记了,各种边界问题搞得真的头疼。趁着复习了一下y总的课,顺便分享一下我自己对二分法的理解。

2023-06-24 17:12:11 120 1

原创 剑指 Offer 57. 和为s的两个数字

这题看到单调性,以及需要找一个数就果断选择了二分,忽视了双指针的解法。

2023-06-24 15:04:30 34 1

原创 什么是虚拟内存?

前言概述什么是虚拟内存地址和物理地址为什么需要虚拟内存内存映射内存碎片内存交换内存分段总结内存分页多级页表TLB总结本文目的是回顾与梳理所学知识,采用费曼学习法帮助自己巩固学习的同时试图教会不会的人。所以本文不适用于快速阅读提炼知识点。虚拟内存是虚拟机进行内存管理的一个重要的技术。操作系统将通过一种机制将虚拟内存和物理内存映射起来。学编程的应该都有这么一个概念 “引入一个新的技术,就必然会带来新的问题。"因为,没有十全十美的机制和技术,只有最合适的。

2023-06-18 17:27:02 1267 1

原创 剑指 Offer 52. 两个链表的第一个公共节点

这个题目虽然只是一个简单题,但是第二个我确实没想到,看样子还要努力。总结下这个题目的考察点。公共结点的判定循环体代码如何写边界条件的判定(写剑指Offer对这个都刷出肌肉记忆了)这个题双指针能设置的位置也只有头节点了,按理来说不应该想不出,所以遇到复杂的问题还是应该画图走一走流程,心里就会有方向感了。

2023-06-15 00:22:58 51 1

原创 剑指 Offer 22. 链表中倒数第k个节点

这个题目如果只是以第二种解法来应对,那么无论是思路的获取还是操作的难度都会大大降低。我们对链表这种数据结构的理解与操作,如何遍历链表与找到第k个结点。对快慢指针的运用,如何通过两个指针的间隔找到倒数的结点。对边界条件的考虑,空指针、链表长度小于K、K的取值(这里也是看面经才发现,K的取值还会有0、-1这种)。

2023-06-12 23:19:43 48

原创 剑指 Offer 18. 删除链表的节点

双指针

2023-06-12 20:21:18 56

原创 进程管理基础知识

是计算机硬件和应用软件之间的桥梁,它隐藏了底层硬件的复杂性,提供了一个统一的、易于使用和高效的环境,使得用户和应用程序能够充分利用计算机系统的资源,并实现各种功能和任务。。本章要讲的是进程管理的基础知识:进程与线程的了解、进程之间的状态、进程的调度。(这是一个意向图,并不准确,只需要理解操作系统会有一种策略来给每一个进程分配时间片(调度),以确保每个进程都能有机会运行,时间片分配给进程的这种行为会改变进程的状态。

2023-06-12 17:49:23 97

原创 剑指 Offer 67. 把字符串转换成整数

主要就是锻炼你思维,如果你思考的时候,能够提前将各种输入字符串可能出现的非法输入,和数据类型的问题发现并分类处理,这题就不难。但是如果不能对把握对数字边界的判断,和字符串输入的种种可能就会走很多的弯路。初写博客,如果有更好的解法和建议欢迎留言告诉我。

2023-06-11 00:06:07 79 1

空空如也

空空如也

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

TA关注的人

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