首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从 100 亿 URL 中找出相同的 URL?

5, 000, 000, 000 * 64B ≈ 5GB * 64 = 320GB 由于内存大小只有 4G,因此,我们不可能一次性把所有 URL 加载到内存中处理。...使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合中。...我要回去写代码,这才是我所热爱的! 用谷歌搜索技术问题一定比用百度好?也未必... 好多大咖曾看他的书学习Java,如今这个男人的新作来了! Lombok!代码简洁神器还是代码“亚健康”元凶?

2.9K30

面试:如何从 100 亿 URL 中找出相同的 URL?

请找出 a、b 两个文件共同的 URL。 解答思路 每个 URL 占 64B,那么 50 亿个 URL占用的空间大小约为 320GB。...5, 000, 000, 000 * 64B ≈ 5GB * 64 = 320GB 由于内存大小只有 4G,因此,我们不可能一次性把所有 URL 加载到内存中处理。...使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合中。

4.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试:如何从 100 亿 URL 中找出相同的 URL?

    请找出 a、b 两个文件共同的 URL。 解答思路 每个 URL 占 64B,那么 50 亿个 URL占用的空间大小约为 320GB。...“5, 000, 000, 000 * 64B ≈ 5GB * 64 = 320GB 由于内存大小只有 4G,因此,我们不可能一次性把所有 URL 加载到内存中处理。...使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合中。

    2.3K20

    面试经历:如何从 100 亿 URL 中找出相同的 URL?

    请找出 a、b 两个文件共同的 URL。 解答思路 每个 URL 占 64B,那么 50 亿个 URL占用的空间大小约为 320GB。...5, 000, 000, 000 * 64B ≈ 5GB * 64 = 320GB 由于内存大小只有 4G,因此,我们不可能一次性把所有 URL 加载到内存中处理。...使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合中。

    1.9K00

    如何优雅的从网络加载点九图?

    如何处理从网络加载点九的图 我们开发Android应用的时候,当需要适配可拉伸的背景,我们会使用.9.png的图。通常我们是放在res目录下的,这种方式我们很容易做到。...但是如果需要我们去网络获取.9的图该如何做呢?...标记位置 含义 左-黑线 纵向拉伸区域 上-黑线 横向拉伸区域 右-黑线 纵向显示区域 下-黑线 横向显示区域 1.2 Android是如何加载点九图的 当我们将点九图放在res目录下,Android...2 使用方案 2.1 遇到的坑 如果没做任何处理,当我们从服务端直接拉取点九的图设置到我们的view上时,发现图片并不会拉伸,并且图片周围的黑线也会显示出来。...步骤9中,一定要使用缓存,不然异步加载的过程中,在list中显示会有问题,跳变很严重。----

    2.2K20

    键盘输入3和2,如何计算它们的和?

    如何用不同编程语言计算两个数字的和?9种编程语言求和示例 在编程学习中,处理用户输入并进行简单计算是一个非常基础但重要的技能。...今天,我们将使用9种不同的编程语言,包括Python、JavaScript、Java、C、Kotlin、Rust、Lua、Go和Swift,展示如何实现输入两个数字并计算它们的和。...无论你是初学者还是有经验的开发者,这篇文章都将帮助你快速掌握多语言实现的差异与共性。✨ 今天,我们将使用9种不同的编程语言,演示如何接收两个数字的输入并计算它们的和。...("它们的和是:", sum) } 运行示例: 请输入第一个数字:3 请输入第二个数字:2 它们的和是:5 9....、JavaScript、Java、C、Kotlin、Rust、Lua、Go、Swift)的示例代码,我们展示了如何接收两个数字的输入并计算它们的和。

    7010

    从Java的类加载机制谈起:聊聊Java中如何实现热部署(热加载)

    本文将探索如何在不破坏 Java 虚拟机现有行为的前提下,实现某个单一类的热部署,让系统无需重启就完成某个类的更新。...这里却存在一个问题,同一个类加载器无法同时加载两个相同名称的类,由于不论类的结构如何发生变化,生成的类名不会变,而 classloader 只能在虚拟机停止前销毁已经加载的类,这样 classloader...与动态的类加载器不一样,JRebel保留了所有现有的对象和类的标识和状态,允许开发者继续使用他们的应用而不会产生延迟。 如何使之生效?...这样的话,我们就可以使用如JRuby所做的相同转换来把所有的Java类分割成持有者类和方法体类。不幸的是,这样的一种做法会遭受(至少是)如下的问题: 性能。...JRebel与应用服务器整合在一起,当某个类或是资源被更新时,其被从工作区中而不是从归档文件中读入。

    3.3K20

    【从零学习python 】05. Python中的输出和输入

    e 的简写 %G %f和%E的简写 三、换行输出 在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示。...大家应该知道了,如果要完成ATM机取钱这件事情,需要读取用户的输入,并且使用变量保存用户输入的数据。在Python中,我们可以使用input()函数来获取用户的输入。...input()在从键盘获取了数据以后,会存放到等号右边的变量中 input()会把用户输入的任何值都作为字符串来对待 python2和python3区别 在python2里,如果使用input语句,...用户输入的内容如果是一个字符串,会把这个字符串当做一个变量使用;如果输入输入的是一个数字,会把这个数字当做数字类型。...python3里的input功能和python2里的 raw_input 功能一致。

    13220

    从输入URL到页面加载完的过程中都发生了什么事情

    一个HTTP请求的过程 为了简化我们先从一个HTTP请求开始,简要介绍一下一个HTTP求情的网络传输过程,也就是所谓的“从输入 URL 到页面下载完的过程中都发生了什么事情” ●DNS Lookup 先获得...虽说博主做过Webkit本地渲染的优化,但是深知网页加载的主要时间还是浪费在网络通信上,所以在这些步骤上的优化会比你在浏览器内核的优化省力且效果明显。...HTTP传输优化 写到这里可能有人会想,既然已经把TCP连接建立好了,那我干脆预取更进一步,把所有的链接内容直接预取下来不就好了,这样我网址还没敲完网页就已经加载完成了。...才不是呢,是因为博主看到这个消息的时候心都凉了,和博主的毕设撞车了有木有。去年在360刚出随身WiFi的时候博主想到了这么个点子,还想着把这个东西做出来之后用这个创业和360谈合作。...主要在1和4上,4其实和之前提到的HTTP直接预取的矛盾点一样,万一推送的不需要又占据了带宽怎么办,hint到底该如何实现都有困难。

    1.5K100

    教你如何更好的加载大图片和长图片

    作者:柳岸风语 https://www.jianshu.com/p/4640764bfbc6 我们在做开发的时候总是会不可避免的遇到加载图片的情况,当图片的尺寸小于ImageView的尺寸的时候,我们当然可以很...happy的去直接加载展示。...但是如果我们要加载的图片远远大于ImageView的大小,直接用ImageView去展示的话,就会带来不好的视觉效果,也会占用太多的内存和性能开销。甚至这张图片足够大到导致程序oom崩溃。...而且inSampleSize的值需要是2的倍数,如果不是的话,就会自动变为离这个值向下最近的2的倍数的值,比如给定的值是3,那么最终 inSampleSize的值会是2。...根据上面的分析,我们自定义控件的思路就很明白了: 提供一个设置图片的路口; 重写onTouchEvent,根据用户移动的手势,修改图片显示的区域; 每次更新区域参数后,调用invalidate,onDraw

    1.6K30

    如何在浏览器和nodejs中使用原生接口获得相同的hash?

    从caniuse反应的兼容性看,大部分浏览器都已经支持了,只要不使用低版本浏览器,都是可以放心使用的。当然,如果一定要支持,可以使用第三方库兜底。 让我们来认识一下 Web Crypto API。...在浏览器端,它主要提供了两套和密码学关联的体系:random 和 subtle。...从名字就可以看出,random负责随机算法,也就是说,基于Web Crypto API我们可以在浏览器端实现真正的随机,而不是Math.random这种伪随机。...nodejs通过crypto模块暴露了webcrypto接口,而该接口就提供了和浏览器端相同的实现。...结语 本文带你了解了Web Crypto API,让你知道可以通过nodejs的原生模块实现浏览器和服务端完全相同的摘要算法。

    32920

    【前端】从输入URL到页面加载完成的过程中都发生了什么事情

    向2和3确定的IP和端口号发起网络连接。 根据http协议要求,组织一个请求的数据包,里面包含大量请求信息(包括请求的资源路径、你的身份等)。 服务器响应请求,将数据返回给浏览器。...数据可能是根据HTML协议组织的网页,里面包含页面的布局、文字。数据也可能是图片、脚本程序等。...如果上一步返回的是一个页面,根据页面里一些外链的URL,例如图片的地址,按照1~5再次获取。...开始根据资源的类型,将资源组织成屏幕上显示的图像,这个过程叫渲染,网页渲染是浏览器最复杂、最核心的功能。 将渲染好的页面图像显示出来,并开始响应用户的操作。

    13320

    Github fork的项目如何和原项目同步更新

    使用过github的小伙伴都知道fork的功能,但是fork是一个一次性的事情,相当于做了一个快照,如果fork后原项目有更新的话,我们fork后的项目是不会同步更新的,想要保持同步可以按下面的步骤操作...1.首先需要将fork的项目克隆到本地(假设你1分钟前刚刚进行fork)$ git clone 的项目地址>2.接着,设置origin和upstream,这里以seatunnel项目作为示例...3.一个月(也可以是一个星期)后,apache/incubator-seatunnel的代码更新了很多pr,但是我fork的项目还是之前fork的时候的样子,我们想将fork的项目和apache/incubator-seatunnel...,就可以将自己的fork分支与原项目同步更新(本地的fork分支)。...如果在合并代码的过程中出现冲突,需要手动解决冲突,并提交修改。最后,将同步更新后的代码推送到自己的远程分支,即可完成代码更新。

    3.9K30

    Vue 踩过的坑

    1.路由变化页面数据不刷新问题 出现这种情况是因为依赖路由的params参数获取写在created生命周期里面,因为相同路由二次甚至多次加载的关系 没有达到监听,退出页面再进入另一个文章页面并不会运行created...,就像重新加载页面那样。...vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。 注意:这个功能只在支持 history.pushState 的浏览器中可用。...详情猛戳:https://router.vuejs.org/zh-cn/advanced/navigation-guards.html 6.v-once 只渲染元素和组件一次,优化更新渲染性能 v-once...只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。

    1.5K20

    pyDatalog: python的逻辑编程引擎【四:从文件中加载和执行程序】

    之前的教程中,所有的操作,包括定义数据等都是在python里面进行的。...但是当我们处理庞大的知识库的时候,我们肯定不希望把所有的数据都写在一个py文件里,而是希望把它存在更通用的保存数据的文件格式/数据库里面,在需要的时候再让程序来读取就好了。...下面是关于从文件中读取pyDatalog程序,我自己写的简单例子: In [1]: from pyDatalog import pyDatalog def run_program(): # 创建一个简单的...from pyDatalog import pyDatalog # load(string): 从字符中加载Datalog语句 load(""" + parent('Kangxi', 'Yongzheng...,比如说Excel表格(这里使用pandas的DataFrame演示一个简单例子): In [3]: import pandas as pd pyDatalog.clear() #清空前面学到的事实

    1.4K10

    图像随便打乱,模型输入不靠「眼睛」看!Google华人一作:强化学习和人类有相同的感知能力

    人类的感官能力实际上是非常惊人的。 著名的神经科学家Paul Bach-y-Rita曾对使用盲杖的盲人进行了细致的观察和研究。...因此,手上的皮肤及其触觉感受体,就像一个信息收集站,可以替代视网膜在大脑中形成图像。 你无需用眼睛看,也无需用耳朵听,真正的看和听都在大脑里!...文中提出的研究方法在每个时间步中从环境中进行观察,并将观察的每个元素馈送成明确(distinct)但相同的(identiccal)神经网络,也称为感觉神经元(sensory neurons),网络之间彼此没有固定的关系...此外,训练后的agent可以根据实际需要,使用多个感觉神经元来处理任意长度的输入。 实验结果上,研究人员在简单的状态观测环境中证明了这种方法的鲁棒性和灵活性。...在常见的Ant locomotion任务中的agent总共需要接收28个输入,其中包含位置和速度信息等。

    30620
    领券