11 2021 档案
摘要:Mybatis-9.28 环境: JDK1.8 Mysql 5.7 maven 3.6.1 IDEA 回顾: JDBC Mysql Java基础 Maven Junit SSM框架:配置文件的。 最好的方式:看官网文档; 1、简介 1.1、什么是Mybatis MyBatis 是一款优秀的持久层框架
阅读全文
摘要:并发编程从零开始(十七)-ForkJoinPool(终章) 22 ForkJoinTask的fork/join 如果局部队列、全局中的任务全部是相互独立的,就很简单了。但问题是,对于分治算法来说,分解出来的一个个任务并不是独立的,而是相互依赖,一个任务的完成要依赖另一个前置任务的完成。 这种依赖关系
阅读全文
摘要:并发编程从零开始(十六)-ForkJoinPool 第四部分:ForkJoinPool 15 ForkJoinPool用法 ForkJoinPool就是JDK7提供的一种“分治算法”的多线程并行计算框架。Fork意为分叉,Join意为合并,一分一合,相互配合,形成分治算法。此外,也可以将ForkJo
阅读全文
摘要:并发编程从零开始(十五)-CompletableFuture 14 CompletableFuture 用法 从JDK 8开始,在Concurrent包中提供了一个强大的异步编程工具CompletableFuture。在JDK8之前,异步编程可以通过线程池和Future来实现,但功能还不够强大。 C
阅读全文
摘要:并发编程从零开始(十四)-Executors工具类 12 Executors工具类 concurrent包提供了Executors工具类,利用它可以创建各种不同类型的线程池 12.1 四种对比 单线程的线程池: 固定数目线程的线程池: 每接收一个请求,就创建一个线程来执行: 单线程具有周期调度功能的
阅读全文
摘要:并发编程从零开始(十三)-线程池 第三部分:线程池与Future 9 线程池的实现原理 下图所示为线程池的实现原理:调用方不断地向线程池中提交任务;线程池中有一组线程,不断地从队列中取任务,这是一个典型的生产者—消费者模型。 要实现这样一个线程池,有几个问题需要考虑: 队列设置多长?如果是无界的,调
阅读全文