随笔分类 -  心情文字

摘要:当资源对象的创建/销毁比较耗时的场景下,可以通过"池化"技术,达到资源的复用,以此来减少系统的开销、增大系统吞吐量,比如数据库连接池、线程池、Redis 连接池等都是使用的该方式。 Apache Commons Pool 提供了通用对象池的实现,用于管理和复用对象,以提高系统的性能和资源利用率。 1 阅读全文
posted @ 2025-01-22 21:09 勇哥编程游记 阅读(247) 评论(0) 推荐(1) 编辑
摘要:同学们在准备系技术面试,或者想了解架构底层工作原理时,经常不知道如何进行体系化的学习。 今天给大家推荐一个开源项目:system-design-101,这个项目的宗旨是:将复杂系统通过图片和简单术语进行解释,帮助你准备系统设计面试。 Github 地址: https://github.com/Byt 阅读全文
posted @ 2024-11-21 11:39 勇哥编程游记 阅读(285) 评论(0) 推荐(0) 编辑
摘要:SPI 全称为 Service Provider Interface,是一种服务发现机制。 SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。 1 阅读全文
posted @ 2024-10-28 20:54 勇哥编程游记 阅读(242) 评论(0) 推荐(1) 编辑
摘要:编写技术文章是程序员分享经验和记录学习成果的重要方式。 为了让写作变得更轻松,有许多实用工具可以帮助提升效率,比如 Markdown 编辑器、画图工具等。 接下来,笔者将介绍四款简单实用的工具,帮助程序员更轻松地编写技术文章。 1 Typora :Markdown 编辑器 Typora 是一款简洁而 阅读全文
posted @ 2024-09-19 22:05 勇哥编程游记 阅读(307) 评论(1) 推荐(0) 编辑
摘要:Redis 列表(List)是一种简单的字符串列表,它的底层实现是一个双向链表。 生产环境,很多公司都将 Redis 列表应用于轻量级消息队列 。这篇文章,我们聊聊如何使用 List 命令实现消息队列的功能以及剖析消费者线程模型 。 1 核心流程 生产者使用 LPUSH key element[el 阅读全文
posted @ 2024-09-10 23:20 勇哥编程游记 阅读(521) 评论(2) 推荐(2) 编辑
摘要:这篇文章,聊聊一个大家经常使用的编程模式 :Mybatis +「where 1 = 1 」。 笔者人生第一次重大的线上事故 ,就是和使用了类似的编程模式 相关,所以印象极其深刻。 这几天在调试一段业务代码时,又遇到类似的问题,所以笔者觉得非常要必要和大家絮叨絮叨。 1 OOM 事故 笔者曾服务一家电 阅读全文
posted @ 2024-06-02 20:35 勇哥编程游记 阅读(1585) 评论(13) 推荐(1) 编辑
摘要:10 几年前,互联网产业蓬勃发展,相比传统 IT 企业,互联网应用每天会产生海量的数据。 如何存储和分析这些数据成为了当时技术圈的痛点,彼时,分库分表解决方案应运而生。 当时最流行的 Java 技术论坛是 javaeye ,有位淘宝的技术人员分享了一篇分库分表的文章 ,这篇文章,我反复看了几十遍,想 阅读全文
posted @ 2024-05-20 22:55 勇哥编程游记 阅读(190) 评论(0) 推荐(0) 编辑
摘要:这篇文章,我们聊聊线程安全使用 HashMap 的四种技巧。 1方法内部:每个线程使用单独的 HashMap 如下图,tomcat 接收到到请求后,依次调用控制器 Controller、服务层 Service 、数据库访问层的相关方法。 每次访问服务层方法 serviceMethod 时,都会在方法 阅读全文
posted @ 2024-05-19 23:09 勇哥编程游记 阅读(366) 评论(1) 推荐(2) 编辑
摘要:2018 年,做为架构负责人,接到一个架构需求:实现一个简单易用的 RocketMQ SDK 。 因为各个团队 RocketMQ 原生客户端配置起来千奇百怪,有的配置存在风险,各团队负责人都需要一个简洁易用的 RocketMQ SDK 。 我立马调研相关开源的方案,当时 RocketMQ-Sprin 阅读全文
posted @ 2024-05-06 22:57 勇哥编程游记 阅读(406) 评论(0) 推荐(2) 编辑
摘要:kkFileView 是一款文件文档在线预览解决方案,采用流行的 Spring Boot 框架构建,易于上手和部署。 该项目基本支持主流办公文档的在线预览,包括但不限于 doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar,以及图片、视频、音频等格式。 1 Docke 阅读全文
posted @ 2024-05-01 23:19 勇哥编程游记 阅读(2115) 评论(1) 推荐(3) 编辑
摘要:Redis Stream 是 Redis 5.0 版本中引入的一种新的数据结构,它用于实现简单但功能强大的消息传递模式。 这篇文章,我们聊聊 Redis Stream 基本用法 ,以及如何在 SpringBoot 项目中应用 Redis Stream 。 1 基础知识 Redis Stream 的结 阅读全文
posted @ 2024-04-15 09:09 勇哥编程游记 阅读(1619) 评论(2) 推荐(2) 编辑
摘要:在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。 这篇文章,笔者结合自己的真实经历,和大家分享消息队列的七种经典应用场景。 1 异步&解耦 笔者曾经负责某电商公司 阅读全文
posted @ 2024-03-28 13:54 勇哥编程游记 阅读(2192) 评论(3) 推荐(8) 编辑
摘要:在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 分库分表之所以被广泛使用,因为工程相对简单,但分库分表并不仅仅是分片,还是需要考虑如何扩缩容(全量同步、增量同步、数据校验等)。 因此笔者做了一个教学型分库分表示例项目 ,计划将分库分表的技术体系都实际演示一遍。 https://gith 阅读全文
posted @ 2024-03-21 21:59 勇哥编程游记 阅读(538) 评论(1) 推荐(6) 编辑
摘要:两年前,朋友想知道 Boss 直聘上关于自动驾驶的岗位有哪些 ,于是,笔者写了一个简单的爬虫 crawler-boss ,将岗位的信息收集起来。 这篇文章,笔者想分享爬虫 crawler-boss 的设计思路。 1 基本原理 Selenium + chromedriver 对于很多动态渲染的网页而言 阅读全文
posted @ 2024-03-17 21:43 勇哥编程游记 阅读(723) 评论(0) 推荐(1) 编辑
摘要:人工智能时代,最需要学习的编程语言是:python 。笔者是个 python 小白,昨天花了两个小时,第一次成功运行起来 python 项目 。 项目是 powerpoint-extractor ,可以将 ppt 文件中的图片提取出来,并输出到固定的目录。 1 安装 python 环境 首先打开终端 阅读全文
posted @ 2024-03-11 00:12 勇哥编程游记 阅读(457) 评论(0) 推荐(1) 编辑
摘要:Github : https://github.com/makemyownlife/platform-sms 短信服务 platform-sms 0.5.0 发布 ,新的版本做了非常多的优化和改进。 1、支持发送任意时间延时短信; 2、优化三方渠道适配器加载逻辑; 3、支持 Docker 部署。 4 阅读全文
posted @ 2024-03-05 11:49 勇哥编程游记 阅读(784) 评论(0) 推荐(5) 编辑
摘要:我们在美团 APP 下单,假如没有立即支付,进入订单详情会显示倒计时,如果超过支付时间,订单就会被自动取消。 这篇文章,笔者想以架构师的视角,深入剖析如何设计订单超时自动取消的功能。 1 定时任务 首先,我们非常自然的想到定时任务的方案。 方案流程: 每隔 30 秒查询数据库,取出最近的 N 条未支 阅读全文
posted @ 2024-02-21 17:05 勇哥编程游记 阅读(1277) 评论(0) 推荐(8) 编辑
摘要:我们经常讲:研发人员有两只眼睛,一只是监控平台,另一只是日志平台。在对性能和高可用讲究的场景里,监控平台的重要性再怎么强调也不过分。 这篇文章,我们聊聊开源实时监控告警系统 HertzBeat 赫兹跳动。 1 产品特色 HertzBeat 有两个非常鲜明的特色:强大的监控模版和无需 Agent 。 阅读全文
posted @ 2024-02-05 23:00 勇哥编程游记 阅读(1610) 评论(1) 推荐(6) 编辑
摘要:这篇文章,我们聊聊实现定时任务的六种策略。 1 自定义单线程 上图中,我们启动一个线程,该线程无限循环执行,每隔20毫秒执行业务代码。 这种方式非常简单易用,在很多中间件中得到广泛应用。 2 JDK ScheduleExecutorService ScheduledExecutorService 是 阅读全文
posted @ 2024-01-21 20:49 勇哥编程游记 阅读(777) 评论(1) 推荐(2) 编辑
摘要:Guava Cache是一款非常优秀的本地缓存框架,提供简洁易用的 API 供开发者使用。 这篇文章,我们聊聊如何使用 Guava Cache 异步刷新技巧带飞系统性能 。 1 基本用法 首先,在 Java 应用中添加 maven 依赖: <dependency> <groupId>com.goog 阅读全文
posted @ 2024-01-02 22:59 勇哥编程游记 阅读(1433) 评论(0) 推荐(4) 编辑

点击右上角即可分享
微信分享提示