ps做 网站标准尺寸,一号网站建设网站制作,一张图片做单页网站,wordpress怎样搭建网站1.线程安全的集合类 在Java中#xff0c;一些线程安全的集合类有Stack、Vector、Properties、Hashtable等 2.线程池中execute和submit的区别 1#xff09;参数及返回值不同 excute只能提交Runnable#xff0c;无返回值 submit既可以提交Runnable#xff0c;返回值为null一些线程安全的集合类有Stack、Vector、Properties、Hashtable等 2.线程池中execute和submit的区别 1参数及返回值不同 excute只能提交Runnable无返回值 submit既可以提交Runnable返回值为null也可以提交Callable返回值Future 2异常抛出不同 execute执行任务时遇到异常会直接抛出 submit执行任务是遇到异常不会直接抛出只有在使用Future的get方法获取返回值时才会抛出异常
3.线程池创建的方式
ExecutorService threadPool1 Executors.newFixedThreadPool(5); //5个窗口 ExecutorService threadPool2 Executors.newSingleThreadExecutor(); //一个窗口 ExecutorService threadPool3 Executors.newCachedThreadPool();
//表示延迟一秒后执行3秒 ScheduledExecutorService scheduledThreadPool Executors.newScheduledThreadPool(5); scheduledThreadPool.scheduleAtFixedRate(new Runnable() { Override public void run() { log.info(delay 1 seconds, and excute every 3 seconds); } }, 1, 3, TimeUnit.SECONDS); 4.缓存击穿、缓存穿透和缓存雪崩的区别
1缓存击穿热点数据过期导致大批量查询数据库
解决办法
1对热点数据采用永不过期策略避免缓存击穿。 2缓存读库加锁
2缓存穿透指当一个查询请求访问一个不存在于缓存中且也不存在于数据库中的数据时这个请求会无效地继续访问数据库而不会被缓存。如果黑客故意发送大量非法请求则缓存层无法起到过滤作用可能导致数据库负载过大。
解决办法
1业务类型校验屏蔽不合规的KEY 2布隆过滤器无法确定是否存在但可以确定一定不存在
3缓存雪崩指当缓存集中在某个时间点失效或由于某个原因发生故障导致大量的请求直接打到后端数据库造成数据库瞬时压力过大甚至引起数据库崩溃。在缓存雪崩期间系统性能急剧下降无法正常提供服务。
解决办法
1过期时间打散 2缓存不过期 5.常用的设计模式 6.架构方面的工作 7.团队管理的经验 8.虚拟机调优的经验 9.大数据调优的方式