彭旭锐_社区达人页

个人头像照片
彭旭锐
已加入开发者社区1804
勋章 更多
个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖侠士
江湖侠士
成就
已发布176篇文章
9条评论
已回答0个问题
0条评论
已发布0个视频
github地址
我关注的人 更多
技术能力
兴趣领域
擅长领域
技术认证
暂无个人介绍
  • 1年前
    万字 HashMap 详解,基础(优雅)永不过时
    在上一篇文章里,我们聊到了散列表的整体设计思想,在后续几篇文章里,我们将以 Java 语言为例,分析标准库中实现的散列表实现,包括 HashMap、ThreadLocalMap、LinkedHashMap 和 ConcurrentHashMap。今天,我们来讨论 Java 标准库中非常典型的散列表结构,也是 “面试八股
    126
暂无更多
暂无更多信息

2023年03月

  • 03.05 22:51:23
    发表了文章 2023-03-05 22:51:23

    LeetCode 周赛 335,纯纯手速场!

    昨晚是 LeetCode 第 335 场周赛,你参加了吗?这场周赛整体难度不高,有两道模板题,第三题和第四题应该调换一下位置。
  • 03.05 15:26:54
    发表了文章 2023-03-05 15:26:54

    LeetCode 双周赛 99,纯纯送分场!

    昨晚是 LeetCode 第 99 场双周赛,你参加了吗?这场周赛整体难度很低,第 4 题评论区普遍认为是 1 字头,纯纯手速场。

2023年02月

  • 02.27 18:28:42
    发表了文章 2023-02-27 18:28:42

    LeetCode 周赛 334,在算法的世界里反复横跳

    今天是 LeetCode 第 334 场周赛,你参加了吗?这场周赛考察范围比较基础,整体难度比较平均,第一题难度偏高,第四题需要我们在算法里实现 “反复横跳”,非常有意思。
  • 02.21 14:40:31
    发表了文章 2023-02-21 14:40:31

    LeetCode 周赛 333,你管这叫 Medium 难度?

    大家好,我是小彭。 上周是 LeetCode 第 333 场周赛,你参加了吗?这场周赛质量很高,但难度标得不对,我真的会谢。算法解题思维需要长时间锻炼,加入我们一起刷题吧~
  • 02.20 15:34:21
    发表了文章 2023-02-20 15:34:21

    LeetCode 双周赛 98,脑筋急转弯转不过来!

    大家好,我是小彭。 昨晚是 LeetCode 第 98 场双周赛,你参加了吗?这场周赛需要脑筋急转弯,转不过来 Medium 就会变成 Hard,转得过来就变成 Easy。
  • 02.18 15:44:20
    发表了文章 2023-02-18 15:44:20

    Android 初代 K-V 存储框架 SharedPreferences,旧时代的余晖?

    SharedPreferences 是 Android 平台上轻量级的 K-V 存储框架,亦是初代 K-V 存储框架,至今被很多应用沿用。 有的小伙伴会说,SharedPreferences 是旧时代的产物,现在已经有 DataStore 或 MMKV 等新时代的 K-V 框架,没有学习意义。但我认为,虽然 SharedPreference 这个方案已经过时,但是并不意味着 SharedPreference 中使用的技术过时。做技术要知其然,更要知其所以然,而不是人云亦云,如果要你解释为什么 SharedPreferences 会过时,你能说到什么程度?
  • 02.17 02:00:21
    发表了文章 2023-02-17 02:00:21

    LeetCode 周赛 332,在套路里摸爬滚打~

    大家好,今天是 3T 选手小彭。上周是 LeetCode 第 332 场周赛,你参加了吗?算法解题思维需要长时间锻炼,加入我们一起刷题吧~
  • 02.11 12:40:14
    发表了文章 2023-02-11 12:40:14

    Android IO 框架 Okio 的实现原理,如何检测超时?

    在上一篇文章里,我们聊到了 Square 开源的 I/O 框架 Okio 的三个优势:精简且全面的 API、基于共享的缓冲区设计以及超时机制。前两个优势已经分析过了,今天我们来分析 Okio 的超时检测机制。
  • 02.10 20:32:51
    发表了文章 2023-02-10 20:32:51

    Android IO 框架 Okio 的实现原理,到底哪里 OK?

    今天,我们来讨论一个 Square 开源的 I/O 框架 Okio,我们最开始接触到 Okio 框架还是源于 Square 家的 OkHttp 网络框架。那么,OkHttp 为什么要使用 Okio,它相比于 Java 原生 IO 有什么区别和优势?今天我们就围绕这些问题展开。

