分而治之,保持胜利果实

分而治之,保持胜利果实

大家好,又见面了,我是全栈君。

    測完考试系统。去找米老师说了一下測试结果。由于考试系统涉及到大数据问题,主要是并发问题,米老师顺便给我们几个出了一个面试题,“假设须要遍历上百万条。或者上千万条。或者上亿条数据,我们该怎么办?”

    当然。我们几个人都各自说了一下自己的想法。比方分布式啦。多线程啦,还有服从二八定律把经常使用的搜集起来啦等等。最后,米老师在我们的基础上,又继续给我们升华了一下,那就是。分而治之,保持胜利果实。

    数据量大。所以我们能够分开管理。能够利用数据表分区。分布式。多线程,这都是分而治之的实现,仅仅有分而治之是不够的。当我们分而治之后,还要继续保持胜利的果实,比方。我们用索引,数据冗余等形式来实现对已经查询数据进行保持,假设我们须要查询近三年一个饭店的营业情况,我们就能够利用平时,把每一个月的情况放到一个表里,然后再依据每一个月的情况把每年的情况放到一个表里。最后。当我们查询近三年的情况的时候,仅仅须要总和每年的情况就能够了。当然,这里每一个月和每年的情况属于冗余数据,由于我们全然能够通过计算每天的营业情况获得,可是为了我们查询的更快。我们这里须要这种冗余表,同一时候,每一个月、每年的情况,属于我们保存胜利的果实。

    除了数据查询,这样的思想也能够用在其它非常多方面,比方我们须要缓冲一个特别大的文件的时候,就能够才用“分而治之”的思想。先缓冲一部分。在能够使用这部分的同一时候。在缓冲下一部分。给用户更好的体验,事实上这样的思想从百度、谷歌这样的搜索引擎中就能够看到,即使你查询的东西有几百万条数据。它也不会一下子所有查询出。而是一部分、一部分的显示,让你有一个舒适的使用过程。而每次查询出的第一页,都是最经常使用的,也是谷歌百度运用“保持胜利果实”这样的思想的一个实力,由于它把用户经常查询的东西进行整理保持。然后继续给后面的用户使用。它们把这样的从用户那里获取来的“果实”,继续为用户服务。

    当然,跳出程序,在生活中我们依然须要这样的思想。当我们做程序时。总会被这样或那样的问题所困扰。这个时候,我认为我们必须想一想。是不是我把这个问题想得太复杂了,假设这些问题是一个大西瓜的话,我们是不是总是在想假设一口气把这个西瓜吃掉。而不是把它切成一块一块的。或者说如今的英语,假设告诉你你要背三千个单词。你是不是一下子要被吓晕的感觉,可是假设告诉你你仅仅须要每天背60个单词,然后背一个多月不到两个月就背完了是不是有没有轻松一些,然后继续告诉你每天尽管是60个单词可是你仅仅须要花费二十分钟的时候是不是又能够松一口气。假设继续往下说,二十分钟仅仅是两个课间的长度哦亲。是不是一下子认为这件事情太简单了。由于每天学习的时间在九到十个小时,两个十分钟的话那就显得太少了。由于或许你每天酝酿睡觉,想想吃啥都不止二十分钟,这就是“分而治之”的一种思想实现。当然。我们知道如今用的背单词的“百词斩”,会把你常错单词重复出现。这也是一种“保持胜利果实”的实现。

    有时候非常多困难看起来非常难,事实上仅仅要一点点去分析。然后把分析的结果加以利用,我想,不论什么事情都会变得简单,用简单的眼光是看事物,这个世界上就没有了难事。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116048.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 花椒面_百度百科_花椒面和麻椒面一样吗

    花椒面_百度百科_花椒面和麻椒面一样吗花椒面_百度百科

    2022年8月6日
    7
  • jquery.tmpl 基础用法

    jquery.tmpl 基础用法jQuer.tmpl通过动态请求返回数据时通过HTML显示到页面快速便捷实用的方法。只需要在预先定义好一个模板在动态数据返回后调用jQuery对应实现的方法即可对HTML进行拼接同时显示出来。并且定义模板时可以使用一些逻辑判断的标签。个人认为jQuer.tmpl有个不好的地方就是没有错误提示;例如在使用标签进行判断时可能有个地方字段写错的但是没有提示需要花一点时间去找问题,那就会有一些苦恼。…

    2022年6月28日
    46
  • python+opencv图像模板匹配—多模板匹配

    python+opencv图像模板匹配—多模板匹配

    2021年10月6日
    44
  • js解析PSD文件,Java处理psd文件智能图层

    js解析PSD文件,Java处理psd文件智能图层现在市面上很多的webapp都提供模板功能,所谓模板就是一系列元素的集合,模板的制作一般都需要设计师先在Photoshop等软件中制作好设计好,然后再一定的方式来还原设计稿,要么需要编码要么需要在某些应用中按照设计稿重画设计生成模板数据,都还是比较麻烦的,我们能不能通过psd文件直接生成模板呢?要做到这点我们就需要解析psd文件,而psd文件是Photoshop软件的涉及保存文件,浏览器并不能直接识别,所幸的是psd.js赋予了我们这样的能力。foxpsd是一个用来解析PhotoShop的PSD文件的

    2022年6月7日
    191
  • 玩转安卓 Android系统文件夹结构解析(绝对有用)[通俗易懂]

    玩转安卓 Android系统文件夹结构解析(绝对有用)[通俗易懂]//system//app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是//data//文件夹中。下面是详细的介绍://system//app//AlarmClock.apk闹钟//system//app//AlarmClock.odex//system//app//Brows

    2022年8月31日
    4
  • 漏洞扫描 渗透测试_什么是渗透

    漏洞扫描 渗透测试_什么是渗透渗透测试阶段信息收集完成后,需根据所收集的信息,扫描目标站点可能存在的漏洞,包括SQL注入漏洞、跨站脚本漏洞、文件上传漏洞、文件包含漏洞及命令执行漏洞等,然后通过这些已知的漏洞,寻找目标站点存在攻击的入口。那么今天我们就介绍几款常用的WEB应用漏洞扫描工具。一、AWVSAcunetixWebVulnerabilityScanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。在漏洞扫描实战过程中,一般会首选AWVS,因为这个能扫描出来的漏洞很多,而

    2025年11月4日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号