自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 问题排查

Java 问题排查

2024-07-19 11:22:01 456

原创 Java GC垃圾回收

GC垃圾回收

2024-07-19 11:19:42 590

原创 Java 内存结构

Java 内存结构

2024-07-18 15:17:46 812

原创 Java 类加载机制

Java 类加载机制

2024-07-18 15:14:39 393

原创 Java 零拷贝

Java 零拷贝

2024-07-16 09:58:50 868

原创 Java 五种IO模型

Java 五种IO模型

2024-07-16 09:56:50 598

原创 Java 基础IO

Java基础IO

2024-07-16 09:54:14 436

原创 JUC工具类

JUC工具类

2024-07-11 15:15:17 663

原创 JUC线程池

JUC线程池

2024-07-11 15:12:36 1251

原创 JUC集合类

JUC集合类

2024-07-11 15:08:12 744

原创 JUC锁详解

JUC锁详解

2024-07-11 15:03:04 951

原创 JUC原子类

JUC原子类

2024-07-09 09:58:11 664

原创 JUC全局观

JUC全局观

2024-07-09 09:55:29 617

原创 Java并发关键字

Java并发关键字

2024-07-08 11:21:38 1034

原创 Java并发基础

Java并发基础

2024-07-08 11:02:11 691

原创 Java集合

容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。

2024-07-05 18:18:50 860

原创 Java基础

Java基础部分,包括语法基础,泛型,注解,异常,反射和其它(如SPI机制等)。

2024-07-05 18:11:01 1270

原创 01 什么是RPC?原理是什么?

介绍了什么是RPC?原理是什么?

2024-07-02 17:11:09 978

原创 Java 并发 - ThreadLocal详解

ThreadLocal是通过线程隔离的方式防止任务在共享资源上产生冲突, 线程本地存储是一种自动化机制,可以为使用相同变量的每个不同线程都创建不同的存储。

2024-07-02 09:57:46 967

原创 JUC工具类: Exchanger详解

Exchanger是用于线程协作的工具类, 主要用于两个线程之间的数据交换。

2024-07-02 09:53:48 784

原创 JUC工具类: Phaser详解

Phaser是JDK 7新增的一个同步辅助类,它可以实现CyclicBarrier和CountDownLatch类似的功能,而且它支持对任务的动态调整,并支持分层结构来达到更高的吞吐量。

2024-07-02 09:52:13 564

原创 JUC工具类: Semaphore详解

Semaphore底层是基于AbstractQueuedSynchronizer来实现的。Semaphore称为计数信号量,它允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可证,只有成功获取许可证,才能使用资源。

2024-07-01 11:08:44 880

原创 JUC工具类: CyclicBarrier详解

CyclicBarrier底层是基于ReentrantLock和AbstractQueuedSynchronizer来实现的, 在理解的时候最好和CountDownLatch放在一起理解(相见本文分析)。

2024-07-01 11:04:45 815

原创 JUC工具类: CountDownLatch详解

CountDownLatch底层也是由AQS,用来同步一个或多个任务的常用并发工具类,强制它们等待由其他任务执行的一组操作完成

2024-06-27 18:29:19 957

原创 JUC线程池: Fork/Join框架详解

ForkJoinPool 是JDK 7加入的一个线程池类。Fork/Join 技术是分治算法(Divide-and-Conquer)的并行实现,它是一项可以获得良好的并行性能的简单且高效的设计技术。目的是为了帮助我们更好地利用多处理器带来的好处,使用所有可用的运算能力来提升应用的性能

2024-06-27 18:25:42 776

原创 JUC线程池: ScheduledThreadPoolExecutor详解

在很多业务场景中,我们可能需要周期性的运行某项任务来获取结果,比如周期数据统计,定时发送数据等。在并发包出现之前,Java 早在1.3就提供了 Timer 类(只需要了解,目前已渐渐被 ScheduledThreadPoolExecutor 代替)来适应这些业务场景。随着业务量的不断增大,我们可能需要多个工作线程运行任务来尽可能的增加产品性能,或者是需要更高的灵活性来控制和监控这些周期业务。这些都是 ScheduledThreadPoolExecutor 诞生的必然性。

