1、LRU缓存机制:
LRU是一种缓存替换算法,就是将最近最少使用的页面或者元素进行替换,将最近最多使用的页面或者元素保持在缓存里。
2、rabbitmq 消息队列
(1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的。消息生产者和消费者都不知道对方的存在;
(2)异步:主流程只需要完成业务的核心功能;对于业务非核心功能,将消息放入到消息队列之中进行异步处理,减少请求的等待,提高系统的总体性能;
(3)削峰/限流:将所有请求都写到消息队列中,消费服务器按照自身能够处理的请求数从队列中拿到请求,防止请求并发过高将系统搞崩溃;
3、多线程
实现线程:继承Thread类;实现Runnable接口;实现Callable接口
避免死锁最简单的方法就是阻止循环等待条件 ,将系统中所有的资源设 置标志位、排序,规定所有的进程申请资源必须以一定的顺序(升序或降序) 做操作来避免死锁 wait()方法用于线程间通信,如果等待条件为真且其它线程被唤醒时它会 释放锁,而 sleep()方法仅仅释放 CPU 资源或者让当前线程停止执行一段时间, 但不会释放锁。


