摘要:
限流:通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理 1、计数法(固定时间窗口限流算法): 选定一个时间的起点,之后每当有接口请求到来,我们就将计数器加1,如果在当前时间窗口内,根据限流规则(每秒钟允许100次访问请 阅读全文
摘要:
redis的数据类型都是通过多种数据结构来实现,主要是出于时间和空间的考虑,当数据量小的时候通过数组下标访问最快,占用内存最小【压缩列表是数组的变种,允许存储的数据大小不同】 因为数组需要占用连续的内存空间,所以当数据量大的时候,就需要使用链表,同时为了保证速度又需要和数组结合,也就有了散列表。 1 阅读全文
摘要:
一、synchronized的三种应用方式 1、修饰实例方法,锁是当前实例对象,进入同步代码前要获得当前实例的锁 /** * synchronized修饰实例方法,当前线程的锁是实例对象accountingSync * 当一个线程正在访问一个对象的synchronized实例方法,那么其他线程不能访 阅读全文
摘要:
1、对象优先在Eden分配 -Xms20M -Xmx20M java堆的大小20M -Xmn10M 新生代10M 老年代10M <!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6IjE0MjctMTU0MTgxNjA3NjU5NSIsI 阅读全文
摘要:
一、对象的创建 1、虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 2、虚拟机将为新生对象分配内存 指针碰撞:Java堆中内存是绝对规整的,所有用过的内存 阅读全文
摘要:
一、余弦相似度: 余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性" 二维向量的余弦相似度: 多维向量的余弦相似度(类比) 协同过滤(Collaborative Filtering, 简称 CF): 收集用户行为 减噪与归一化处理 二、基于物品的协同过滤推荐算法(ite 阅读全文
摘要:
一、欧几里得距离 用来记录两个向量之间的距离。 欧氏距离越小,两个用户相似度就越大, 欧氏距离越大,两个用户相似度就越小。 二维空间的公式: 其中, 为点 与点 之间的欧氏距离; 为点 到原点的欧氏距离。 三维空间的公式: n维空间的公式: 二、闵可夫斯基距离 当p=1时,即为曼哈顿距离; 当p=2 阅读全文
摘要:
1、MySQL经典面试题 2、MySQL经典面试题 3、Redis经典面试题 4、Redis经典面试题 5、java面试问题 阅读全文
摘要:
一、什么是事务? 事务保证一组数据库操作,要么全部成功,要么全部失败,MYSQL事务支持是在引擎层实现。 二、哪些存储引擎支持事务? 三、如何开启/结束事务? 四、事务的四大特性? 原子性 一致性 隔离性 持久性 五、事务并发带来的问题? 更新丢失 脏读:事务A读取了事务B已修改但尚未提交的数据,然 阅读全文
摘要:
手写: 机读: from:需要从哪个数据表检索数据 where:过滤表中数据的条件 group by:如何将上面过滤出的数据分组 having:对上面已经分组的数据进行过滤的条件 select:查看结果集中的哪个列,或列的计算结果 order by :按照什么样的顺序来查看返回的数据 阅读全文