自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Spring AOP

学习笔记

2022-07-17 23:27:43 95 1

原创 异步CompletableFuture简单使用

异步CompletableFuture简单使用、runXXX方法都是没有返回结果的,supplyXXX都是有返回结果的。可以传入自定义的线程池,否则就用默认的线程池。**supplyAsync()**方法没有返回值。public static ExecutorService threadPool = Executors.newFixedThreadPool(10);public static void main(String[] args) { // 1、简单的执行异步任务 // 创建

2020-11-29 20:36:09 149

原创 线程池(ThreadPoolExecutor)简单使用

线程池相关知识点笔记ThreadPoolExecutor七大参数int corePoolSize:核心线程数。线程池,创建好以后就准备就绪的线程数量,这些线程就等待来接受异步任务去执行。只要线程池不销毁,就一直存在。int maximumPoolSize:最大线程数。线程的最大数量。long keepAliveTime:存活时间。如果当前的正在运行的线程数量大于核心数量(corePoolSize)。理解为线程数大于corePoolSize但小于maximumPoolSize的线程数,在执行完任务后

2020-11-29 15:08:51 132

原创 Synchronize锁升级的过程

Synchronize锁升级的过程1.Java对象的布局在JVM中,对象在内存中主要分为三块区域(对象由三部分组成):对象头、实例数据和对齐填充。1.1对象头由Mark Word和Kclass pointer组成Mark Wor:存储着对象自身的运行时数据,比如这个对象的哈希码、GC分代的年龄、锁状态标志、线程持有的锁、偏向锁ID、偏向锁时间戳等。Kclass pointer:是一个指向类元数据的指针。2.锁升级原理2.1 什么是偏向锁?偏向锁是JDK1.6中的一个重要引进内容,因为Ho

2020-06-26 14:35:41 214

原创 volatile关键字的基本理解

volatile的简单理解volatile 是 Java 虚拟机提供的轻量级的同步机制,它有什么作用呢?保证可见性禁止指令排序不保证原子性讲这三大特性之前,先来简单理解一下JMM(Java 内存模型)基本概念:JMM 本身是一种抽象的概念并不是真实存在,它描述的是一组规定或则规范,通过这组规范定义了程序中的访问方式。JMM 同步还规定了线程解锁前,必须把共享变量的值...

2020-04-02 23:49:47 80

原创 Semaphore的基本使用

Semaphore的基本理解Semaphore英文翻译是信号灯的意思,在这个是信号量的意思信号量主要用于两个目的,一个是用于多个共享资源的互斥使用,另一个是用于并发线程数的控制。...

2020-01-27 11:42:21 122

原创 CyclicBarrier的基本使用

CyclicBarrier的基本使用CyclicBarrier,一个同步辅助类,在API中是这么介绍的:它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。通俗点...

2020-01-26 17:34:00 147

原创 ReenterLock的基本理解

可重入锁:可重复可递归调用的锁,也就是说在外层使用锁之后,在内层也可以使用外层的锁,并且不会发生死锁ReentrantLock和synchronized都是可重入锁import java.util.concurrent.TimeUnit;public class ReenterLockDemo { public static void main(String[] args) {...

2020-01-26 17:33:48 1007

原创 CountDownLatch的基本理解

CountDownLatch的基本使用import java.util.concurrent.CountDownLatch;public class CountDownLatchDemo { public static void main(String[] args) { CountDownLatch countDownLatch = new CountDownLat...

2020-01-26 17:32:35 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除