2024年7月25日

美团一面:如何在 100 亿数据中找到中位数?

摘要: 海量数据中找到中位数,内存肯定是无法一次性放下这么多数据的 中位数定义:数字排序之后,位于中间的那个数。比如将 100 亿个数字进行排序,排序之后,位于第 50 亿个位置的那个数就是中位数。 桶排序 1)创建多个小文件桶,设定每个桶的取值范围,然后把海量数据元素根据数值分配到对应的桶中,并记录桶中元 阅读全文

posted @ 2024-07-25 15:43 myf008 阅读(2) 评论(0) 推荐(0) 编辑

java处理超大文件面试题

摘要: java海量大文件数据处理方式 1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 s 阅读全文

posted @ 2024-07-25 15:30 myf008 阅读(1) 评论(0) 推荐(0) 编辑

2024年7月16日

订单超时取消的11种方式

摘要: 一、被动关闭 在解决这类问题的时候,有一种比较简单的方式,那就是通过业务上的被动方式来进行关单操作。 简单点说,就是订单创建好了之后。我们系统上不做主动关单,什么时候用户来访问这个订单了,再去判断时间是不是超过了过期时间,如果过了时间那就进行关单操作,然后再提示用户。 这种做法是最简单的,基本不需要 阅读全文

posted @ 2024-07-16 16:05 myf008 阅读(2) 评论(0) 推荐(0) 编辑

如何设计一个支持三千万用户同时在线的短视频系统?

摘要: 一、问题解析短视频(short video)通常时长在15分钟以内,主要是在移动智能终端上进行拍摄、美化编辑或加特效,并可以在网络社交平台上进行实时分享的一种新型视频形式。短视频具有时间短、信息承载量高等特点,更符合当下网民手机使用行为习惯,短视频的用户流量创造了巨大的商机。 我们准备开发一个面向全 阅读全文

posted @ 2024-07-16 11:11 myf008 阅读(15) 评论(0) 推荐(0) 编辑

2024年6月25日

new String(“abc“)到底创建了几个对象?

摘要: new String(“abc“)到底创建了几个对象? 下面代码中创建了几个对象? new String("abc");答案众说纷纭,有说创建了1个对象,也有说创建了2个对象。答案对,也不对,关键是要学到问题底层的原理。 底层原理分析 String str1 = "abc"; // 在常量池中 St 阅读全文

posted @ 2024-06-25 16:59 myf008 阅读(3) 评论(0) 推荐(0) 编辑

Fail-safe机制与Fail-fast机制分别有什么作用

摘要: 「Java面试」Fail-safe机制与Fail-fast机制分别有什么作用 前段时间一个小伙伴去面试,遇到这样一个问题。 ”fail-safe机制与fail-fast机制分别有什么作用“ 他说他听到这个问题的时候,脑子里满脸问号。那么今天我们来看一下,关于这个问题,普通人和高手应该如何回答吧。 普 阅读全文

posted @ 2024-06-25 16:38 myf008 阅读(1) 评论(0) 推荐(0) 编辑

为什么HashMap的键值可以为null,而ConcurrentHashMap不行?

摘要: 为什么HashMap的键值可以为null,而ConcurrentHashMap不行? 写在开头 昨天在写《HashMap很美好,但线程不安全怎么办?ConcurrentHashMap告诉你答案!》这篇文章的时候,漏了一个知识点,直到晚上吃饭的时候才突然想到,关于ConcurrentHashMap在存 阅读全文

posted @ 2024-06-25 16:24 myf008 阅读(5) 评论(0) 推荐(0) 编辑

java中当任务数量超过了线程池的数量时,如何让任务不进入队列?

摘要: java中当任务数量超过了线程池的数量时,如何让任务不进入队列? 如果任务数量超过了线程池的数量,而你不希望让任务进入队列,可以考虑使用一个不包含工作队列的线程池。在 Java 的 ThreadPoolExecutor 中,通过将工作队列设置为 SynchronousQueue 或者通过调用 Exe 阅读全文

posted @ 2024-06-25 16:17 myf008 阅读(3) 评论(0) 推荐(0) 编辑

阻塞队列被异步消费如何保证消费顺序

摘要: 阻塞队列被异步消费如何保证消费顺序 1. 阻塞队列的特性2. 维护的两个队列3. 阻塞队列的消费过程1. 阻塞队列的特性首先阻塞队列本身是一个符合FIFO特性的队列,也就是说存储进去的元素是符合先进先出的规则。 2. 维护的两个队列其次在阻塞队列里面,使用了一个condition条件等待来维护了两个 阅读全文

posted @ 2024-06-25 16:12 myf008 阅读(15) 评论(0) 推荐(0) 编辑

怎么判断线程池的任务是不是执行完了

摘要: 怎么判断线程池的任务是不是执行完了? 有几种方法: 1、使用线程池的原生函数isTerminated() executor提供一个原生函数isTerminated()来判断线程池中的任务是否全部完成。如果全部完成返回true,否则返回false。 2、使用重入锁,维持一个公共计数 所有的普通任务维持 阅读全文

posted @ 2024-06-25 13:41 myf008 阅读(3) 评论(0) 推荐(0) 编辑

导航