logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

JUC 并发编程从入门到精通(超详细笔记 + 实战案例)

本文系统介绍了Java并发编程的核心概念与实践。主要内容包括:1)并发基础(进程/线程、并行/并发区别);2)Java线程创建与API操作;3)线程安全问题解决方案(synchronized、Lock);4)内存模型(JMM)与可见性问题;5)无锁编程(CAS、原子类);6)JUC工具类(线程池、并发集合、同步工具)。文章通过代码示例详细演示了各种并发场景的处理方式,并提供了烧水泡茶等实际案例。最

文章图片
#java#spring boot#后端 +2
JUC 中 synchronized 的底层实现原理解析——Monitor

本文深入解析了Java中的Monitor同步机制,主要包括:1. 核心概念:Monitor是对象级的同步工具,通过互斥锁和条件变量实现线程同步与协作,包含EntrySet、Owner、WaitSet等关键组件。2. 工作原理:详细描述了锁竞争流程(线程获取/释放锁)和线程协作流程(wait/notify机制),以及三种锁释放场景。3. 底层实现:分析对象头MarkWord与Monitor的关联,包

文章图片
#java#开发语言#c++ +2
Java 并发编程:synchronized 优化原理深度解析

摘要:本文深入解析Java中synchronized的优化机制与实现原理。synchronized通过Monitor机制实现线程同步,JVM采用三级锁优化策略(偏向锁、轻量级锁、重量级锁)来适应不同并发场景。文章详细介绍了各级锁的适用场景、实现原理及转换流程,并通过代码示例演示了锁消除和锁粗化等优化技术。最后给出实践建议:减少锁粒度、避免临界区耗时操作,根据并发强度选择合适的同步策略。研究表明,合

文章图片
#开发语言#java#jvm
ReentrantLock 学习笔记

摘要:ReentrantLock是Java并发包中的可重入独占锁,基于AQS实现,提供比synchronized更灵活的锁控制能力。核心特性包括可中断、超时获取、公平/非公平锁选择,以及多条件变量支持。主要API包含lock()/unlock()方法对、tryLock尝试获取锁、newCondition创建条件变量等。底层通过state变量记录重入次数,CLH队列管理等待线程。相比synchron

文章图片
#网络#数据库#java +3
JUC 并发编程:对可见性、有序性与 volatile的理解

Java多线程编程中,volatile关键字是解决可见性和有序性问题的轻量级同步机制。它能确保变量修改立即刷新到主内存,禁止指令重排序,但不保证原子性。典型应用包括状态标记位、DCL单例模式实现,以及配合原子类使用。相比synchronized,volatile更轻量但功能有限,适合仅需可见性保证的场景。正确使用volatile需要理解其底层通过内存屏障和happens-before规则实现的原理

#开发语言#java#spring +1
JUC 并发编程:不可变对象、享元模式与自定义连接池 学习笔记

本文系统阐述了不可变对象与享元模式在并发编程中的应用。首先详细解析了不可变对象的定义、线程安全原理及实现规范,重点介绍了保护性拷贝技术及其在JDK中的典型应用。其次深入探讨了享元模式的核心概念、设计原则和实现方法,包括在JUC中的实际应用案例。最后通过一个极简连接池的完整实现,展示了如何基于BlockingQueue等JUC组件构建线程安全的资源池,详细说明了连接获取、归还及关闭的核心流程。文章强

#享元模式#java
数据库查询优化

项目中如何做一些简单的配置来提高数据库的操作效率

#数据库#后端#spring boot +4
RPC框架容错机制深度解析

本文系统介绍了分布式系统中的容错机制,包括四种核心策略:快速失败(FailFast)、静默处理(FailSafe)、故障转移(FailOver)和服务降级(FailBack)。容错机制作为系统第二层防护,在重试失败后执行,与重试机制配合保障高可用性。文章详细分析了各策略的实现原理、适用场景及执行流程,阐述了容错机制如何通过SPI动态加载,并与负载均衡、服务发现等组件集成。最后提出了最佳实践建议,强

#开发语言#java#性能优化 +1
juc并发包中的happens-before 规则

Java内存模型中的happens-before关系定义了多线程环境下的可见性与有序性规则。主要包括八大核心规则:程序顺序规则保证单线程代码顺序执行;监视器锁规则确保锁释放前的修改对后续获取同一锁的线程可见;volatile变量规则保证volatile变量的写操作对后续读操作可见;线程启动和终止规则分别保证线程初始化和结束时的可见性;线程中断规则确保中断前的修改对中断处理代码可见;对象终结规则保证

#java#jvm#数据结构 +2
在项目中通过LangChain4j框架接入AI大模型

在java项目中如何接入AI大模型及其基本使用。

文章图片
#人工智能#java#spring boot
    共 14 条
  • 1
  • 2
  • 请选择