如何解决海量数据的存储问题
如何解决海量数据的计算
MapReduce
Map: 计算本地数据, 在各个结点下计算, 本地并发
Reduce: 全局处理, 可以分组处理, 对各个Map的中间结果进行处理
keep foolish, keep sharp
MapReduce
Map: 计算本地数据, 在各个结点下计算, 本地并发
Reduce: 全局处理, 可以分组处理, 对各个Map的中间结果进行处理
近百年来,总有一些公司很幸运地、有意识或无意识地站在技术革命的浪尖之上, 一旦处于那个位置, 即使不做任何事情, 也可以随着波浪顺顺当当地先前漂泊个十年甚至更长的世纪。 在这十几年间, 它们代表着科技的浪潮, 直到下一波浪潮的来临。
由电话之父压力上大·贝尔创立, 第一次实现了人类的远程实时的交互通信。
它创建的贝尔实验室, 走出了计算机的Unix系统和C语言等等
错过了2000年前后的网络革命和90年代中期延续至今的无线通信,这两个极佳的发展机遇, 并丢了性命
AT&T后来被分成了三部分,从事电信业务的AT&T、从事设备制造业务的朗讯和从事计算机业务的NCR。
朗讯后来为MCI和Sprint提供设备,曾一度股价暴涨, 但是如果需要保证股票的持续增长, 它的销售额和利润就必须不断超过华尔街的预期, 为了支撑这一个高股价, 朗讯走了一步败笔的险棋, 具体做法是, 有朗讯借钱给各个公司买朗讯的设备, 从而促进销售额的增长, 但是到了后来互联网泡沫破灭之后, 借钱买设备的公司统统倒闭了, 朗讯这笔钱一下子变成了收不回来的账了, 从此便不得不关闭贝尔实验室的几乎全部研究部门, 走向没落。
当一个公司没有人对它有控制时,它的长期发展就会出现问题, 在上个世纪九十年代, AT&T已经不属于任何一个人,任何一个机构,没有人对它的发展着想, 而跟多的是, 从华尔街到它的高管和员工, 都希望从它身上快快地捞一笔。
1 | # 安装vue |
1 | vue create my-project |
在Java线程中,通过一个整型成员变量priority来控制优先级, 优先级分为从1-10, 在线程构建的时候可以通过setPriority(int)方法来修改优先级, 默认优先级是5, 优先级高的线程分配时间片的数量要多余优先级低的线程。
针对阻塞频繁的线程需要设置较高的优先级。
偏重计算的线程设置较低的优先级。
在学习双重版本版本的单例模式的时候, 我书写了如下代码
1 | public class Singleton { |
这段代码表面上很完美, 但是在高并发的环境下, 容易触发里面一个潜在的BUG, 问题的根源出自于uniqueInstance = new Singleton(); , 因为在线程读取到uniqueInstance不为null的时候, 该变量引用的对象有可能还没有完成初始化。
笔试->根据笔试的情况,让你讲解几道题(我被抽到的是:加密算法, JVM, 单例模式, &与递归算法)->根据你简历上的内容提问->根据他手上的题纲去提问->聊个人情况、期盼薪资等等
今日, 在Google检索高性能、高可用以及高并发相关的书籍的时候, 无意中在知乎中看到了一场讨论, 从前辈们的分享中, 我猛然发现, 这么久以来, 我把大部分时间都花在了研究各种成熟的架构上面, 而忽略了底层的技术, 如数据结构、计算机网络、数据库存储原理等等, 殊不知, 一名合格的架构师永远都不是以你会用多少多少框架为衡量标准的, 相反, 要想成为一名合格的架构师, 数据结构,操作系统,网络原理,数据库原理等这些都是决定着我以后的高度和深度的, 虽然, 道路走的有点偏, 起码我还是能把握的正确的方向的, 因为为了相关的面试, 我也一直在对这些基础知识进行一个系统的学习, 而知道今天, 我才猛然发现这些基础知识的重要性, 还是十分庆幸自己及早看到了知乎的这一场讨论, 感恩!
最新的5.x版本中Web模块的Portlet已经废弃, 同时增加了异步响应式处理的WebFlux组件。
建造者模式:是一种对象构建模式,它可以将复杂对象的建造过程抽象出来,一步一步组装各种零件进而创建一个复杂的对象。
建造者模式则是要求按照指定的蓝图建造产品,它的主要目的是通过组装零配件而产生一个新产品。
抽象工厂模式实现对产品家族的创建,一个产品家族是由一系列产品组成的
建造者模式是按照指定的蓝图,通过组装零配件而产生的一个新的产品
牛客网上,错题相关的知识点
子类A继承父类B, A a = new A(), 问代码块的执行顺序
父类B静态代码块 -> 子类A的静态代码块 -> 父类B非静态代码块 -> 父类B的构造函数 -> 子类A非静态代码块 -> 子类A的构造函数
“>>>”表示无符号右移, 高位用0填充, 如 1>>>2 为0