发布

算法

算法
专栏成员
62
文章
8345
阅读量
13
订阅数
大表性能优化:从问题到解决方案
在进行优化之前,我们需要先了解大表性能问题的根本原因。当数据量增大时,数据库的性能为什么会下降?
用户11397231
2025-01-27
720
SpringBoot读取配置优先级顺序是什么?
Spring Boot因其“开箱即用”的特性,极大地简化了Java应用的开发和部署过程。它通过外部化配置机制,允许开发者根据不同的环境(如开发、测试、生产)灵活加载配置,而无需修改代码。本文将深入探讨Spring Boot加载外部配置属性的优先级规则,并结合实际案例,帮助你更好地理解和管理配置。
用户11397231
2025-01-24
870
如何实现亿级用户在线状态统计?
以 QQ 在线状态统计为例,其典型特征包括:数据量大、内存占用高、实时性要求高。传统的解决方案(如在数据库中为每个用户添加一个在线状态字段,上线设为 1,下线设为 0)在这种场景下显得力不从心。原因如下:
用户11397231
2025-01-24
1080
线程池遇到未处理的异常会崩溃吗?
在多线程编程中,线程池是提高性能和资源利用率的重要工具。Java 提供了 execute 和 submit 两种方法来提交任务到线程池。虽然它们看起来相似,但在实际使用中却有显著的区别。本文将详细介绍这两种方法的使用场景及其在处理异常时的行为差异。
用户11397231
2025-01-24
690
JDBC存在什么问题?MyBatis是如何解决的?
在Java开发领域,与数据库的交互是不可或缺的一环。JDBC(Java Database Connectivity)作为Java连接和操作数据库的标准API,虽然提供了基础的数据库访问功能,但在实际开发中却面临着诸多挑战。而MyBatis这一持久层框架的出现,为解决JDBC的问题提供了全新的思路和方法。本文将深入剖析JDBC存在的问题,并探讨MyBatis是如何巧妙地化解这些问题的。
用户11397231
2025-01-24
1150
IO 多路复用技术详解
IO 多路复用技术是一种允许单个线程管理多个网络连接的技术,它使得服务器能够高效地处理大量的并发连接而不需要为每个连接创建一个独立的线程或进程。想象一下,如果客户端有成千上万个,那么非 IO 多路复用就会有成千上万个线程,这会导致 IO 过度争抢和多线程切换的问题,因为 CPU 资源有限,而要执行的线程却有成千上万个。
用户11397231
2025-01-24
1010
命中索引一定能提高查询速度吗?
答案是否定的,在实际项目中我曾踩过这个坑。在进行性能优化时,我发现一个接口的 SQL 语句没有加索引,EXPLAIN 执行后发现是全表扫描。我对查询的字段添加了索引后,性能却没有明显提升。这是为什么呢?本文将探讨结合项目优化实例、索引的工作原理、影响查询性能的因素,以及在什么情况下索引可能不会带来预期的性能提升。
用户11397231
2025-01-24
940
如何保证接口幂等性?高并发下的接口幂等性如何实现?
接口幂等性这一概念源于数学,原意是指一个操作如果连续执行多次所产生的结果与仅执行一次的效果相同,那么我们就称这个操作是幂等的。在互联网领域,特别是在Web服务、API设计和分布式系统中,接口幂等性具有非常重要的意义。
用户11397231
2025-01-24
440
高并发性能优化随笔
在我的高并发技巧系列文章中,我已经介绍了不少性能优化的技巧。为了保证这篇文章的完整性,可能会有一些重复。本文将重点介绍 C 端开发中常用的中间件(MySQL、Redis、MQ、RPC)如何提高性能,并在最后介绍一些奇淫巧技。
用户11397231
2025-01-24
1230
面试官:保证线程顺序执行的方法
join() 方法是 Thread 类的一部分,可以让一个线程等待另一个线程完成执行。当你在一个线程 T 上调用 T.join() 时,调用线程将进入等待状态,直到线程 T 完成(即终止)。因此,可以通过在每个线程启动后调用 join() 来实现顺序执行。
用户11397231
2025-01-24
450
MySQL不使用子查询的原因
这些案例展示了如何通过不同优化策略提升MySQL查询性能,特别是在处理子查询时。以下是一些额外的优化建议:
用户11397231
2025-01-24
650
反射的底层实现原理?
反射是 Java 编程语言中的一个强大特性,它允许程序在运行期间动态获取类和操纵类。通过反射机制,可以在运行时动态地创建对象、调用方法、访问和修改属性,以及获取类的信息。反射提供了极大的灵活性,但也带来了运行时性能损耗和安全隐患。
用户11397231
2025-01-24
680
创建线程的8种方法
优点: 解耦任务逻辑和线程对象,灵活性更高。 缺点: 需要额外创建Thread对象。
用户11397231
2025-01-02
1130
实现全局积分排行榜的技术方案
使用ORDER BY score, update_time进行排序,并使用LIMIT 10来获取前10名的数据。为了提升性能,需要对score和update_time添加索引。
用户11397231
2025-01-02
590
面试提问:Redis为什么快?
Redis是一个高性能的开源内存数据库,以其快速的读写速度和丰富的数据结构支持而闻名。本文将探讨Redis快速处理数据的原因,帮助大家更好地理解Redis的内部机制和性能优化技术。
用户11397231
2025-01-02
1280
面试官:Session和JWT有什么区别?
在用户和服务器之间建立认证状态是Web开发中常见的需求。Session和JWT(JSON Web Token)是两种常用的机制,但它们在工作原理、存储方式和安全性等方面存在差异。
用户11397231
2024-12-27
810
面试官:如何用Redis实现限流?
高并发系统有三大特征:限流、缓存和熔断,所以限流已经成为当下系统开发中必备的功能了。那么,什么是限流?如何实现限流?使用 Redis 能不能实现限流?接下来我们一起来看。
用户11397231
2024-12-27
1110
面试官:说说MySQL调优?
**避免使用 SELECT ***:尽量指定需要查询的列,如 SELECT id, name FROM users。
用户11397231
2024-12-27
880
订单超时自动取消:7大策略与实战技巧
在电商、外卖、票务等系统中,订单超时未支付自动取消是一个常见的需求。这个功能乍一看很简单,甚至很多初学者会觉得:“不就是加个定时器么?”但真到了实际工作中,细节的复杂程度往往会超乎预期。这里我们从基础到高级,逐步分析各种实现方案,最后分享一些在生产中常见的优化技巧,希望对你会有所帮助。
用户11397231
2024-12-27
1550
面试官:平时写代码如何进行JVM调优?
JVM调优是一个复杂而重要的话题。在深入探讨如何进行JVM调优之前,我们需要明确为什么要进行JVM调优,这将直接影响我们的调优策略和方法。
用户11397231
2024-12-27
910
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档