1. 线程池与并发安全的关系 线程池的核心作用是管理和复用线程,它本身是线程安全的(如ThreadPoolExecutor的内部实现通过锁机制保证线程安全)。但线程池执行的任务逻辑如果涉及共享资源的访问,就可能引发并发问题。 关键点: 线程池只是提供执行环境,不负责任务内部的并发安全。 多个线程同时访问共享资源(如静态变量、成员变量)时,需手动保证…
参考答案:RabbitMQ 提供多种工作模式,核心区别在于交换机(Exchange)的类型和消息路由机制: 简单模式(Simple):直连交换机(Direct),一对一消息队列。 工作队列模式(Work Queues):多个消费者竞争同一队列的消息,实现负载均衡。 发布 / 订阅模式(Publish/Subscribe):扇形交换机(Fanout)…
一、JUC 包(java.util.concurrent) JUC 包是 Java 5 引入的并发工具包,提供了比synchronized更高级的并发功能: 1. 原子类(Atomic) 基于 CAS(Compare-and-Swap)实现无锁原子操作: java import java.util.concurrent.atomic.AtomicI…
一、SQL 基础语句 1. 数据定义语言(DDL) sql -- 创建数据库 CREATE DATABASE IF NOT EXISTS mydb; -- 使用数据库 USE mydb; -- 创建表 CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(5…
Bean 的生命周期详解 在 Spring 框架中,Bean 的生命周期是一个非常重要的概念。理解 Bean 的生命周期有助于我们更好地使用 Spring,包括如何初始化资源、如何清理资源以及如何自定义 Bean 的创建过程。 一、Bean 生命周期的核心阶段 Spring 容器中 Bean 的生命周期可以概括为以下几个主要阶段: 实例化:创建 B…
JVM 是 Java 程序的运行基础,理解其内部机制对于编写高效、稳定的 Java 代码至关重要。以下从四个方面深入解析 JVM 核心机制: JVM(Java Virtual Machine) 核心机制详解 JVM 是 Java 程序的运行基础,理解其内部机制对于编写高效、稳定的 Java 代码至关重要。以下从四个方面深入解析 JVM 核心机制: …
# 文件和目录操作 ls # 列出目录内容 cd # 切换目录 mkdir # 创建目录 rm # 删除文件或目录 cp # 复制文件或目录 mv # 移动或重命名文件 # 文件内容查看 cat # 查看文件内容 more # 分页查看文件内容 less # 与more类似,但功能更强大 grep # 在文件中搜索文本 # 权限管理 chmod #…
MQ

优势: 高内聚低耦合 问题: 优势二:“ ” 优势三: 相关概念: 1,工作模式(Work Queues): 首先写一个连接单元类: package com.hmdp.utils; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;…
Redis学习
随心记
基于session实现登录 ThreadLocal:定义 ThreadLocal是 Java 中的一个线程局部变量工具类,它为每个使用该变量的线程都提供一个独立的变量副本,每个线程都可以独立地改变自己的副本,而不会影响其他线程所对应的副本。可以把它类比成每个线程都有一个属于自己的“私人储物柜”,存放在里面的东西只有自己能访问和修改。 工作原理 数据…
被@Bean标注的方法是怎么被注册为一个bean的 在 Spring 框架中,被@Bean标注的方法会通过以下流程被注册为容器中的 bean: 1. 配置类解析阶段 ConfigurationClassPostProcessor:Spring 的BeanFactoryPostProcessor会扫描所有带有@Configuration或@Compo…