2022年12月

  • 12.03 16:56:30
    发表了文章 2022-12-03 16:56:30

    Android 内存缓存框架 LruCache 的实现原理,手写试试?

    在之前的文章里,我们聊到了 LRU 缓存淘汰算法,并且分析 Java 标准库中支持 LUR 算法的数据结构 LinkedHashMap。当时,我们使用 LinkedHashMap 实现了简单的 LRU Demo。今天,我们来分析一个 LRU 的应用案例 —— Android 标准库的 LruCache 内存缓存。
  • 12.02 18:17:18
    发表了文章 2022-12-02 18:17:18

    WeakHashMap 和 HashMap 的区别是什么,何时使用?

    今天,我们来讨论 WeakHashMap,其中的 “Weak” 是指什么,与前两者的使用场景有何不同?我们就围绕这些问题展开。
  • 12.01 21:01:55
    发表了文章 2022-12-01 21:01:55

    为什么计算机中的负数要用补码表示?

    我们日常生活接触到的大部分数字却是十进制编码,例如手机号码、工牌号、学号。那为什么计算机要使用二进制数制?二进制数据如何进行运算,以及计算机做了哪些优化来如何提高运算的效率?今天我们就围绕这些问题展开。
  • 12.01 00:48:56
    发表了文章 2022-12-01 00:48:56

    程序员学习 CPU 有什么用?

    在上一篇文章里,我们聊到了计算机的冯·诺依曼架构,以及计算机的五大部件:控制器、运算器、存储器、输入设备和输出设备。在现在计算机体系中,CPU 是整个计算机的核心,主要包含控制器和运算器两大部件。 在后续文章中,我们将从 CPU 的基本认识开始,逐步将 CPU 与执行系统、存储系统和 I/O 系统串联起来,请关注。
  • 12.01 00:16:45
    发表了文章 2022-12-01 00:16:45

    如何使用 LinkedHashMap 实现 LRU 缓存?

    在上一篇文章里,我们聊到了 HashMap 的实现原理和源码分析,在源码分析的过程中,我们发现一些 LinkedHashMap 相关的源码,当时没有展开,现在它来了。 那么,LinkedHashMap 与 HashMap 有什么区别呢?其实,LinkedHashMap 的使用场景非常明确 —— LRU 缓存。今天,我们就来讨论 LinkedHashMap 是如何实现 LRU 缓存的。

2022年11月

  • 11.26 15:53:41
    发表了文章 2022-11-26 15:53:41

    万字 HashMap 详解,基础(优雅)永不过时

    在上一篇文章里,我们聊到了散列表的整体设计思想,在后续几篇文章里,我们将以 Java 语言为例,分析标准库中实现的散列表实现,包括 HashMap、ThreadLocalMap、LinkedHashMap 和 ConcurrentHashMap。今天,我们来讨论 Java 标准库中非常典型的散列表结构,也是 “面试八股
  • 11.25 15:08:03
    发表了文章 2022-11-25 15:08:03

    Android 序列化框架 Gson 原理分析,可以优化吗?

    Gson 是 Google 推出的 Java Json 解析库,具有接入成本低、使用便捷、功能扩展性良好等优点,想必大家都很熟悉了。在这篇文章里,我们将讨论 Gson 的基本用法和以及主要流程的源码分析。
  • 11.25 15:00:32
    发表了文章 2022-11-25 15:00:32

    如何实现一个优秀的 HashTable 散列表?

    在前几篇文章里,我们聊到了 Java 中的几种线性表结构,包括 ArrayList、LinkedList、ArrayDeque 等。今天,我们来讨论另一种常用的基础数据结构,同时也是 “面试八股文” 的标准题库之一 —— 散列表(Hash Table)。
  • 11.24 16:46:44
    发表了文章 2022-11-24 16:46:44

    说一下 ArrayDeque 和 LinkedList 的区别?

    在上一篇文章里,我们聊到了基于链表的 Queue 和 Stack 实现 —— LinkedList。那么 Java 中有没有基于数组的 Queue 和 Stack 实现呢?今天我们就来聊聊这个话题。
  • 11.23 22:12:55
    发表了文章 2022-11-23 22:12:55

    CopyOnWriteArrayList 是如何保证线程安全的?

    在上一篇文章里,我们聊到了ArrayList 的线程安全问题,其中提到了 CopyOnWriteArrayList 的解决方法。那么 CopyOnWriteArrayList 是如何解决线程安全问题的,背后的设计思想是什么,今天我们就围绕这些问题展开。
  • 11.20 22:43:00
    发表了文章 2022-11-20 22:43:00

    ArrayList 可以完全替代数组吗?

    在前面的文章里],我们学习了很多数据结构与算法思想。在实际的业务开发中,往往不需要我们手写数据结构,而是直接使用标准库的数据结构 / 容器类。 在后续的文章里,我们将以 Java 语言为例,分析从 ArrayList 到 LinkedHashMap 等一系列标准库容器类,最后再有一篇总结回顾,请关注。
  • 11.20 02:05:32
    发表了文章 2022-11-20 02:05:32

    面试官:什么是伪共享,如何避免?

    在前面的文章里,我们聊到了 CPU 的高速缓存机制。由于 CPU 和内存的速度差距太大,现代计算机会在两者之间插入一块高速缓存。 然而,CPU 缓存总能提高程序性能吗,有没有什么情况 CPU 缓存反而会成为程序的性能瓶颈?这就是我们今天要讨论的伪共享(False Sharing)。
  • 11.19 03:42:31
    发表了文章 2022-11-19 03:42:31

    已经有 MESI 协议,为什么还需要 volatile 关键字?

    在上一篇文章里,我们聊到了 CPU 的缓存一致性问题,分为纵向的 Cache 与内存的一致性问题以及横向的多个核心 Cache 的一致性问题。我们也讨论了 MESI 协议通过写传播和事务串行化实现缓存一致性。
  • 11.17 13:07:51
    发表了文章 2022-11-17 13:07:51

    12 张图看懂 CPU 缓存一致性与 MESI 协议,真的一致吗?

    什么是缓存一致性问题,CPU Cache 的读取和写入过程是如何执行的,MESI 缓存一致性协议又是什么?今天我们将围绕这些问题展开。

