没看过ReentrantLock源码,别说精通Java并发编程引言 高手程序员与新手程序员一个简单的判断标准,就是有没有使用过CountDownLatch,在互联网公司工作超过3年的程序员基本上应该都用过。CountDownLatch中文名称叫做闭锁,也叫计数锁,不过不是用来加锁的,而是通过计数实现条件等待的功能。CountDownLatch的使用场景有两个: 当前线程等待其他线程都执行完成之后,再执行。 所有线程满足条件后,再一起执行。 使用示例 Coun 开发运维 2024-03-18 向阳逐梦
MySQL性能优化盲区(高并发情况下,事务内的数据先更新还是先查询?)近期看到了一个前阿里资深开发的学术分析视频: 高并发情况下,一个事务内有更新操作还有查询操作,那是先更新好,还是先无锁查询好? 仅70秒的视频,深感学问太深,但是海哥讲的有待补充,于是写下了这篇文章,作为补充。 鸣谢:前阿里资深开发极海Channel的技术分享。 先说答案 这是个开放性的问题,必须看业务场景,抛开业务场景谈架构设计,都是耍流氓。 场景1:如果update语句的参数操作依赖于查询操作 数据运维 2024-03-15 宇宙之一粟
一千个微服务之死没问题制造问题 有一则颇为滑稽的场景,讲述了一位工程师向项目经理解释一个过于复杂的微服务系统是如何工作的,以便获取用户的生日,但最终仍然解释不清楚。 图片 这一场景准确地描述了当前IT文化的荒谬之处。然而在现实中,如果你跟面试官讲了这个笑话,你猜他会怎么看你,大概率你不会通过面试的。 为什么会变成这样呢?我们的目标本来应该是让系统正常的运行起来,满足业务的需要,但是现在却变成了要解决根本没有的问题 开发运维 2024-03-15 穿过生命散发芬芳
深入理解MySQL存储过程的应用场景深入理解MySQL存储过程的应用场景 MySQL是一种常用的关系型数据库管理系统,广泛应用于各种Web应用和企业信息系统中。存储过程是MySQL中一种重要的数据库对象,它是一组预先编译好的SQL语句和数据处理逻辑的集合,可以被多次调用和重复使用。 存储过程的应用场景非常广泛,它可以用来简化复杂的数据操作、提高数据库性能、增强数据安全性、实现业务逻辑的封装等。下面通过具体的代码示例来深入理解MySQ 数据运维 2024-03-14 Escape
python和c++哪个更值得学python 和 c 语言学习的性价比取决于个人的兴趣、目标和应用场景。python 易于学习,广泛应用于 web 开发、数据科学和人工智能等领域,但性能较低。c 语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。选择最佳语言应根据个人情况和所需应用场景而定。 学习Python和C都具有其独特的价值,取决于个人的兴趣、目标和应用场景。以下是对Python和 开发运维 2024-03-14 泡泡
Halo DB 14 小白零基础系列(10)HaloDB中MySQL模式下的流复制实现前言: 最近这段时间,更新的有些不及时,在这里为大家道歉。在之前的文章中带各位朋友了解了HaloDB中的conf文件以及hba文件,那么在HaloDB中我们的王牌技术,实现多数据库兼容模式的相关内容就可以为大家介绍。本篇为大家介绍,如何在HaloDB实现MySQL模式下的流复制相关内容。 来,日常打广环节到了! 我们的HaloDB 是基于原生PG打造 数据运维 2024-03-12 捡田螺的小男孩
从场景出发谈谈MySQL INSERT语句如何加锁写在前面 Mysql作为关系型数据库,在各位程序员从SQL Boy到架构师的打怪升级之路上如影随形。但它的加锁规则,一直都是面试官的心头好,候选宝宝们的老大难。网上有很多关于Mysql的资料文档,只给结论但很少从场景化的角度出发去整理Mysql的锁机制。尤其是对于INSERT语句更是如此。一个INSERT语句中除了innodb存储引擎的行级锁外还涉及到了 隐式锁 插入意向锁。 今天我们从场景视角切 数据运维 2024-03-11 张二河
Oracle数据库中表锁定的常见场景及解决方案Oracle数据库中表锁定的常见场景及解决方案 在Oracle数据库中,表锁定是一个常见的数据库性能问题,当多个会话同时访问同一个表时,可能会导致表出现锁定,进而影响系统的性能和稳定。本文将会讨论一些常见的表锁定场景,并提供相应的解决方案和代码示例。 场景一:长时间事务导致表锁定 这个场景通常发生在某个会话执行过程中占用了长时间锁定了表,导致其他会话无法对该表进行操作。为了解决这个问题,可以通过查 数据运维 2024-03-03 共饮一杯
Golang为何备受青睐于高并发应用场景?Golang为何备受青睐于高并发应用场景? 近年来,随着互联网应用的快速发展,高并发应用场景越来越常见。而在这些场景下,选择适合的编程语言对于系统的性能和稳定性至关重要。Golang作为一种静态类型、高效、并发性良好的编程语言,备受青睐于高并发应用场景。本文将从Golang的并发模型、轻量级线程、优秀的性能等方面探讨为何Golang适用于高并发应用场景,同时通过具体的代码示例加深理解。 首先,Go 开发运维 2024-02-29 Escape
Redis在工作中的十大黄金场景Redis,作为一个开源的内存数据结构存储系统,广泛应用于各种工作场景中,为应用提供了快速、灵活的数据存储和访问能力。本文将为您揭示在工作中使用Redis最多的十大场景,带您深入了解Redis的广泛应用和巨大价值。 1. 缓存 Redis作为缓存层,能够极大地提高数据访问速度,减少对后端数据库的压力。常见的使用场景包括热点数据缓存、用户会话缓存等。 2. 排行榜 Redis的有序集合(Sorted 数据运维 2024-02-28 张二河
Redis探秘:十大最佳应用场景揭示前言: 在当今的软件开发和系统架构中,Redis 已经成为了不可或缺的重要组件之一。 其快速、灵活以及丰富的功能使得它在各种场景下都能发挥重要作用。 本文将深入探讨工作中最常见的 10 种 Redis 应用场景,帮助读者更好地理解如何利用 Redis 解决实际问题,提高系统的性能、可伸缩性和可靠性。 应用场景: 缓存: 将频繁访问的数据存储在 Redis 中,以加速数据检索和响应速度。 示例 im 数据运维 2024-02-26 共饮一杯
阿里Replace Anything:AI一键搞定服装、证件、人脸、背景替换阿里巴巴智能研究院最近在AI领域动作频频,不断发布新品。除了之前推出的Animate AnyOne和AnyText等产品外,他们最近又发布了一个名为Replace Anything的新产品。可以用于人体置换、服装置换、背景置换等多种场景。1 可实现的替换场景 1. 电商场景 2. 日常照片以及证件照场景 3. 人物换装场景 4. 人物替换场景 2 体验教程步骤 体验地址: https://hugg 桌面运维 2024-02-25 宇宙之一粟
MySQL添加简单索引,表容量增长超预期的场景数据库设计其实很重要,除了常规的规则,一些细节方面的设计,如果存在偏差,特定场景下,就可能对系统的运行性能产生影响。技术社群的这篇文章《技术译文 | 为什么 MySQL 添加一个简单索引后表大小增长远超预期?》就介绍了一个增加简单索引导致表容量增长远超预期的场景,值得学习和借鉴,在数据库设计时,需要格外关注。 仅保留必要的索引以降低写入性能和磁盘空间开销是一种众所周知的好习惯。MySQL 官方文档 数据运维 2024-02-21 捡田螺的小男孩
MySQL 案例解析:无主键表导致的主从延迟场景 1 下,完全没有索引的时候延迟时间超过 24 小时,完全没有对比意义,因此取值为 -1。 在模拟的随机 delete 大量数据的场景下,Hash Scan 并没有能减少延迟时间,反而增加了 50%~800% 当从库可以利用索引时,如果索引的区分度较高,那么延迟的时间会明显减少,减少幅度为 75%~95% 对比场景 2 和场景 3 的情况当从库有多个索引,且 where 条件本身有索引的时候, 数据运维 2024-02-20 贤蛋大眼萌
聊聊分布式定时任务框架选型我们先思考下面几个业务场景的解决方案: 支付系统每天凌晨1点跑批,进行一天清算,每月1号进行上个月清算 电商整点抢购,商品价格8点整开始优惠 12306购票系统,超过30分钟没有成功支付订单的,进行回收处理 商品成功发货后,需要向客户发送短信提醒 类似的业务场景非常多,我们怎么解决? 为什么我们需要定时任务 很多业务场景需要我们某一特定的时刻去做某件任务,定时任务解决的就是这种业务场景。一般来说, 开发运维 2024-02-20 Escape
技术分享 | 如何缩短 MySQL 物理备份恢复时间?作者:李彬,爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查。爱好有亿点点多,吉他、旅行、打游戏… 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文约 2600 字,预计阅读需要 7 分钟。 1背景 作为一名 DBA,数据库的备份与恢复是异常重要的,日常我们也许关注的仅仅是提升备份效率,但在真实的运维场景下,数据恢复的时间成本考量更为重要,过长的恢 数据运维 2024-02-19 法医
数据库行业解决方案都写了啥随着国产数据库在各行业应用规模不断增大,并开始进入深水区。国产数据库从之前的不能用、不敢用逐渐过渡到如何用好。特别是以分布式数据库为代表的新架构数据库产品的出现,颠覆了原有架构产品,之前很多的知识不能复用,如何用好这些成为很多用户所关注的问题。近期,笔者也观察到部分国产数据库厂商经过阶段性实践后,开始将使用心得形成行业解决方案,这无疑对用户会带来积极影响,加速行业推广使用。本文将结合近期发布的两家 数据运维 2024-02-06 穿过生命散发芬芳
Java编程的应用场景与发展趋势的深入了解深入了解Java编程的应用场景与发展趋势,需要具体代码示例 摘要:Java作为一种面向对象的编程语言,具有广泛的应用场景和持续的发展趋势。本文将深入探讨Java的应用领域,并通过代码示例来展示它在不同领域中的实际应用。 介绍 Java作为一种高级编程语言,已经被广泛应用于各个领域。其跨平台特性、丰富的类库和强大的安全性使得Java成为众多开发者的首选。本文将详细介绍Java编程的应用场景和发展趋势 开发运维 2024-02-03 贤蛋大眼萌
灵伴科技(Rokid)借助 Knative 实现 AI 应用云原生 Serverless 化作者:朱炜栋、元毅、子白 公司介绍 Rokid 创立于 2014 年,是一家专注于人机交互技术的产品平台公司,2018 年即被评为国家高新技术企业。Rokid 作为行业的探索者、领跑者,目前致力于 AR 眼镜等软硬件产品的研发及以 YodaOS 操作系统为载体的生态构建。公司通过语音识别、自然语言处理、计算机视觉、光学显示、芯片平台、硬件设计等多领域研究,将前沿的 Al 和 AR 技术与行业应用相 云运维 2024-02-02 泡泡
深入浅出快手图数据库:看架构如何让推荐召回更高效一、应用场景 1、三角问题-扩散 首先来看一个图推荐中经常会遇到的场景,图扩散。 如上图所示,已知一个点,由此点出发,找自己的行为关系,到达一个中间结点,再到另外一个结点,这样就是两跳。两跳之后获取全部数据,然后进行内容的推荐计算,比如我关注的人还关注谁、我关注的大 V 的朋友圈有哪些大 V、我点赞的视频相似度高的视频有哪些。其中朋友圈有很多定义方式,比如他们的互关、交互程度即亲密分数比较高、互 数据运维 2024-01-25 大猫