自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JUC并发】5. CAS乐观锁算法,一起来探索

CAS(Compare and Swap)算法,是一种非阻塞算法,用于实现多线程同步。它的原理是比较并交换,即先比较内存中的值是否与期望值相同,如果相同则更新为新值,否则不更新。在Java中,CAS算法被广泛应用于Atomic类中,如AtomicLong等。下面我们以为例,来详细介绍CAS算法的实现原理和使用方法。CAS算法是一种非阻塞算法,用于实现多线程同步。在Java中,CAS算法被广泛应用于Atomic类中,如AtomicLong等。

2023-05-17 11:45:00 167

原创 【JUC并发】4. atomic包各类原理详解,不容错过

包提供了一些基于CAS(Compare-and-Swap)算法的原子操作类,用于在多线程环境下进行原子操作,避免了使用等锁机制的开销和复杂性。以下是该包中一些常用的类及其实现原理。包提供了一些基于 CAS 算法的原子操作类,用于在多线程环境下进行原子操作。这些类的实现原理都是使用volatile修饰的基本类型变量或对象引用变量,同时使用 CAS 算法保证原子性。在使用这些原子操作类时,需要注意它们的线程安全性和使用方式。

2023-05-16 17:47:50 280

原创 【JUC并发】3. AQS不为认知的秘密!

AQS(AbstractQueuedSynchronizer)是JUC并发包中的一个核心类,它提供了一种实现同步器的框架,如Semaphore等都是基于AQS实现的。AQS的核心思想是维护一个双向链表,其中链表的每个节点都表示一个线程,线程通过竞争锁来加入到链表中,当锁被释放时,链表中的下一个线程可以获取到锁。同时,AQS还提供了Condition接口,用于实现等待/通知机制。AQS是JUC并发包中的一个核心类,它提供了一种实现同步器的框架,如Semaphore等都是基于AQS实现的。

2023-05-15 17:29:34 164

原创 【JUC并发】2. 不可不说的“锁”事,种类繁多,如何一一突破?

JUC 中常用的锁机制,不同的锁机制适用于不同的场景,开发人员应根据具体情况选择合适的锁机制。synchronized、ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier使用说明

2023-05-12 17:12:12 309

原创 【JUC并发】1. ThreadLocal 原理、源码详解

ThreadLocal是Java中的一个线程本地变量类,它提供了一种线程安全的方式来存储线程局部变量。ThreadLocal的原理是将数据存储在每个线程自己的内存空间中,不同线程之间的数据互不干扰。使用ThreadLocal时需要注意对象不能被共享,需要及时清除,初始值可以通过重写initialValue方法来设置。

2023-05-10 18:04:29 39

原创 如何安装Presto以及基于Presto实现Mysql跨库数据查询,详细实现步骤

1. 下载 Presto Server 包2. 解压缩3. 配置 Presto Servera. 进入 Presto Server 目录b. 创建配置文件c. 修改配置文件4. 启动 Presto Server5. 验证 Presto Server 是否启动成功a. 打开 Presto Web UI在浏览器中打开。b. 执行查询如果查询成功,说明 Presto Server 安装成功。

2023-05-09 10:02:34 859

原创 手把手教你如何定位服务内存溢出,来看这里

定位Java服务内存溢出问题需要使用多种方法和工具,包括设置JVM参数、分析堆内存转储文件和使用代码分析工具。通过这些方法和工具可以快速定位和解决内存溢出问题,提高服务的稳定性和可靠性。

2023-05-07 18:18:03 2771

原创 Spring Boot整合MySQL多数据源,这里有详细的代码,一看就会

本文介绍了Spring Boot如何整合MySQL多数据源,并提供了代码框架、配置类、配置文件、详细步骤说明和单元测试代码。在实际开发中,可以根据需要增加或删除数据源,只需要在中添加或删除数据源配置即可。

2023-05-06 18:03:50 1467

原创 Spring Boot整合RabbitMQ实现延时队列,满足订单延时支付需求

springboot 整合 rabbitmq 实现延时队列,满足订单延时支付需求。在编写完上述代码后,我们可以编写测试代码来验证延时队列的功能是否正常。在 RabbitMQ 中,可以通过设置消息的过期时间来实现延时队列。从输出中可以看出,我们成功地接收到了延时消息,延时队列的功能正常。方法发送了一条延时消息。在发送消息之前,我们可以通过。注解的方法来监听队列中的消息。在需要接收延时消息的地方,需要定义一个。在需要发送延时消息的地方,可以注入。

