游客gybmahbtqgs6y_社区达人页

个人头像照片
游客gybmahbtqgs6y
已加入开发者社区969

勋章 更多

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

成就

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

我关注的人 更多

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

暂无个人介绍

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

2022年05月

  • 05.02 23:33:54
    发表了文章 2022-05-02 23:33:54

    线程池没你想的那么简单(续)(上)

    前段时间写过一篇《线程池没你想的那么简单》,和大家一起撸了一个基本的线程池,具备: 线程池基本调度功能。 线程池自动扩容缩容。 队列缓存线程。 关闭线程池。
  • 05.02 23:31:31
    发表了文章 2022-05-02 23:31:31

    线程池没你想的那么简单(下)

    自己动手写一个五脏俱全的线程池,同时会了解到线程池的工作原理,以及如何在工作中合理的利用线程池。
  • 05.02 23:29:41
    发表了文章 2022-05-02 23:29:41

    线程池没你想的那么简单(中)

    自己动手写一个五脏俱全的线程池,同时会了解到线程池的工作原理,以及如何在工作中合理的利用线程池。
  • 05.02 23:27:19
    发表了文章 2022-05-02 23:27:19

    线程池没你想的那么简单(上)

    自己动手写一个五脏俱全的线程池,同时会了解到线程池的工作原理,以及如何在工作中合理的利用线程池。
  • 05.02 23:23:52
    发表了文章 2022-05-02 23:23:52

    图床失效了?也许你应该试试这个工具

    个人博客中的许多图片都裂了无法访问,于是便有了本次的这个工具。 它可以一行命令把你所有 Markdown 写的内容中的图片全部替换为新的图床。
  • 05.02 23:21:17
    发表了文章 2022-05-02 23:21:17

    『并发包入坑指北』之向大佬汇报任务

    在面试过程中聊到并发相关的内容时,不少面试官都喜欢问这类问题: 当 N 个线程同时完成某项任务时,如何知道他们都已经执行完毕了。
  • 05.02 23:00:08
    发表了文章 2022-05-02 23:00:08

    一次分表踩坑实践的探讨

    有些业务需要进行关联查询、或者是报表统计;在这样的背景下大表的问题更加突出(比如一个查询功能需要跑好几分钟)。
  • 05.02 22:55:39
    发表了文章 2022-05-02 22:55:39

    『并发包入坑指北』之阻塞队列(下)

    较长一段时间以来我都发现不少开发者对 jdk 中的 J.U.C(java.util.concurrent)也就是 Java 并发包的使用甚少,更别谈对它的理解了;但这却也是我们进阶的必备关卡。其中的内容主要包含以下几个部分: 根据定义自己实现一个并发工具。 JDK 的标准实现。 实践案例。 所以本次重点讨论 ArrayBlockingQueue。
  • 05.02 22:53:30
    发表了文章 2022-05-02 22:53:30

    『并发包入坑指北』之阻塞队列(上)

    较长一段时间以来我都发现不少开发者对 jdk 中的 J.U.C(java.util.concurrent)也就是 Java 并发包的使用甚少,更别谈对它的理解了;但这却也是我们进阶的必备关卡。其中的内容主要包含以下几个部分: 根据定义自己实现一个并发工具。 JDK 的标准实现。 实践案例。 所以本次重点讨论 ArrayBlockingQueue。
  • 05.02 22:45:34
    发表了文章 2022-05-02 22:45:34

    线程池中你不容错过的一些细节

    首先还是来复习下线程池的基本原理。 我认为线程池它就是一个调度任务的工具。 众所周知在初始化线程池会给定线程池的大小,假设现在我们有 1000 个线程任务需要运行,而线程池的大小为 10~20,在真正运行任务的过程中他肯定不会创建这1000个线程同时运行,而是充分利用线程池里这 10~20 个线程来调度这1000个任务。
  • 05.02 22:42:54
    发表了文章 2022-05-02 22:42:54

    一个线程罢工的诡异事件

    线上某个应用里业务逻辑没有执行,导致的结果是数据库里的某些数据没有更新。
  • 05.02 22:38:08
    发表了文章 2022-05-02 22:38:08

    一致性 Hash 算法的实际应用(下)

    分享过一篇《一致性 Hash 算法分析》,当时只是分析了这个算法的实现原理、解决了什么问题等。 但没有实际实现一个这样的算法,本次就当前的一个路由需求来着手实现一次。
  • 05.02 22:35:02
    发表了文章 2022-05-02 22:35:02

    一致性 Hash 算法的实际应用(上)

    分享过一篇《一致性 Hash 算法分析》,当时只是分析了这个算法的实现原理、解决了什么问题等。 但没有实际实现一个这样的算法,本次就当前的一个路由需求来着手实现一次。
  • 05.02 22:32:28
    发表了文章 2022-05-02 22:32:28

    利用策略模式优化过多 if else 代码

    利用策略模式优化过多 if else 代码
  • 05.02 22:28:58
    发表了文章 2022-05-02 22:28:58

    长连接的心跳及重连设计(下)

    什么场景下需要心跳呢? 目前我们接触到的大多是一些基于长连接的应用需要心跳来“保活”。 由于在长连接的场景下,客户端和服务端并不是一直处于通信状态,如果双方长期没有沟通则双方都不清楚对方目前的状态;所以需要发送一段很小的报文告诉对方“我还活着”。 同时还有另外几个目的: 服务端检测到某个客户端迟迟没有心跳过来可以主动关闭通道,让它下线。 客户端检测到某个服务端迟迟没有响应心跳也能重连获取一个新的连接。
  • 05.02 22:27:11
    发表了文章 2022-05-02 22:27:11

    长连接的心跳及重连设计(上)

    什么场景下需要心跳呢? 目前我们接触到的大多是一些基于长连接的应用需要心跳来“保活”。 由于在长连接的场景下,客户端和服务端并不是一直处于通信状态,如果双方长期没有沟通则双方都不清楚对方目前的状态;所以需要发送一段很小的报文告诉对方“我还活着”。 同时还有另外几个目的: 服务端检测到某个客户端迟迟没有心跳过来可以主动关闭通道,让它下线。 客户端检测到某个服务端迟迟没有响应心跳也能重连获取一个新的连接。
  • 05.02 22:23:55
    发表了文章 2022-05-02 22:23:55

    为自己搭建一个分布式 IM 系统二【从查找算法聊起】(下)

    把一些影响较大的 bug 以及需求比较迫切的 feature 调整了,本次更新的 v1.0.1 版本: 客户端超时自动下线。 新增 AI 模式。 聊天记录查询。 在线用户前缀模糊匹配。 下面谈下几个比较重点的功能。 客户端超时自动下线 这个功能涉及到客户端和服务端的心跳设计,比较有意思,也踩了几个坑;所以准备留到下次单独来聊。
  • 05.02 22:22:17
    发表了文章 2022-05-02 22:22:17

    为自己搭建一个分布式 IM 系统二【从查找算法聊起】(中)

    把一些影响较大的 bug 以及需求比较迫切的 feature 调整了,本次更新的 v1.0.1 版本: 客户端超时自动下线。 新增 AI 模式。 聊天记录查询。 在线用户前缀模糊匹配。 下面谈下几个比较重点的功能。 客户端超时自动下线 这个功能涉及到客户端和服务端的心跳设计,比较有意思,也踩了几个坑;所以准备留到下次单独来聊。
  • 05.02 22:19:52
    发表了文章 2022-05-02 22:19:52

    为自己搭建一个分布式 IM 系统二【从查找算法聊起】(上)

    把一些影响较大的 bug 以及需求比较迫切的 feature 调整了,本次更新的 v1.0.1 版本: 客户端超时自动下线。 新增 AI 模式。 聊天记录查询。 在线用户前缀模糊匹配。 下面谈下几个比较重点的功能。 客户端超时自动下线 这个功能涉及到客户端和服务端的心跳设计,比较有意思,也踩了几个坑;所以准备留到下次单独来聊。
  • 05.02 22:17:55
    发表了文章 2022-05-02 22:17:55

    为自己搭建一个分布式 IM(即时通讯) 系统(下)

    CIM(CROSS-IM) 一款面向开发者的 IM(即时通讯)系统;同时提供了一些组件帮助开发者构建一款属于自己可水平扩展的 IM 。 借助 CIM 你可以实现以下需求: IM 即时通讯系统。 适用于 APP 的消息推送中间件。 IOT 海量连接场景中的消息透传中间件。 完整源码托管在 GitHub : github.com/crossoverJi…
  • 05.02 22:15:29
    发表了文章 2022-05-02 22:15:29

    为自己搭建一个分布式 IM(即时通讯) 系统(中)

    CIM(CROSS-IM) 一款面向开发者的 IM(即时通讯)系统;同时提供了一些组件帮助开发者构建一款属于自己可水平扩展的 IM 。 借助 CIM 你可以实现以下需求: IM 即时通讯系统。 适用于 APP 的消息推送中间件。 IOT 海量连接场景中的消息透传中间件。 完整源码托管在 GitHub : github.com/crossoverJi…
  • 05.02 22:13:00
    发表了文章 2022-05-02 22:13:00

    为自己搭建一个分布式 IM(即时通讯) 系统(上)

    CIM(CROSS-IM) 一款面向开发者的 IM(即时通讯)系统;同时提供了一些组件帮助开发者构建一款属于自己可水平扩展的 IM 。 借助 CIM 你可以实现以下需求: IM 即时通讯系统。 适用于 APP 的消息推送中间件。 IOT 海量连接场景中的消息透传中间件。 完整源码托管在 GitHub : github.com/crossoverJi…
  • 05.02 20:08:27
    发表了文章 2022-05-02 20:08:27

    一次生产 CPU 100% 排查优化实践

    收到了运维报警:表示有些服务器负载非常高,让我们定位问题。
  • 05.02 19:57:42
    发表了文章 2022-05-02 19:57:42

    如何判断一个元素在亿级数据中是否存在?(下)

    一个面试题目: 现在有一个非常庞大的数据,假设全是 int 类型。现在我给你一个数,你需要告诉我它是否存在其中(尽量高效)。 需求其实很清晰,只是要判断一个数据是否存在即可。 但这里有一个比较重要的前提:非常庞大的数据。
  • 05.02 19:55:05
    发表了文章 2022-05-02 19:55:05

    如何判断一个元素在亿级数据中是否存在?(上)

    一个面试题目: 现在有一个非常庞大的数据,假设全是 int 类型。现在我给你一个数,你需要告诉我它是否存在其中(尽量高效)。 需求其实很清晰,只是要判断一个数据是否存在即可。 但这里有一个比较重要的前提:非常庞大的数据。
  • 05.02 19:43:19
    发表了文章 2022-05-02 19:43:19

    分享一些 Kafka 消费数据的小经验

    之前写过一篇《从源码分析如何优雅的使用 Kafka 生产者》 ,有生产者自然也就有消费者。 建议对 Kakfa 还比较陌生的朋友可以先看看。 就我的使用经验来说,大部分情况都是处于数据下游的消费者角色。也用 Kafka 消费过日均过亿的消息(不得不佩服 Kakfa 的设计),本文将借助我使用 Kakfa 消费数据的经验来聊聊如何高效的消费数据。
  • 05.01 23:53:28
    发表了文章 2022-05-01 23:53:28

    设计一个可拔插的 IOC 容器(下)

    cicada 终于更新了 v2.0.0 版本。 之所以大的版本号变为 2,确实是向下不兼容了;主要表现为: 修复了几个反馈的 bug。 灵活的路由方式。 可拔插的 IOC 容器选择。 其中重点是后面两个。
  • 05.01 23:52:02
    发表了文章 2022-05-01 23:52:02

    设计一个可拔插的 IOC 容器(上)

    cicada 终于更新了 v2.0.0 版本。 之所以大的版本号变为 2,确实是向下不兼容了;主要表现为: 修复了几个反馈的 bug。 灵活的路由方式。 可拔插的 IOC 容器选择。 其中重点是后面两个。
  • 05.01 23:50:16
    发表了文章 2022-05-01 23:50:16

    不改一行代码定位线上性能问题

    性能问题。 大致的现象是: 我们提供出去的一个 OpenAPI 反应时快时慢,快的时候几十毫秒,慢的时候几秒钟才响应。
  • 05.01 23:47:43
    发表了文章 2022-05-01 23:47:43

    一次 HashSet 所引起的并发问题(下)

    首先了解下这个应用大概是做什么的。 简单来说就是从 MQ 中取出数据然后丢到后面的业务线程池中做具体的业务处理。 而报警的队列正好就是这个线程池的队列。
  • 05.01 23:46:23
    发表了文章 2022-05-01 23:46:23

    一次 HashSet 所引起的并发问题(上)

    首先了解下这个应用大概是做什么的。 简单来说就是从 MQ 中取出数据然后丢到后面的业务线程池中做具体的业务处理。 而报警的队列正好就是这个线程池的队列。
  • 05.01 23:44:09
    发表了文章 2022-05-01 23:44:09

    一份针对于新手的多线程实践--进阶篇

    在上文《一份针对于新手的多线程实践》留下了一个问题: 这只是多线程其中的一个用法,相信看到这里的朋友应该多它的理解更进一步了。 再给大家留个阅后练习,场景也是类似的: 在 Redis 或者其他存储介质中存放有上千万的手机号码数据,每个号码都是唯一的,需要在最快的时间内把这些号码全部都遍历一遍。
  • 05.01 23:42:01
    发表了文章 2022-05-01 23:42:01

    一份针对于新手的多线程实践(下)

    空余时间写了一个工具: github.com/crossoverJi… 利用 SpringBoot 只需要一行命令即可统计自己写了多少个字。 java -jar nows-0.0.1-SNAPSHOT.jar /xx/Hexo/source/_posts 传入需要扫描的文章目录即可输出结果(目前只支持 .md 结尾 Markdown 文件)
  • 05.01 23:39:40
    发表了文章 2022-05-01 23:39:40

    一份针对于新手的多线程实践(上)

    空余时间写了一个工具: github.com/crossoverJi… 利用 SpringBoot 只需要一行命令即可统计自己写了多少个字。 java -jar nows-0.0.1-SNAPSHOT.jar /xx/Hexo/source/_posts 传入需要扫描的文章目录即可输出结果(目前只支持 .md 结尾 Markdown 文件)
  • 05.01 23:37:06
    发表了文章 2022-05-01 23:37:06

    利用责任链模式设计一个拦截器(下)

    近期在做 Cicada 的拦截器功能,正好用到了责任链模式。 这个设计模式在日常使用中频率还是挺高的,借此机会来分析分析。
  • 05.01 23:35:21
    发表了文章 2022-05-01 23:35:21

    利用责任链模式设计一个拦截器(上)

    近期在做 Cicada 的拦截器功能,正好用到了责任链模式。 这个设计模式在日常使用中频率还是挺高的,借此机会来分析分析。
  • 05.01 23:33:33
    发表了文章 2022-05-01 23:33:33

    分享几个 SpringBoot 实用的小技巧(下)

    这次分享一些 SpringBoot 使用中的一些小技巧。
  • 05.01 23:32:09
    发表了文章 2022-05-01 23:32:09

    分享几个 SpringBoot 实用的小技巧(上)

    这次分享一些 SpringBoot 使用中的一些小技巧。
  • 05.01 23:30:04
    发表了文章 2022-05-01 23:30:04

    从源码分析如何优雅的使用 Kafka 生产者(下)

    在上文 设计一个百万级的消息推送系统 中提到消息流转采用的是 Kafka 作为中间件。 其中有朋友咨询在大量消息的情况下 Kakfa 是如何保证消息的高效及一致性呢? 正好以这个问题结合 Kakfa 的源码讨论下如何正确、高效的发送消息。
  • 05.01 23:27:39
    发表了文章 2022-05-01 23:27:39

    从源码分析如何优雅的使用 Kafka 生产者(上)

    在上文 设计一个百万级的消息推送系统 中提到消息流转采用的是 Kafka 作为中间件。 其中有朋友咨询在大量消息的情况下 Kakfa 是如何保证消息的高效及一致性呢? 正好以这个问题结合 Kakfa 的源码讨论下如何正确、高效的发送消息。
  • 05.01 23:24:59
    发表了文章 2022-05-01 23:24:59

    「造个轮子」——设计 HTTP 请求全局上下文(下)

    本次 Cicada 已经更新到了 v1.0.3。 主要是解决了两个 issue,#9(Boss线程数好像设置有误 ) #8(怎么返回纯字符串内容不要JSON格式?)。 所以本次的主要更新为: Cicada 采用合理的线程分配来处理接入请求线程以及 IO 线程。 支持多种响应方式(以前只有 json,现在支持 text)。 为了满足上者引入了 context。 优雅停机。 其中我觉得最核心也最有用的就是这个 Context,并为此重构了大部分代码。
  • 05.01 23:23:38
    发表了文章 2022-05-01 23:23:38

    「造个轮子」——设计 HTTP 请求全局上下文(上)

    本次 Cicada 已经更新到了 v1.0.3。 主要是解决了两个 issue,#9(Boss线程数好像设置有误 ) #8(怎么返回纯字符串内容不要JSON格式?)。 所以本次的主要更新为: Cicada 采用合理的线程分配来处理接入请求线程以及 IO 线程。 支持多种响应方式(以前只有 json,现在支持 text)。 为了满足上者引入了 context。 优雅停机。 其中我觉得最核心也最有用的就是这个 Context,并为此重构了大部分代码。
  • 05.01 23:20:42
    发表了文章 2022-05-01 23:20:42

    设计一个百万级的消息推送系统(下)

    本次分享的内容不但可以满足物联网领域同时还支持以下场景: 基于 WEB 的聊天系统(点对点、群聊)。 WEB 应用中需求服务端推送的场景。 基于 SDK 的消息推送平台。
  • 05.01 23:17:55
    发表了文章 2022-05-01 23:17:55

    设计一个百万级的消息推送系统

    本次分享的内容不但可以满足物联网领域同时还支持以下场景: 基于 WEB 的聊天系统(点对点、群聊)。 WEB 应用中需求服务端推送的场景。 基于 SDK 的消息推送平台。
  • 05.01 23:14:46
    发表了文章 2022-05-01 23:14:46

    「造个轮子」——cicada 设计一个配置模块(下)

    在前两次的 cicada 版本中其实还不支持读取配置文件,比如对端口、路由的配置。 因此我按照自己的想法创建了一个 issue ,同时将 cicada 升级到了 v1.0.2。
  • 05.01 23:12:50
    发表了文章 2022-05-01 23:12:50

    「造个轮子」——cicada 设计一个配置模块(上)

    在前两次的 cicada 版本中其实还不支持读取配置文件,比如对端口、路由的配置。 因此我按照自己的想法创建了一个 issue ,同时将 cicada 升级到了 v1.0.2。
  • 05.01 00:40:21
    发表了文章 2022-05-01 00:40:21

    「造个轮子」——cicada 源码分析(下)

    本文就目前的 v1.0.1 版本来一起分析分析。
  • 05.01 00:38:30
    发表了文章 2022-05-01 00:38:30

    「造个轮子」——cicada 源码分析(上)

    本文就目前的 v1.0.1 版本来一起分析分析。
  • 05.01 00:36:20
    发表了文章 2022-05-01 00:36:20

    「造个轮子」——cicada(轻量级 WEB 框架)(下)

    俗话说 「不要重复造轮子」,关于是否有必要不再本次讨论范围。 创建这个项目的主要目的还是提升自己,看看和知名类开源项目的差距以及学习优秀的开源方式。 好了,现在着重来谈谈 cicada 这个项目的核心功能。 我把他定义为一个快速、轻量级 WEB 框架;没有过多的依赖,核心 jar 包仅 30KB。 也仅需要一行代码即可启动一个 HTTP 服务。
  • 05.01 00:34:36
    发表了文章 2022-05-01 00:34:36

    「造个轮子」——cicada(轻量级 WEB 框架)(上)

    俗话说 「不要重复造轮子」,关于是否有必要不再本次讨论范围。 创建这个项目的主要目的还是提升自己,看看和知名类开源项目的差距以及学习优秀的开源方式。 好了,现在着重来谈谈 cicada 这个项目的核心功能。 我把他定义为一个快速、轻量级 WEB 框架;没有过多的依赖,核心 jar 包仅 30KB。 也仅需要一行代码即可启动一个 HTTP 服务。
  • 发表了文章 2022-05-04

    Pulsar 也会重复消费?

  • 发表了文章 2022-05-04

    5分钟学会 gRPC(下)

  • 发表了文章 2022-05-04

    5分钟学会 gRPC(中)

  • 发表了文章 2022-05-04

    5分钟学会 gRPC(上)

  • 发表了文章 2022-05-04

    简单的 for 循环也会踩的坑

  • 发表了文章 2022-05-04

    用 Go 实现一个 LRU cache

  • 发表了文章 2022-05-04

    撸了一个可调试 gRPC 的 GUI 客户端

  • 发表了文章 2022-05-04

    编写一个接口压测工具

  • 发表了文章 2022-05-04

    Go 日常开发常备第三方库和工具(下)

  • 发表了文章 2022-05-04

    Go 日常开发常备第三方库和工具(中)

  • 发表了文章 2022-05-04

    Go 日常开发常备第三方库和工具(上)

  • 发表了文章 2022-05-04

    Go 里的超时控制

  • 发表了文章 2022-05-04

    观察者模式的实际应用

  • 发表了文章 2022-05-04

    []*T *[]T *[]*T 傻傻分不清楚(下)

  • 发表了文章 2022-05-04

    []*T *[]T *[]*T 傻傻分不清楚(上)

  • 发表了文章 2022-05-04

    Go 中的 channel 与 Java BlockingQueue 的本质区别

  • 发表了文章 2022-05-03

    自带的 print 函数居然会报错?(下)

  • 发表了文章 2022-05-03

    自带的 print 函数居然会报错?(上)

  • 发表了文章 2022-05-03

    Pulsar:下一代消息引擎真的这么强吗?

  • 发表了文章 2022-05-03

    利用 GitHub Action 自动发布 Docker

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