摘要: 本文你将获得以下信息: ● 线程池源码解读 ● 线程池执行流程分析 ● 带返回值的线程池实现 ● 延迟线程池实现 为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据自己的情况自主选择阅读顺序和需要了解的章节。 1 线程池优点 线程池能够更加充分的利 阅读全文
posted @ 2020-05-17 18:45 wxxujian 阅读(505) 评论(0) 推荐(0)
摘要: 1 概述 在开始学习Thread之前,我们先来了解一下 线程和进程之间的关系: 线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位。 线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生 阅读全文
posted @ 2020-05-17 17:48 wxxujian 阅读(555) 评论(0) 推荐(0)
摘要: 1 前言 延迟队列的使用场景:1.未按时支付的订单,30分钟过期之后取消订单;2.给活跃度比较低的用户间隔N天之后推送消息,提高活跃度;3.过1分钟给新注册会员的用户,发送注册邮件等。 实现延迟队列的方式有两种: 1)通过消息过期后进入死信交换器,再由交换器转发到延迟消费队列,实现延迟功能; 2)使 阅读全文
posted @ 2020-05-17 17:16 wxxujian 阅读(297) 评论(0) 推荐(0)
摘要: 1 前言 RabbitMQ是一个开源的消息代理软件(面向消息的中间件),它的核心作用就是创建消息队列,异步接收和发送消息,MQ的全程是:Message Queue中文的意思是消息队列。 1.1 使用场景 ● 削峰填谷:用于应对间歇性流量提升对于系统的“破坏”,比如秒杀活动,可以把请求先发送到消息队列 阅读全文
posted @ 2020-05-17 16:58 wxxujian 阅读(328) 评论(0) 推荐(0)
摘要: 1 介绍 JUnit是一款优秀的开源Java单元测试框架,也是目前使用率最高最流行的测试框架,开发工具Eclipse和IDEA对JUnit都有很好的支持,JUnit主要用于白盒测试和回归测试。 白盒测试:把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的; 回归测试:软件或 阅读全文
posted @ 2020-05-17 16:08 wxxujian 阅读(324) 评论(0) 推荐(0)