青云博客 分享、记录

1 亿个数据取出最大前 100 个有什么方法

要从1亿个数据中找出最大的前100个,通常可以使用堆(Heap)数据结构来实现,特别是最小堆(Min Heap)。 以下是一种常见的方法: 创建一个最小堆,并将前100个数据插入堆中。 遍历剩余的数据,对于每个数据,如果它比堆顶的元素大,就将堆顶元素弹出,然后将当前数据插入堆中。

詹学伟 发布于 2024-04-23

CPU飙高问题如何排查

当你遇到高CPU占用问题时,可以采取以下步骤来排查和解决: 查看任务管理器:首先,打开任务管理器(Windows)或使用类似的工具(Linux上的top命令),找出哪个程序或进程正在占用大量的CPU。

詹学伟 发布于 2024-04-23

如何设计一个分布式缓存系统

设计一个分布式缓存系统需要考虑以下几个方面: 数据分片:将缓存数据分散存储在多个节点上,每个节点负责一部分数据,以提高并发读写操作的吞吐量。 数据一致性:为了保证数据的一致性,可以采用一致性哈希算法来确定数据在哪个节点上存储,并使用分布式锁来控制并发写操作。 缓存失效策略:可以采用时间过期策略或基于

詹学伟 发布于 2024-04-23

OOM问题如何排查

当遇到Java应用程序的OOM(内存溢出)问题时,可以按照以下步骤来排查和解决: 查看错误信息:首先,看一下出现的OOM错误信息,确定是哪种内存溢出问题。 检查内存使用:使用监控工具查看Java堆内

詹学伟 发布于 2024-04-23

频繁FullGC问题如何排查

如果你的应用频繁发生Full GC,可能会影响性能,下面是一些排查的方法: 查看GC日志:看一下应用程序的GC日志,找出Full GC发生的原因。日志通常会告诉你是内存不足还是其他原因导致的。 分析内存泄漏

詹学伟 发布于 2024-04-23

慢SQL问题如何排查

如果你的数据库查询变慢了,可以采取以下步骤来找出问题并解决它: 找出慢查询:首先,找出哪些数据库查询很慢。通常,这些查询会花费很长时间才能返回结果。

詹学伟 发布于 2024-04-23