服务端技术栈_社区达人页

个人头像照片
服务端技术栈
已加入开发者社区2031

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布163篇文章
10条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
擅长领域
  • Java
    高级

    能力说明:

    精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。

技术认证

作者服务于互联网电商公司,拥有大型高并发,高性能高吞吐实战项目经验; 专注于源码分析与底层原理剖析(并发编程,分布式微服务技术,技术实战经验等); 乐于分享成体系,最干货技术文章,希望能为技术爱好者构建完备的互联网技术架构思维体系助力

暂无精选文章
暂无更多信息

2024年08月

  • 08.22 09:17:09
    发表了文章 2024-08-22 09:17:09

    人人都会的synchronized锁升级,你真正从源码层面理解过吗?

    本文结合Jvm源码层面分析synchronized锁升级原理,可以帮助读者从本质上理解锁升级过程,从锁如何存储,存储在哪的疑问出发,一步一步彻底剖析偏向锁,轻量级锁,自旋锁,重量级锁的原理和机制。
  • 08.16 17:54:59
    发表了文章 2024-08-16 17:54:59

    技术方案到底怎么写?7步完美搞定!

    总结了作者多年编写技术方案的经验,介绍了如何通过七个步骤来编写技术方案,包括系统用例、功能链路、核心业务流程、数据库设计、接口设计、非功能设计和系统风险点评估,帮助开发人员更高效地进行系统设计和需求分析。
  • 08.16 17:51:10
    发表了文章 2024-08-16 17:51:10

    救命!DBA找上门了,数据库cpu飙到60%

    这篇文章讲述了作者如何通过优化数据库查询和引入二级缓存架构,成功解决了数据库CPU使用率规律性飙升的问题,提高了系统稳定性。
  • 08.16 17:46:09
    发表了文章 2024-08-16 17:46:09

    做电商业务开发这几年,我学到的系统稳定性建设方法

    文章总结了电商业务开发中保障系统稳定性的关键方法,包括代码健壮性、安全变更、系统链路梳理、接口降级与限流、定期降级演练、预案准备、系统压测、日常巡检、中间件巡检、值班制度和告警机制,强调了稳定性建设是一个长期任务,需要持续迭代优化,并保持对生产系统的敬畏之心。
  • 08.16 17:43:31
    发表了文章 2024-08-16 17:43:31

    你一定要知道业务开发最常用的两种设计模式

    文章介绍了业务开发中最常用的两种设计模式:策略模式和异步形式的责任链模式,通过具体案例展示了它们在代码解耦、扩展性增强以及提升响应速度方面的应用,并强调了设计模式在提升代码质量和开发效率中的重要性。
  • 08.16 17:40:58
    发表了文章 2024-08-16 17:40:58

    强烈推荐,好用的时序图开源插件PlantUML!

    PlantUML这个开源时序图插件,它通过简单的语法和自动化的图形线条关联解决了传统画图软件中对齐困难、逻辑判断不易表示等问题,并提供了美观的图形和易于修改的特点,特别适合新入职场的开发者快速上手绘制高质量的时序图。
  • 08.16 17:39:39
    发表了文章 2024-08-16 17:39:39

    Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧

    文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
  • 08.16 17:38:05
    发表了文章 2024-08-16 17:38:05

    谈谈程序员如何学习新技术

    文章分享了作者学习新技术的经验和方法,从确定学习目标、制定学习计划到学中坚持和学后应用,强调了持续学习的重要性,并鼓励程序员通过实践、写作、分享和开源贡献等方式不断成长和提升技术能力。
  • 08.16 17:35:31
    发表了文章 2024-08-16 17:35:31

    二叉树路径与回溯法

    文章通过LeetCode第257题"二叉树路径"的解题过程,详细阐述了如何利用前序遍历和回溯法来找出二叉树中所有从根节点到叶子节点的路径,并提供了Java语言的代码实现,强调了回溯法在解决类似问题中的重要性。
  • 08.16 17:34:03
    发表了文章 2024-08-16 17:34:03

    leetcode110-平衡二叉树

    文章通过LeetCode第110题"平衡二叉树"的解题过程,深入讲解了平衡二叉树的定义、树的高度概念,并提供了使用后序遍历算法判断二叉树是否平衡的Java代码实现,强调了理解理论知识和实践编码的重要性。
  • 08.16 17:33:10
    发表了文章 2024-08-16 17:33:10

    二叉树进阶-学会层序遍历助你一次刷完leetcode10道题

    文章深入探讨了二叉树的层序遍历方法,并展示了如何通过队列实现层序遍历的算法逻辑,同时指出掌握层序遍历技巧可以帮助解决LeetCode上的多道相关题目。
  • 08.16 17:32:23
    发表了文章 2024-08-16 17:32:23

    一网打尽二叉树系列

    文章全面介绍了二叉树的定义、分类和搜索(遍历)方式,包括满二叉树、完全二叉树、二叉搜索树、平衡二叉搜索树的概念,以及前序、中序、后序和非递归遍历方法,旨在帮助读者深入理解二叉树的基本概念和应用场景。
  • 08.16 17:31:23
    发表了文章 2024-08-16 17:31:23

    刷算法,你应该知道的队列经典应用

    文章介绍了队列的基本特性和经典应用,包括如何用队列实现栈、使用优先级队列解决Top K问题,并通过LeetCode题目示例展示了队列在算法实现中的应用。
  • 08.16 17:30:38
    发表了文章 2024-08-16 17:30:38

    栈的几个经典应用,真的绝了

    文章总结了栈的几个经典应用场景,包括使用两个栈来实现队列的功能以及利用栈进行对称匹配,并通过LeetCode上的题目示例展示了栈在实际问题中的应用。
  • 08.16 17:17:49
    发表了文章 2024-08-16 17:17:49

    掌握算法学习之字符串经典用法

    文章总结了字符串在算法领域的经典用法,特别是通过双指针法来实现字符串的反转操作,并提供了LeetCode上相关题目的Java代码实现,强调了掌握这些技巧对于提升算法思维的重要性。
  • 08.16 17:16:59
    发表了文章 2024-08-16 17:16:59

    Hash表经典操作与实践

    文章探讨了Hash表在算法领域的应用,通过LeetCode上的实例题目展示了如何使用Hash表进行数据存在性判断、重复数据计数等操作,并强调了Hash表在提高查找效率和解决特定问题中的重要性。
  • 08.16 17:16:13
    发表了文章 2024-08-16 17:16:13

    链表经典操作与实战

    文章深入探讨了链表的基本概念、分类和经典操作,通过LeetCode上的实战题目展示了如何应用虚拟头节点、双指针法、定位前驱节点等技巧来解决链表相关问题,并强调了算法在软件开发中的重要性。
  • 08.16 17:15:29
    发表了文章 2024-08-16 17:15:29

    双指针在数组遍历中的应用

    文章深入探讨了双指针技术在数组遍历中的应用,通过实战例子详细解释了快慢指针和首尾指针的不同用法,并提供了解决LeetCode相关问题的Java代码实现。
  • 08.16 17:14:38
    发表了文章 2024-08-16 17:14:38

    深入算法基础二分查找数组

    文章深入学习了二分查找算法的基础,通过实战例子详细解释了算法的逻辑流程,强调了确定合法搜索边界的重要性,并提供了Java语言的代码实现。
  • 08.16 17:13:16
    发表了文章 2024-08-16 17:13:16

    Rocketmq如何保证消息不丢失

    文章分析了RocketMQ如何通过生产者端的同步发送与重试机制、Broker端的持久化存储与消息重试投递策略、以及消费者端的手动提交ack与幂等性处理,来确保消息在整个传输和消费过程中的不丢失。
  • 08.16 17:12:32
    发表了文章 2024-08-16 17:12:32

    深入学习RocketMQ的底层存储设计原理

    文章深入探讨了RocketMQ的底层存储设计原理,分析了其如何通过将数据和索引映射到内存、异步刷新磁盘以及消息内容的混合存储来实现高性能的读写操作,从而保证了RocketMQ作为一款低延迟消息队列的读写性能。
  • 08.16 17:11:39
    发表了文章 2024-08-16 17:11:39

    RocketMQ消息堆积常见场景与处理方案

    文章分析了在使用RocketMQ时消息堆积的常见场景,如消费者注册失败或消费速度慢于生产速度,并提供了相应的处理方案,包括提高消费并行度、批量消费、跳过非重要消息以及优化消费代码业务逻辑等。
  • 08.16 17:10:49
    发表了文章 2024-08-16 17:10:49

    LeetCode第96题不同的二叉搜索树

    文章介绍了LeetCode第96题"不同的二叉搜索树"的解法,利用动态规划的思想和递推公式,通过计算以任意节点为根的不同二叉搜索树的数量,解决了该问题。
  • 08.16 17:09:55
    发表了文章 2024-08-16 17:09:55

    LeetCode第94题二叉树的中序遍历

    文章介绍了LeetCode第94题"二叉树的中序遍历"的解法,使用递归实现了中序遍历的过程,遵循了"左根右"的遍历顺序,并提供了清晰的Java代码实现。
  • 08.16 17:09:09
    发表了文章 2024-08-16 17:09:09

    LeetCode第93题复原 IP 地址

    文章介绍了LeetCode第93题"复原 IP 地址"的解法,利用回溯算法和剪枝技术,通过树形图分析求解过程,实现了将字符串分割成满足IP地址段要求的子段,并验证每个子段是否有效。
  • 08.16 17:08:17
    发表了文章 2024-08-16 17:08:17

    RocketMQ生产者负载均衡(轮询机制)核心原理

    文章深入分析了RocketMQ生产者的负载均衡机制,特别是轮询机制的实现原理,揭示了如何通过`ThreadLocal`技术和消息队列的选播策略来确保消息在多个队列之间均衡发送,以及如何通过灵活的API支持自定义负载均衡策略。
  • 08.16 17:07:10
    发表了文章 2024-08-16 17:07:10

    LeetCode第92题反转链表 II

    文章分享了LeetCode第92题"反转链表 II"的解法,通过使用四个指针来记录和更新反转链表段的头部、尾部以及前一个和后一个节点,提供了一种清晰且易于理解的解决方案。
  • 08.16 17:04:03
    发表了文章 2024-08-16 17:04:03

    LeetCode第90题子集II

    LeetCode第90题"子集II"的解题方法,通过排序和回溯算法生成所有不重复的子集,并使用一个boolean数组来避免同一层中的重复元素,展示了解决这类问题的编码技巧。
  • 08.16 17:03:13
    发表了文章 2024-08-16 17:03:13

    LeetCode第88题合并两个有序数组

    文章分享了LeetCode第88题"合并两个有序数组"的解法,通过从后向前的合并策略避免了数组元素的前移,使用三个指针高效地完成了合并过程。
  • 08.16 17:02:05
    发表了文章 2024-08-16 17:02:05

    LeetCode第86题分隔链表

    文章介绍了LeetCode第86题"分隔链表"的解法,通过创建两个新链表分别存储小于和大于等于给定值x的节点,然后合并这两个链表来解决问题,提供了一种简单易懂且操作原链表的解决方案。
  • 08.16 16:59:54
    发表了文章 2024-08-16 16:59:54

    LeetCode第83题删除排序链表中的重复元素

    文章介绍了LeetCode第83题"删除排序链表中的重复元素"的解法,使用双指针技术在原链表上原地删除重复元素,提供了一种时间和空间效率都较高的解决方案。
  • 08.16 16:59:03
    发表了文章 2024-08-16 16:59:03

    LeetCode第81题搜索旋转排序数组 II

    文章讲解了LeetCode第81题"搜索旋转排序数组 II"的解法,通过二分查找算法并加入去重逻辑来解决在旋转且含有重复元素的数组中搜索特定值的问题。
  • 08.16 16:58:21
    发表了文章 2024-08-16 16:58:21

    LeetCode第80题删除有序数组中的重复项 II

    文章介绍了LeetCode第80题"删除有序数组中的重复项 II"的解法,利用双指针技术在O(1)空间复杂度内原地删除重复元素,并总结了双指针技术在处理有序数组问题中的应用。
  • 08.16 14:45:07
    发表了文章 2024-08-16 14:45:07

    LeetCode第78题子集

    文章分享了LeetCode第78题"子集"的解法,使用递归和回溯算法遍历所有可能的子集,展示了将子集问题视为树形结构进行遍历的解题技巧。
  • 08.16 14:44:24
    发表了文章 2024-08-16 14:44:24

    LeetCode第77题组合

    文章通过树形结构的遍历方法解决了LeetCode第77题"组合",使用递归算法生成所有可能的组合,并总结了将组合问题转换为树遍历的解题技巧。
  • 08.16 14:43:18
    发表了文章 2024-08-16 14:43:18

    LeetCode第75题颜色分类

    文章介绍了LeetCode第75题"颜色分类"的解法,通过双指针技术对数组中的0、1和2进行排序,避免了传统的排序算法,提供了一种时间复杂度为O(n)的高效解决方案。
  • 08.16 14:42:23
    发表了文章 2024-08-16 14:42:23

    LeetCode第74题搜索二维矩阵

    文章讲解了LeetCode第74题"搜索二维矩阵"的解决方案,利用二分搜索法将问题简化,并通过数学转换找到二维矩阵中的对应元素,展示了将二维问题转化为一维问题的解题技巧。
  • 08.16 14:41:26
    发表了文章 2024-08-16 14:41:26

    LeetCode第73题矩阵置零

    文章介绍了LeetCode第73题"矩阵置零"的解法,通过使用矩阵的第一行和第一列作为标记来记录哪些行或列需要置零,从而在不增加额外空间的情况下解决问题。
  • 08.16 14:40:48
    发表了文章 2024-08-16 14:40:48

    LeetCode第71题简化路径

    文章讲述了LeetCode第71题"简化路径"的解题方法,利用栈的数据结构特性来处理路径中的"."和"..",实现路径的简化。
  • 08.16 14:40:10
    发表了文章 2024-08-16 14:40:10

    我服了,RocketMQ消费者负载均衡内核是这样设计的

    文章为理解RocketMQ的负载均衡机制提供了深入的技术洞察,并对如何在实际应用中扩展和定制负载均衡策略提供了有价值的见解。
  • 08.16 14:39:10
    发表了文章 2024-08-16 14:39:10

    LeetCode第70题爬楼梯

    这篇文章是关于LeetCode第70题"爬楼梯"的解题分享。作者首先分析了题目,指出这是一个简单的问题,并且可以通过观察发现爬楼梯的规律:到达第n层楼梯的走法数等于到达第n-1层和第n-2层楼梯的走法数之和。接着,作者提供了一个Java语言的代码实现,使用了迭代的方式来计算爬楼梯的走法数。最后,作者总结了动态规划思想在解决这类问题时的应用,强调了通过观察问题找出规律的重要性。
  • 08.16 14:38:31
    发表了文章 2024-08-16 14:38:31

    LeetCode第69题x 的平方根

    这篇文章是关于LeetCode第69题"x的平方根"的解题分享。作者介绍了使用二分查找算法来解决这个问题的方法,这是一种简单且有效的方式,可以显著降低求解平方根的时间复杂度。文章提供了详细的分析、解题思路和Java语言的代码实现,最后总结了二分查找思想在算法中的应用价值。
  • 08.16 14:37:52
    发表了文章 2024-08-16 14:37:52

    RocketMQ消费者消费消息核心原理(含长轮询机制)

    这篇文章深入探讨了Apache RocketMQ消息队列中消费者消费消息的核心原理,特别是长轮询机制。文章从消费者和Broker的交互流程出发,详细分析了Push和Pull两种消费模式的内部实现,以及它们是如何通过长轮询机制来优化消息消费的效率。文章还对RocketMQ的消费者启动流程、消息拉取请求的发起、Broker端处理消息拉取请求的流程进行了深入的源码分析,并总结了RocketMQ在设计上的优点,如单一职责化和线程池的使用等。
  • 08.16 14:36:51
    发表了文章 2024-08-16 14:36:51

    LeetCode第67题二进制求和

    这篇文章是关于LeetCode第67题二进制求和的解题思路和代码实现的分享。作者通过分析题目要求和二进制加法的规则,提供了一个Java语言的解决方案,并在最后总结了二进制在算法中的重要性。
  • 08.16 14:33:56
    发表了文章 2024-08-16 14:33:56

    LeetCode第66题加一

    LeetCode第66题"加一"的解题方法,通过遍历数组从后向前处理每一位的加法,并考虑进位情况,最终实现给定数字加一的功能。
  • 08.16 14:33:14
    发表了文章 2024-08-16 14:33:14

    LeetCode第64题最小路径和

    LeetCode第64题"最小路径和"的解题方法,运用动态规划思想,通过构建一个dp数组来记录到达每个点的最小路径和,从而高效求解。
  • 08.16 14:32:35
    发表了文章 2024-08-16 14:32:35

    LeetCode第59题螺旋矩阵 II

    LeetCode第59题"螺旋矩阵 II"的解题方法,通过模拟螺旋填充过程,一圈一圈从外到内按顺序填充数字,直到完成整个矩阵的构建。
  • 08.16 14:31:53
    发表了文章 2024-08-16 14:31:53

    LeetCode第58题最后一个单词的长度

    LeetCode第58题"最后一个单词的长度"的解题方法,通过从字符串末尾向前遍历并计数非空格字符,直接得出最后一个单词的长度。
  • 08.16 14:31:10
    发表了文章 2024-08-16 14:31:10

    LeetCode第57题插入区间

    LeetCode第57题"插入区间"的解题方法,利用原区间集有序的特性,通过三步插入操作,有效实现了新区间的插入和重叠区间的合并。
  • 08.16 14:30:23
    发表了文章 2024-08-16 14:30:23

    LeetCode第56题合并区间

    LeetCode第56题"合并区间"的解题方法,通过排序区间并判断重叠后进行合并,有效解决了区间合并问题。
  • 发表了文章 2024-08-22

    人人都会的synchronized锁升级,你真正从源码层面理解过吗?

  • 发表了文章 2024-08-16

    技术方案到底怎么写?7步完美搞定!

  • 发表了文章 2024-08-16

    谈谈程序员如何学习新技术

  • 发表了文章 2024-08-16

    二叉树路径与回溯法

  • 发表了文章 2024-08-16

    强烈推荐,好用的时序图开源插件PlantUML!

  • 发表了文章 2024-08-16

    救命!DBA找上门了,数据库cpu飙到60%

  • 发表了文章 2024-08-16

    做电商业务开发这几年,我学到的系统稳定性建设方法

  • 发表了文章 2024-08-16

    Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧

  • 发表了文章 2024-08-16

    你一定要知道业务开发最常用的两种设计模式

  • 发表了文章 2024-08-16

    leetcode110-平衡二叉树

  • 发表了文章 2024-08-16

    刷算法,你应该知道的队列经典应用

  • 发表了文章 2024-08-16

    栈的几个经典应用,真的绝了

  • 发表了文章 2024-08-16

    一网打尽二叉树系列

  • 发表了文章 2024-08-16

    二叉树进阶-学会层序遍历助你一次刷完leetcode10道题

  • 发表了文章 2024-08-16

    双指针在数组遍历中的应用

  • 发表了文章 2024-08-16

    RocketMQ消息堆积常见场景与处理方案

  • 发表了文章 2024-08-16

    LeetCode第94题二叉树的中序遍历

  • 发表了文章 2024-08-16

    掌握算法学习之字符串经典用法

  • 发表了文章 2024-08-16

    深入算法基础二分查找数组

  • 发表了文章 2024-08-16

    Hash表经典操作与实践

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