自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式一致性协议比较(paxos/zab)

针对 paxos 算法和 zab 算法讲解和比较。针对其实现方面的问题进行探讨,如:选票生成,数据同步,活锁,幽灵复现等

2022-08-29 00:18:09 661 2

原创 深入理解Java线程池(3):ThreadPoolExecutor 线程池关闭相关方法与操作

shutdown用于关闭线程池的方法之一。简单来说,会等任务都完成后在关闭线程池。public void shutdown() { final ReentrantLock mainLock = this.mainLock; mainLock.lock(); //全局锁 try { //查看调用shutdown的线程是否有权限结束线程池中的worker...

2018-11-04 20:38:22 1838

原创 深入理解Java线程池(2):ThreadPoolExecutor执行任务相关方法,内部类worker

这次来看看worker线程启动和运行的相关方法。了解任务获取与异常处理机制。关于线程池参数解释,启动方法解析请移步:https://blog.csdn.net/xiaoyuchenCSDN/article/details/83549068Worker先说说Worker类,它作为线程的承载类、任务的执行者,自然少不了实现Rannable接口,在ThreadPoolExecutor的addWo...

2018-11-04 16:41:35 720

原创 深入理解Java线程池(1):ThreadPoolExecutor整体流程梳理,创建worker相关方法

线程池作为一个线程的容器,主要的作用就是防止频繁创建线程,节省时间资源和cpu资源。虽然一定程度上占用了内存,但实际情况下利远远大于弊。构造方法public ThreadPoolExecutor( int corePoolSize, //核心线程数量 int maximumPoolSize, //最大线程数量 long keepAliveTime, //最大存活时间...

2018-10-31 10:28:30 608

原创 jvm synchronized底层设计与优化

通常来讲synchronized被当做重量级锁来使用,但其实它并不是一味地阻塞当前线程,而是通过锁升级等方式进行了很多的优化。一 重量级锁(互斥同步或悲观锁)最原始的,也是synchronized与生俱来的同步方式。使用synchronized可以指定一个锁对象,如果没有指定对象就是用当前对象的实例(非static的普通方法)或者当前对象的class对象(被static修饰的方法)作为被指定...

2018-10-07 16:34:26 174

原创 jvm 类加载器详解

类加载器想说明白什么是类加载器需要先明白几个关键问题:第一个问题:如何确定Java虚拟机中一个类的唯一性?虚拟机如何避免一个类被重复加载?虚拟机中有多个类加载器,只有这个类和类加载器关联才可以确定其唯一性。也就是说一个类如果被不同类加载器加载了,就会生成多个逻辑上完全没有关系的类。第二个问题:什么是类加载器?他的作用是什么?负责动态将Java类加载到Java虚拟机内存空间中。...

2018-09-18 22:46:04 592 1

空空如也

空空如也

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

TA关注的人

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