理论
文章平均质量分 66
CC啊
计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。
展开
-
线程池(一)
一、背景 多线程带来的好处不言而喻,但是使用不当,也是麻烦多多。每个线程从创建到销毁,整个生命周期需要使用多类硬件资源,若频繁创建线程反而会消耗很多硬件资源,得不偿失。当执行大量任务时,将在线程创建,销毁,任务切换额外消耗大量的资源。线程池的出现解决了这类问题,线程创建后即使执行完任务仍可以继续执行其它任务,减少了每个任务调用的开销,在执行大量异步任务时提供增强的性能,并且还可以提...原创 2018-12-19 18:15:26 · 157 阅读 · 1 评论 -
线程池(三)
线程池(三)主要介绍线程池如何根据不同的场景配置,及简单的使用示例。如有不正确之处,请斧正,谢谢!一、配置场景线程池初始化参数:corePoolSize,maxMumPoolSize,keepAlivetime,TimeUnit,ThreadFactory,BlockingQueue,RejectedExecutorHandler。参数不同会产生不同的效果,示例:任务队列(queue)设置...原创 2018-12-20 17:11:21 · 159 阅读 · 0 评论 -
线程池(二)
线程池介绍1、常用线程池 官方建议使用Executors工厂方法提供的线程池。newFixedThreadPool、newSingleThreadExecutor、newCachedThreadPool、newSingleThreadScheduledExecutor、newScheduledThreadPool。以上线程池覆盖大部分场景,如果因业务需求,需详细配置可以继续阅读...原创 2018-12-20 17:11:09 · 318 阅读 · 1 评论 -
Dubbo 服务暴露
本篇文章主要是阅读了dubbo官方文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html关于服务的暴露和引用,感觉很多细节还不是十分清楚,所以决定从自己手上的项目看起,然后一步步探究其中的实现,顺便记...转载 2019-06-03 10:28:28 · 353 阅读 · 0 评论 -
缓存
缓存1、缓存目的是减少db压力,提高数据访问速度,降低服务相应时间,给用户良好的体验。2、缓存工具:readis、memcached3、缓存监测工具:zabbix、MemAdmin、Redis-star4、配置策略配置策略需要考虑以下维度:业务场景、时效性、粒度、容量、命中率(1)业务场景某业务访问量高,或一个读多写少,或并发高的业务可以使用缓存策略。如借贷类APP,从...原创 2018-12-21 14:30:12 · 202 阅读 · 0 评论 -
数据库锁实现秒杀活动
在没有使用缓存技术前,怎么处理高并发?在没有众多消息中间件或高级工具前,怎么处理?之前本人将工作中参加的秒杀活动实践过程写成一篇文章供大家参考。文章描述的实现过程是通过redis分布式锁实现的,利用了redisson的原子类RAtomicLong,在缓存中操作库存,从而满足数据一致性和高并发的场景要求。实践下来缓存的方便之处不言而喻。文章地址:一次秒杀活动https://blog....原创 2019-09-16 08:55:53 · 663 阅读 · 0 评论