2024-06-26 10:29:29 444

原创 JUC线程池: ThreadPoolExecutor详解

本文主要对ThreadPoolExecutor详解。

2024-06-26 10:26:47 1116

原创 JUC线程池: FutureTask详解

Future 表示了一个任务的生命周期,是一个可取消的异步运算,可以把它看作是一个异步操作的结果的占位符,它将在未来的某个时刻完成,并提供对其结果的访问。在并发包中许多异步任务类都继承自Future,其中最典型的就是 FutureTask。

2024-06-25 16:30:18 859

原创 JUC集合: BlockingQueue详解

JUC里的 BlockingQueue 接口表示一个线程安放入和提取实例的队列。本文将给你演示如何使用这个 BlockingQueue,不会讨论如何在 Java 中实现一个你自己的 BlockingQueue

2024-06-25 16:28:05 605

原创 JUC集合: ConcurrentLinkedQueue详解

ConcurerntLinkedQueue一个基于链接节点的无界线程安全队列。此队列按照 FIFO(先进先出)原则对元素进行排序。队列的头部是队列中时间最长的元素。队列的尾部 是队列中时间最短的元素。新的元素插入到队列的尾部,队列获取操作从队列头部获得元素。当多个线程共享访问一个公共 collection 时,ConcurrentLinkedQueue是一个恰当的选择。此队列不允许使用null元素。

2024-06-24 09:46:21 923

原创 JUC集合: CopyOnWriteArrayList详解

CopyOnWriteArrayList是ArrayList 的一个线程安全的变体,其中所有可变操作(add、set 等等)都是通过对底层数组进行一次新的拷贝来实现的。COW模式的体现。

2024-06-24 09:43:35 733

原创 JUC集合: ConcurrentHashMap详解

JDK1.7之前的ConcurrentHashMap使用分段锁机制实现,JDK1.8则使用数组+链表+红黑树数据结构和CAS原子操作实现ConcurrentHashMap;本文将分别介绍这两种方式的实现方案及其区别

2024-06-23 16:04:10 964

原创 JUC锁: ReentrantReadWriteLock详解

ReentrantReadWriteLock表示可重入读写锁,ReentrantReadWriteLock中包含了两种锁,读锁ReadLock和写锁WriteLock,可以通过这两种锁实现线程间的同步。

2024-06-23 16:01:01 551

原创 JUC锁: ReentrantLock详解

可重入锁ReentrantLock的底层是通过AbstractQueuedSynchronizer实现,所以先要学习上一章节AbstractQueuedSynchronizer详解。@立刀旁。

2024-06-22 23:57:51 887

原创 JUC锁: 锁核心类AQS详解

AbstractQueuedSynchronizer抽象类是核心,需要重点掌握。它提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。@立刀旁

2024-06-22 23:56:18 574

原创 JUC锁: LockSupport详解

LockSupport是锁中的基础,是一个提供锁机制的工具类,所以先对其进行分析。

2024-06-21 17:36:36 732

原创 JUC原子类: CAS, Unsafe和原子类详解

JUC中多数类是通过volatile和CAS来实现的,CAS本质上提供的是一种无锁方案,而Synchronized和Lock是互斥锁方案; java原子类本质上使用的是CAS,而CAS底层是通过Unsafe类实现的。所以本章将对CAS, Unsafe和原子类详解。

2024-06-21 17:32:55 936

原创 线性表 - 栈和队列

数组和链表都是线性存储结构的基础,栈和队列都是线性存储结构的应用。

2024-06-20 15:33:45 554

原创 线性表(散列) - 哈希表

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

2024-06-20 15:30:08 336

原创 线性表 - 链表

n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点,每个节点只有一个后续节点,首节点没有前驱节点,尾节点没有后续节点。确定一个链表我们只需要头指针,通过头指针就可以把整个链表都能推出来。

2024-06-20 15:28:39 551

空空如也

空空如也

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

TA关注的人

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