自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DougLiang的博客

知识不像苹果,不会越分越少。

  • 博客(18)
  • 收藏
  • 关注

原创 伪共享的概念以及避免的方法

伪共享的概念及避免方法

2024-09-05 09:02:34 507

原创 ”wait”和“notify”为什么要在Synchronized代码块里面?

wait和notify用来实现多线程之间的协调,wait表示让线程进入到阻塞状态,notify表示让阻塞的线程唤醒。

2024-09-05 08:59:00 621

原创 B+树详细解析

B+树是一种平衡多路查找树。

2024-09-02 18:40:02 1274

原创 分布式事务的实现方式之XA协议

XA协议是一种基于两阶段提交(Two-Phase Commit)的分布式事务协议,用于实现跨多个资源管理器(如数据库、消息队列等)的分布式事务一致性。

2024-09-02 18:37:57 439

原创 网络通信模型

IO和Redis网络通讯模型

2024-09-01 09:30:36 1664

原创 深度解读并发安全集合的原理及源码

本节主要介绍J.U.C包中的几种并发安全集合:ConcurrentHashMap,ConcurrentLinkedQueue,和ConcurrentLinkedDeque。所谓并发安全集合,相对于普通集合来说,能够保证在多线程环境下向集合中添加数据时的线程安全性。主要讲ConcurrentHashMap在实现线程安全性方面对性能和安全性的合理平衡。

2024-09-01 09:27:40 1457

原创 深度剖析阻塞队列的设计原理及实现

队列是一种基本的数据结构,它是一个只允许在一端进行移除操作,在另一边进行插入操作的线性表,允许插入的一端叫队尾,允许移除的一端成为队头。其实阻塞队列在队列的基础上增加了两个操作。支持阻塞插入:在队列满的情况下,会阻塞继续往队列中添加数据的线程,直到队列中有元素被释放。支持阻塞移除:在队列为空的情况下,会阻塞从队列中获取元素的线程,直到队列中添加了新的元素。

2024-08-31 10:49:59 904

原创 J.U.C并发工具集实战及原理分析

在J.U.C里提供了很多的并发控制工具类,这些工具类可以使得线程按照业务的某种约束来执行。本节包含CountDownLatch、Semaphore、CyclicBarrier等工具类。目的是了解他们基本使用、原理及实际应用。

2024-08-31 10:46:58 810

原创 线程通信之等待机制

wait()/notify()

2024-08-30 09:04:10 1249

原创 并发编程不得不知的工具

ThreadLocal && Fork/Join

2024-08-30 08:58:49 953

原创 并发安全性之Lock锁及原理分析

ReentrantReadWriteLock锁有一个问题,如果当前有现成在调用get()方法,那么所有调用add()方法的线程必须等待调用get()方法的线程释放锁之后才能写,也就是说在读的过程中不允许写。而如果get的方法的线程比较多时,会导致写线程一直类阻塞。为解决ReentrantReadWriteLock中的这个潜在的问题,在java8中引入了StampedLock机制,即优化了读写锁的访问,简单的说就是提供了一种乐观锁策略,当有现成调用get方法读取数据时,不会阻塞准备执行写操作的线程。

2024-08-29 12:42:44 1038

原创 yum安装nexus3详细教程分享

yum安装nexus3详细教程分享

2024-08-29 10:42:24 701

原创 深度解析synchronized实现原理

深度解析synchronized实现原理

2024-08-28 10:42:47 836

原创 volatile为什么能解决可见性和有序性问题

volatile为什么能解决可见性和有序性问题

2024-08-28 10:32:13 1216

原创 Java线程的实践及原理揭秘

由于单个程序无法让CPU和I/O设备始终处于忙碌状态,所以操作系统允许同时加载多个程序到内存,也就是说可以同时启动多个进程,系统给这些进程分配独立的地址空间,以保证每个进程的地址不会相互干扰。即横向增加服务器,利用多个计算机组成分布式计算机,当然,整个系统的复杂性增加,比如涉及服务治理,服务监控,服务的高可用。线程是操作系统能够运算和调度的最小单元,一个进程可以创建多个线程,每个线程可以并行执行多个任务,并行执行的线程的数量是由CPU的核心数量来决定的。硬件的组成CPU,网卡,带宽,磁盘,内存。

2024-08-27 08:59:07 912

原创 MybatisPlusGenerator自定义模板生成文件

本文章按照MybatisPlusGenerator规范,并自定义模版生成对应的Controller,IService,ServiceImpl,Entity,Mapper,Mapper.xml。

2024-08-27 08:50:29 1067

原创 yum安装Jenkins

yum安装Jenkins

2024-08-26 14:41:02 492

原创 开源Gitea搭建全流程

gitea搭建全流程

2024-08-26 14:34:53 583

Eclipse 工作流 activiti-designer离线安装包

1.内容包含了eclipse离线安装的activiti的离线安装包文件 2.现在的eclipse版本如果直接安装则可能出现错误,错误原因因为缺少了必要的jar包 3.内容里包含了离线安装时报错确实的jar包 4.离线安装教程可直接网上搜索即可

2024-08-27

空空如也

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

TA关注的人

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