摘要:
今天给大家整理一篇关于Redis经常被问到的问题:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等概念 一、缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库 阅读全文
摘要:
如果你经历过创业,经历过快速迭代业务,经历过用户量不断上涨,经历过访问并发越来越大,你一定会遇到以下系统问题: 用户访问页面越来越慢 系统性能下降,数据库扛不住,连接数经常打满,最终数据库挂掉,重启后又快速挂掉 改了一个小地方,另外一个看似不相干的地方却挂了,严重耦合 用户访问页面越来越慢 系统性能 阅读全文
摘要:
一、静态页面 静态页面,是指互联网架构中,几乎不变的页面(或者变化频率很低),例如: 首页等html页面 js/css等样式文件 jpg/apk等资源文件 首页等html页面 js/css等样式文件 jpg/apk等资源文件 静态页面,有与之匹配的技术架构来加速,例如: CDN nginx squi 阅读全文
摘要:
一、关于并发我们说的高并发是什么? 在互联网时代,高并发,通常是指,在某个时间点,有很多个访问同时到来。 高并发,通常关心的系统指标与业务指标? QPS:每秒钟查询量,广义的,通常指指每秒请求数 响应时间:从请求发出到收到响应花费的时间,例如:系统处理一个HTTP请求需要100ms,这个100ms就 阅读全文
摘要:
日志大家都不陌生,无论是电脑还是手机每天会产生大量的日志,处理这些日志需要专门的日志系统,这些日志系统普遍需要具有以下特点: (1)构建应用系统和分析系统的桥梁,并将它们之间的关联解耦; (2)支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统; (3)具有高可扩展性。即:当数据量增加时 阅读全文
摘要:
多线程是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是作为一个程序员仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者 阅读全文
摘要:
频繁模式和对应的关联或相关规则在一定程度上刻画了属性条件与类标号之间的有趣联系,因此将关联规则挖掘用于分类也会产生比较好的效果。关联规则就是在给定训练项集上频繁出现的项集与项集之间的一种紧密的联系。其中“频繁”是由人为设定的一个阈值即支持度 (support)来衡量,“紧密”也是由人为设定的一个关联 阅读全文
摘要:
FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断得扫描整个数据库进行比对。为了达 到这样的效果,它采用了一种简洁的数据结构,叫做frequent-pattern tree(频繁模式树)。下面就详细谈谈如何构造这个树,举 阅读全文
摘要:
Error和Exception的联系 继承结构:Error和Exception都是继承于Throwable,RuntimeException继承自Exception。 Error和RuntimeException及其子类称为未检查异常(Unchecked exception),其它异常成为受检查异常 阅读全文
摘要:
在互联网时代,我们所开发的应用大多是直面用户的,程序中的任何一点小疏忽都可能导致用户的流失,而程序出现异常往往又是不可避免的,那该如何减少程序异常对用户体验的影响呢?其实方法很简单,对异常进行捕获,然后给予相应的处理即可。但实现的方式却有好多种,例如: 像这种标准的 try-catch 是可以解决问 阅读全文