自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java线程Hotspot线程Linux线程源码穿透

首先不妨先看一副图通常我们在Java开发中使用线程无非就是使用Thread类提供的一些API,比如new Thread()、Thread.start() 等等方法。那么对于Linux操作系统而言是没有线程概念的,线程的概念是在glibc(操作系统API的一部分)层抽象出来的实现,是提供给Linux系统开发者使用的。目的是控制进程资源的使用。所以这里对应的线程/进程实体在如下三层都有体现: 那么我们的JVM如何完成不同层线程之间的联系呢?首先glibc层的线程对象本来就是基于内核层的进程实体task_stru

2022-09-05 11:01:56 178 1

原创 Reentrant源码分析

此文由ReentrantLock入口,深入AQS源码,探究ReentrantLock是怎么利用AQS来实现互斥锁以及可重入的功能。 Lock //JUC顶级锁接口,定义锁的抽象功能 public interface Lock { //上锁接口,上锁过程中不可响应中断,不成功则等待,直到上锁成功为止 void lock(); //上锁接口,上锁过程中可以响应中断,如果发生中断,那么抛出异常 void lockInterruptibly() throws In

2022-02-25 16:24:30 258

原创 Java线程池原理剖析

类结构体系 Executor ​ |–ExecutorService ​ |–AbstractExecutorService ​ |–ThreadPoolExecutor ​ |–ScheduledThreadPoolExecutor 说明: Executor : 定义了执行器接口,用于执行任务 AbstractExecutorService : 定了为执行器执行而服务的一堆接口 ThreadPoolExecutor : 使用模板方法实现了一堆为执行器执行服务的一堆接口实现 Scheduled

2022-02-24 10:33:02 350

空空如也

空空如也

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

TA关注的人

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