我的个人博客
首页
友情链接
官方信息
1
成套原型
2
kafka3.x-3
3
kafka3.x-2
4
kafka3.x-1
5
通过rpm安装java
星空之下
累计撰写
79
篇文章
累计创建
0
个标签
累计收到
0
条评论
导航
首页
友情链接
官方信息
目录
搜索
分类
多线程系列
JUC-8:异步编程
2 年前
412
0
0
65.2℃
多线程系列
八:异步编程8.1 FutureTask8.1.1 介绍FutureTask是一个可以取消异步计算的类。FutureTask是对Future做的一个基本实现,可以调用方法开始和取消一个任务。一般配合Callable去使用。异步任务启动后,可以获取一个绑定当前异步任务的FutureTask。可以基于F
JUC-7:JUC并发工具
2 年前
281
0
0
52.1℃
多线程系列
七:JUC并发工具7.1 CountdownLatch7.1.1 介绍假设有一个订单业务,有以下步骤:1.扣减库存—业务处理时间a2.下订单—业务处理时间b3.通知商家—业务处理时间c4.给用户追加积分—业务处理时间d5.给用户分发优惠券—业务处理时间e6.给用户响应—业务处理时间f其中1,2两个步
JUC-6:ConcurrentHashMap
2 年前
497
0
0
73.7℃
多线程系列
ConcurrentHashMap存储结构基础知识concurrentHashMap是线程安全的。之前安全的map用的是hashTable,但是hashTable的每一个方法都加了synchronized关键字,效率很低。在JDK1.8中存储方式:数组+链表+红黑树。加锁的方式是桶锁。以CAS+sy
JUC-5:线程池
2 年前
484
0
0
72.4℃
多线程系列
五:线程池5.1 线程池概述5.1.1 为什么要使用线程池1.在业务开发过程中,为了提升效率,可以将一个业务通过多线程的方式去执行。比如有一个较大的任务,可以将任务分成几块,分别交给几个线程去执行,最终做一个汇总即可。比如做业务操作时,需要发送短信或邮件,可以采用异步的方式,其实就是构建另一个线程去
JUC-4:阻塞队列
2 年前
280
0
0
52℃
多线程系列
四:阻塞队列基础概念1.生产者消费者概念生产者消费者是设计模式的一种,让生产者消费者通过一个容器来解决强耦合的问题生产者和消费者之间不会直接通讯,而是通过一个容器(队列)来进行通讯。生产者生产完扔进队列中,消费者直接从容器中获取数据消费。2.JUC阻塞队列存取方法package java.util.
JUC-3:锁
2 年前
594
0
0
83.4℃
多线程系列
一:锁一:锁的分类可重入锁-不可重入锁java中提供的synchronized、ReentrantLock、ReentrantReadWriteLock都是可重入锁ThreadPoolExecutor中的Worker实现的是不可重入锁重入:当前线程获取A锁,获取之后尝试再次获取A锁是可以直接拿到的不
JUC-2:并发三大特性
2 年前
424
0
0
66.4℃
多线程系列
一:并发三大特性JMMJMM(Java Memory Model)。不同硬件和不同操作系统在内存上是存在差异的,java为了解决相同代码在不同平台上出现的差异或者问题,使用JMM-Java内存模型来解决这些差异。使并发编程能够跨平台。JMM规定所有的变量都会存储在主内存中。在操作的时候,需要从主内存
JUC-1:线程基础
2 年前
348
0
0
58.8℃
多线程系列
一.线程基础1. 基础概念1.1 进程和线程概念:进程:运行中的程序。指操作系统分配资源(比如内存等)的最小单位。线程:程序执行的最小单位。或者叫CPU调度的最小单位。区别:进程就是线程的容器,线程需要利用进程中的一些资源,处理代码,指令,最终实现进程锁预期的结果。同一个进程下的线程会共享进程中的资