摘要: /** * 算法逻辑 * @param key * @param data * @return */ public static byte[] Aes_Cmac01(byte[] key, byte[] data){ // 子密钥生成 // 步骤1,将具有密钥K的AES-128应用于全零输入块。 b 阅读全文
posted @ 2021-03-12 19:57 菜鸟kenshine 阅读(1389) 评论(0) 推荐(0) 编辑
摘要: 目录 学习资料 《Java并发编程艺术》第11章 1.生产者消费者模式 生产者和消费者模式是通过一个容器(阻塞队列)来解决生产者和消费者的强耦合问题。通过阻塞队列来进行通信。(生产者—>阻塞队列—>消费者) 大多数设计模式,都会找一个第三者出来进行解耦,如工厂模式的第三者是工厂类,模板模式的第三者是 阅读全文
posted @ 2021-03-11 21:35 菜鸟kenshine 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 学习资料 《Java并发编程的艺术》10.3~10.4 1.ScheduledThreadPoolExecutor详解 1.1 简介 主要用来在给定的延迟之后运行任务,或者定期执行任务,功能与Timer类似 Timer对应的是单个后台线程,而ScheduledThreadPoolExecutor可以 阅读全文
posted @ 2021-03-11 21:32 菜鸟kenshine 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 学习资料 《Java并发编程的艺术》第10章 10.1~10.2 1.Excutor简介 从JDK 5开始,把工作单元与执行机制分离开来。工作单元包括 Runnable 和 Callable ,而执行机制由 Executor 框架提供 1.1 两级调度模型 在HotSpot VM的线程模型中,Jav 阅读全文
posted @ 2021-03-11 21:27 菜鸟kenshine 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 目录 学习资料 《Java并发编程的艺术》第9章 1.简介 线程池好处: 降低资源消耗:线程创建销毁会消耗资源 提高响应速度 便于管理线程 2.线程池实现原理 线程池要素: corePool:核心线程池大小 maximunPool:最大线程池大小 BlockingQueue<Runnable>:任务 阅读全文
posted @ 2021-03-11 21:22 菜鸟kenshine 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 目录 学习资料 《Java并发编程的艺术》第8章 1.CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作 thread.join()可让当前线程等待thread执行完毕再执行,原理是不停检查join的线程是否存活,如果thread线程存活则让当前线程永远 阅读全文
posted @ 2021-03-11 21:19 菜鸟kenshine 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 学习资料 《Java并发编程的艺术》第7章 1.原子类简介 java5提供了java.util.concurrent.atomic包,该包的原子操作提供了一种用法简单、性能高效、线程安全地更新一个变量的方式,共12个类 Atomic包里的类基本上都是使用Unsafe实现的包装类 2.原子更新基本类型 阅读全文
posted @ 2021-03-11 21:18 菜鸟kenshine 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 1.Fork/Join框架简介 Java7提供的一个并行任务执行,把大任务分割成小任务,最终汇总每个小任务结果后得到大任务结果的框架 Fork/Join运行流程图: 2.工作窃取算法 某个线程从其他队列窃取任务来执行 大任务分割为子任务,将子任务放在不同的任务队列中,每个队列创建一个单独线程来执行队 阅读全文
posted @ 2021-03-11 21:16 菜鸟kenshine 阅读(1092) 评论(0) 推荐(0) 编辑
摘要: 1.阻塞队列简介 阻塞队列是支持两个附加操作的队列(阻塞插入和阻塞移除) 阻塞插入:队列满时会阻塞插入元素的线程,直到队列不满 阻塞移除:队列为空时,获取元素的线程会等待元素变为非空 阻塞队列常用于生产者和消费者的场景 阻塞队列不可用(阻塞)时插入和移除操作的四种处理方式: 抛出异常:队列满再插入, 阅读全文
posted @ 2021-03-11 21:13 菜鸟kenshine 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1.线程安全队列 两种方式: 阻塞算法:出队入队用同一把锁或分别用一把锁实现 非阻塞算法:循环CAS的方式实现 ConcurrentLinkedQueue是基于链接节点的无界线程安全队列,添加元素到队尾,从头部获取元素 2.ConcurrentLinkedQueue结构 每个节点由节点元素item和 阅读全文
posted @ 2021-03-11 21:10 菜鸟kenshine 阅读(83) 评论(0) 推荐(0) 编辑