2022年10月

  • 发表了文章 2023-10-02

    LeetCode 周赛上分之旅 #49 再探内向基环树

  • 发表了文章 2023-10-01

    LeetCode 周赛上分之旅 #48 一道简单的树上动态规划问题

  • 发表了文章 2023-09-24

    LeetCode 周赛上分之旅 #47 前后缀分解结合单调栈的贡献问题

  • 发表了文章 2023-09-18

    LeetCode 周赛上分之旅 #46 经典二分答案与质因数分解

  • 发表了文章 2023-09-18

    LeetCode 周赛上分之旅 #45 精妙的 O(lgn) 扫描算法与树上 DP 问题

  • 发表了文章 2023-09-06

    LeetCode 周赛上分之旅 #44 同余前缀和问题与经典倍增 LCA 算法

  • 发表了文章 2023-09-04

    LeetCode 周赛上分之旅 #43 计算机科学本质上是数学吗?

  • 发表了文章 2023-08-28

    LeetCode 周赛上分之旅 #42 当 LeetCode 考树上倍增,出题的趋势在变化吗

  • 发表了文章 2023-08-21

    LeetCode 周赛上分之旅 #41 结合离散化的线性 DP 问题

  • 发表了文章 2023-08-20

    LeetCode 周赛上分之旅 #40 结合特征压缩的数位 DP 问题

  • 发表了文章 2023-08-13

    LeetCode 周赛上分之旅 #39 结合中心扩展的单调栈贪心问题

  • 发表了文章 2023-08-07

    LeetCode 周赛上分之旅 #38 结合排序不等式的动态规划

  • 发表了文章 2023-08-07

    LeetCode 周赛上分之旅 # 37 多源 BFS 与连通性问题

  • 发表了文章 2023-08-01

    LeetCode 周赛上分之旅 # 36 KMP 字符串匹配殊途同归

  • 发表了文章 2023-07-23

    LeetCode 周赛上分之旅 #34 按部就班地解决动态规划问题

  • 发表了文章 2023-07-23

    LeetCode 周赛上分之旅 #35 两题坐牢,菜鸡现出原形

  • 发表了文章 2023-07-17

    Gradle 构建工具 #5 又冲突了!如何理解依赖冲突与版本决议?

  • 发表了文章 2023-07-16

    LeetCode 周赛上分之旅 #33 摩尔投票派上用场

  • 发表了文章 2023-07-11

    数据结构与算法 #18 下跳棋,极富想象力的同向双指针模拟

  • 发表了文章 2023-07-11

    LeetCode 周赛 353(2023/07/09)看似没考 LIS 最长递增子序列,好像又考了

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息