2023-05-06 11:30:00 615

原创 Doris架构原理介绍和Linux环境搭建

Doris是一个分布式的实时数据仓库,具有高可靠性、高性能、高扩展性等特点。它的架构基于Google的Dremel,支持列式存储和MPP查询引擎。Doris的安装和配置相对简单,适用于企业级数据仓库、实时分析和流式计算等场景。

2023-05-06 11:25:39 568

原创 Spring Boot 监听 MySQL Binlog 日志,实时同步数据到 MongoDB

以上就是使用 Debezium 监听 MySQL Binlog 日志,实时同步数据到 MongoDB 的实现方法。通过这种方式,我们可以实现数据的实时同步,方便我们进行数据分析和处理。

2023-05-05 20:30:00 2043

原创 【为什么越来越多的企业使用云计算】

随着信息技术的快速发展,越来越多的企业开始意识到传统的信息技术应用已经无法满足业务需求,同时也面临着诸多问题,比如高昂的成本、低效的管理和维护、安全性和可靠性等方面的挑战。而云计算作为一种新兴的信息技术应用模式,以其高效、灵活、安全和可靠的特点,逐渐成为企业信息化建设的首选方案。云计算作为一种新兴的信息技术应用模式,具有高效、灵活、安全和可靠的特点,已经成为企业信息化建设的首选方案。企业采用云计算可以降低成本、提高效率和灵活性、提升信息系统的安全性和可靠性、拥有更加丰富的应用和服务。

2023-05-05 18:02:40 41

原创 MySQL 分库分表原理和详细实现过程,看完就懂了

MySQL 分库分表是指将一张表的数据分散到多个库或多个表中,从而减轻单个数据库或表的压力,达到水平扩展的目的。MySQL 分库分表是一种常用的扩展数据库性能的方法,但是需要根据业务需求选择合适的分库分表策略,并且实现过程较为复杂,需要开发和维护成本。因此,在实际应用中需要权衡利弊,慎重选择。

2023-05-05 15:57:16 4142

原创 Redis分布式锁实现原理,代码实现,详细说明

以下是一个基于Redis实现分布式锁的代码框架,使用了AOP实现自动加锁和解锁。

2023-05-05 15:36:15 295

原创 Spring Boot整合Redis实现订阅发布功能,整理出来供初学者一起学习

以上就是Spring Boot整合Redis实现订阅发布功能的代码。

2023-04-28 11:45:00 323 1

原创 Spring Boot整合MongoDB监听oplog数据实时写入MySQL数据库

本文介绍了如何使用Spring Boot整合MongoDB监听oplog数据实时写入MySQL数据库,实现了MongoDB和MySQL之间的数据同步。

2023-04-27 19:30:00 679 1

原创 将Chat GPT接入到自己的Spring Boot项目中,你也可以实现AI交互轻松聊天啦

在您的Spring Boot应用程序中使用这些API Key和API Secret时,请将它们存储在您的应用程序配置文件中,并使用适当的库将它们传递给OpenAI API。首先需要到OpenAI官网注册账号并获取API Key和API Secret,这两个参数将用于获取访问令牌。1. 获取API Key和API Secret。是OpenAI Java SDK提供的请求和响应类,替换为你的API Key和API Secret即可。4. 创建Chat GPT服务。是OpenAI Java SDK提供的服务类,

2023-04-27 16:17:31 1779 1

原创 你不太了解的Java内存模型原理这里有

Java内存模型是Java虚拟机规范定义的一种抽象的概念模型,用于描述Java程序中各个线程之间的共享变量如何被访问和修改。JMM定义了一些规定来保证内存间交互操作的正确性,同时定义了Happens-Before等概念来描述操作之间的顺序关系。在实际开发中,开发人员需要根据具体情况选择合适的同步机制来保证程序的正确性和性能。

2023-04-27 15:05:40 87 1

idea 热部署 插件 jrebel 辅助文件

jrebel 辅助文件;使用说明:1. idea安装 热部署 jrebel 插件后,idea 会显示让激活该插件 2 下载该资源,直接在电脑执行 chmod 777 ./ReverseProxy_darwin_amd64 $bash ./ReverseProxy_darwin_amd64 ; 4 idea中随便输入邮箱等个人信息,就会自动激活jrebel插件

2023-05-26

空空如也

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

TA关注的人

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