首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
面试
订阅
18岁防沉迷
更多收藏集
微信扫码分享
微信
新浪微博
QQ
26篇文章 · 0订阅
看一遍就理解,图解单链表反转
反转链表是程序员必备的基本素养,经常在面试、笔试的过程中出现。一直觉得反转链表实现代码不是很好理解,决定搬leetcode那道经典反转链表题出来,用十多张图去解析它,希望加深大家对链表反转的理解,谢谢阅读。 题目描述: 反转一个单链表。 假设存在链表 1 → 2 → 3 → Ø…
一篇带你读懂TCP之“滑动窗口”协议
在上一篇文章通过“表白”方式,让我们快速了解网络七层协议 了解了网络七层协议。 接下来我们要把重心放在网络传输的可靠性上面。一起来看TCP协议,它是如何解决网络传输不可靠的问题。这其中有个很关键的部分,就是我们的滑动窗口协议。 在TCP协议中,发送方和接受方通过各自维护自己的缓…
Redis源码解析-基础数据-skiplist(跳跃表)
本篇解析基于redis 5.0.0版本,本篇涉及源码文件为t_zset.c,server.h。 我们都知道在有序数组中进行查找,可以使用二分查找,将时间复杂度降为O(log n)。但是有序链表做不到,是因为有序链表获取某元素复杂度为O(n),无法通过二分的思想去跳过一些元素的访…
一文彻底搞懂跳表的各种时间复杂度、适用场景以及实现原理
跳表是一种神奇的数据结构,因为几乎所有版本的大学本科教材上都没有跳表这种数据结构,而且神书《算法导论》、《算法第四版》这两本书中也没有介绍跳表。但是跳表插入、删除、查找元素的时间复杂度跟红黑树都是一样量级的,时间复杂度都是O(logn),而且跳表有一个特性是红黑树无法匹敌的(具…
面试必备:Java线程池解析
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 面试问题2:按线程池内部机制,当提交新任务…
2019年常见ElasticSearch 面试题解析(上)
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSe…
源码分析——HashMap
HashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而访问的时间复杂度为常数级,但遍历的顺序却是无序的。 HashMap最多只允许一个key为null,允许多个key的value值为null。HashMap非线程安全,即任一时刻可以有多个线…
JVM线上CPU 飚高故障排查基本操作
对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的。各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题。楼主同样也遇到过这些问题,那么,遇到这些问题该如何解决呢?首先,出现问题,肯定要先定位问题所在,然后分析问题原因,再然后解决问题,最后…
JVM故障处理工具,使用总结
没有场景、没有诉求,怎么学习这些似乎用不上知识点。 其实最好的方式就是归纳、整理、实践、输出,一套组合拳下来,你就掌握了这个系列的知识了。 但在当前阶段可能真的用不上,JVM是一个稳定服务,哪能天天出问题,哪需要你老排查。又不是像你写的代码那样! 可是知识的学习就是把你垫基到更…
JVM (十)G1与ZGC
立了名为记忆集(Remembered Set)的数据结构,用以避免把整个老年代加进GC Roots扫描范围。事 实上并不只是新生代、老年代之间才有跨代引用的问题. 记忆集是一种用于记录非收集区域指向收集区域对象的指针的一种集合,G1为每一个Region维护了一个记忆集,记录了引…